{"_id":"@solana/rpc-transport","_rev":"622-8183982e977b06a5e265c1427e818df2","name":"@solana/rpc-transport","dist-tags":{"latest":"0.0.0-experimental.0","experimental":"2.0.0-experimental.34c3228"},"versions":{"0.0.0-experimental.0":{"name":"@solana/rpc-transport","version":"0.0.0-experimental.0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@0.0.0-experimental.0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"448702b752b795463ce89443362b80f16d550176","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-0.0.0-experimental.0.tgz","fileCount":21,"integrity":"sha512-O/AIOcol0WdLn1AUU5PGhLONulV2XIXWW3VmvhODV0xOZrKt5ZhDspVMpAN0ydQEGK16Uh83lUkYrJTktpF/9Q==","signatures":[{"sig":"MEUCIGjq+1xrzJbYQQseeorJenQ0+peXWy+lb8LU2096hwVVAiEA0aP7yAmyNOAKMEhL7PO428H5iJ11bAdeSVrC4otRXCA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkI+moACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmogqA/6AjEaIBEuwLzOte/PnMY7SRhIgflkMWMLifuqVuTYwxaeoMjS\r\nlz14tqC35umAetAD6T6kQaHV0P83yNENgYnXUqfCx+u2PrgAsY5rdyEItcOn\r\nR8JGTEZ+ceuhUG404YyxUFSsRy5vAhYYDRtfrx4IX6S/KhIE7Dahe7krKnGb\r\nSu9P8NTqCn3phMRCe7Y28OrT7g9m1bqlPzrEpj+yp9WIIvTz1Bfjgm2pOdgE\r\nZbzJIrxKKngnx3q4gkPdNCOVQUlqkPo+8lkYfHpIr4+WXpJXcCwKqW8lmDn9\r\niHbQtQg8xjUFjwdu9VN1HCVEDqGhOwVb3cOGYFGg+eG5AY7a2VRpdGk5ulb/\r\ngHl4HoWQmskUwr3zBDSh5NXs4jY/Z7UHH4Y8x7VSfV9M6LeE/u0UZrAOdz4g\r\nFG0uKB7CbXPo63nslWEYmkHgoTrtqVNOxOkMWkT2mIcdYBkfBVlywuThKXuN\r\nUOlT83pvQOZl8/lzNTWoQliYSHb73eCk3SlKBdSDX7fIilv65v0KypIaYji/\r\n4H7SuJqW7nxojCUsSxZUJ/bWGcztOirC/5kJTanA5SbQ1TB9IQv8lGQpp4R4\r\nLR4vk32F+FTN2ECUT+5blVcZrq19ukS4GHzfqkQpCoqhOhExRf4w72s7lICu\r\nLnDOy1DubqCb9nzDOidlru4qcWZFEZhOrts=\r\n=nS2L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.0","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"^0.0.0-experimental.0","@solana/rpc-core":"^0.0.0-experimental.0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.5.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.27.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"workspace:*","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^4.9","@types/jest":"^29.5.0","test-config":"workspace:*","build-scripts":"workspace:*","jest-fetch-mock":"^3.0.3","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^1.1.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.43.0","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"^0.0.0-experimental.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^0.0.4","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_0.0.0-experimental.0_1680075176304_0.80410365908212","host":"s3://npm-registry-packages"}},"0.0.0-experimental.1":{"name":"@solana/rpc-transport","version":"0.0.0-experimental.1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@0.0.0-experimental.1","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6c69d9c9f5a653f2d82386c4162a0ce3de160365","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-0.0.0-experimental.1.tgz","fileCount":22,"integrity":"sha512-jAW4CVeMAyMWdw2gRMPPn7Dyiv4MhQGad3u3Kn/56y9UAXfnPdBNe6l3sW4yhWYGEnJAvN+L1N28f3Z1Dte0Nw==","signatures":[{"sig":"MEQCIHhjtE10IFelTqaqsA/A1hwMcqAgT8qh9xgw1tV0dHJrAiBXxjSwx/y7n2qqMqzFMJMe8d8iVLn6gykr8tuFMFC5hA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJGKXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodIQ/9HIkJoiTEty8YtTeevKn+QQHxve+7xQhsKSvBUXkeje1k/1K+\r\nKAdwcIhVpTPCDGkeNm+N0o453wQR/61szS2NANwXTaxwT1eOLUsk8F7GXboo\r\nHd/KXR8iJtrmXXVKd6JEfALGKBxUBtVy3zW9jzCJ3KJ7CXvqRp3JJurMKxpZ\r\nXSGZs50RDsAxNnHqOgasUAk3B80o2w+mDKZzjfmiUxidF8+UBkyn/3gkFRH/\r\nMkbM6xMgBTDGhEJW3ahRGd1ceQWvPxVjieumg0b60h0ycoTgQHBtef3DL+MB\r\ngaAnTgCCMUbEuZVXJmtLX5SIZvW/q9sTvlIzXQtOSR4P83VQRZ5t/zRGSGUL\r\n4KKu9UVHAsxXbvV5Eb5gA/Bjs1uBF/AnBb/nI0zZR1VuDub14q+TnjlMdXyP\r\nUvsMadtlYwGcSjlYfuNK7ST04sxX6x3pql84ck+zRXsY5Vprgz1QlsGR8TPi\r\nC8pwHe0vpDxGDTasYLqzN+dmaKAKNaJuBGCsCRzZ2GsFdakLSZv+azU+0bmT\r\n2cQ/8P9WEH85d+jo8xfXZeyizEQoDN9ZVdNSgqhc/TKnAN0oFeT0I4Q4PWc1\r\n6NRmBMmQXU/19Q3atMZ5QWm+NvVpsbA09nMBMqik+qjBC2dHUSC8KWxYnJAv\r\nfeQS/G4LWnOkLqrYoaEK32/PcyyW6eksOAg=\r\n=nq3N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-0.0.0-experimental.1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/01b89f51eb2e288365c8084f35671ec6/solana-rpc-transport-0.0.0-experimental.1.tgz","_integrity":"sha512-jAW4CVeMAyMWdw2gRMPPn7Dyiv4MhQGad3u3Kn/56y9UAXfnPdBNe6l3sW4yhWYGEnJAvN+L1N28f3Z1Dte0Nw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.0","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"^0.0.0-experimental.1","@solana/rpc-core":"^0.0.0-experimental.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.5.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.27.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^4.9","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^1.1.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.43.0","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^0.0.4","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_0.0.0-experimental.1_1680106135087_0.13704639243236127","host":"s3://npm-registry-packages"}},"0.0.0-experimental.2":{"name":"@solana/rpc-transport","version":"0.0.0-experimental.2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@0.0.0-experimental.2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4ae60a3ec8a50418c9378e518f8676f3affa0dd3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-0.0.0-experimental.2.tgz","fileCount":22,"integrity":"sha512-h28Zmf0YNLYQybs1BtRbtgy23PvERLBauYtfxROezRwsA1GFmi7eMAtwl0L5ih8/ZeqvAd2AzGDXryftseV+RA==","signatures":[{"sig":"MEYCIQD0L8vL255akzNBE4DEP8ivl0CrIBL9raNZbLlKj2Z3TQIhAJ83MT4IUX3Qln/2/U8JF7KZfBVVY+R0J3rHZT5Zz55d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJGKsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrvVRAAgDWDGuTm3/+QCyh5FAtmtrrsJL6lonxSR0o6ywBmBbxmXzzw\r\ns2ykiAsuW1BQOxNZZx3GIRYbja3+TSTrqzrheZFXBV546JHJ+XhedhYjT7wZ\r\nwCVU1JYiXnh1No2PrZJfZagqMeiOy3Dla2FuMoPgo8WxubgsiFw4rjXoFarG\r\n8lWorJrtVeEloCVWUtKVynCx/xwVuQMfhDblq1vpifD6GFD8w9Qfaz9HDJvn\r\nyo5THHtOiT43/G0T+ZfgruorSCwWjfK4GxFcposVC+mAyKGevh1qVu/cSJyH\r\nKEsdr7Wmke+bFz8WmRyiX3GxiRNJ2D6yvNnLxJ62Y/Y26t852GIlSKybc7kd\r\n90d2IulFvhJSGKwg94J0JZjIEl0tnofLBZF9aB4xzKEv1FFmVE39m/I7O1/x\r\nASNShRoLjcA4XoP/FzTy3xllvxKMwG7nprDoBxU55ntOAOZhtCPzld5Ub8R3\r\nGweBpFh7nhFSNglTPSB+fyRn7xfrwXW1Hz1XI8E+CNA76IWaG/iEJcexuVT3\r\ne33MZlddnElzb6JIQwu1v54INz0ZH0gzMEfahN6aIdantSVt9CYbvJ5Y5SOB\r\nfqTwIvgm623zakKFUn88Q8i6GK25Wg3CD0YJmv3zXXY0RB4s6lchQclkGW31\r\nj26m9JF4uTWhpoWIcdpl90WKuAzSSimOPUk=\r\n=EIwg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-0.0.0-experimental.2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/19ffbaf496aa68edc2dfe774c7efc571/solana-rpc-transport-0.0.0-experimental.2.tgz","_integrity":"sha512-h28Zmf0YNLYQybs1BtRbtgy23PvERLBauYtfxROezRwsA1GFmi7eMAtwl0L5ih8/ZeqvAd2AzGDXryftseV+RA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.0","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"^0.0.0-experimental.1","@solana/rpc-core":"^0.0.0-experimental.2"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.5.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.27.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^4.9","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^1.1.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.43.0","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^0.0.4","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_0.0.0-experimental.2_1680106156144_0.9814398550838039","host":"s3://npm-registry-packages"}},"2.0.0-experimental.093f058":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.093f058","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.093f058","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6def56725bb262bfb031c2e5741f02db072e6c92","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.093f058.tgz","fileCount":37,"integrity":"sha512-wC2g7GouiWyofebKvPun01bsCg1RejlOptCOdUZtn7Ah5OFjnPAfiRGa9RsrxsShi/rWOGdrcyygrHn9ZVEAvg==","signatures":[{"sig":"MEYCIQDhwmhgBZoWWd/i2/nR4h/DjU7wKFwY7j+MwB+7CXfDdgIhAOq65GQXDg1ewCvCu6xECVjaxaXqykP4Oipo5VzSmg2d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkK4AwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSzQ//W4Ctzi6a70yE35WZSSsi7mpw68YfWywviZfxhzxbCLWfMKB0\r\n9aQ3SUCmUnX2Qf/e8BwalNxHhwZldShMjYUKzXIr7iuPsk7UGbE89jdLZ9wK\r\nrgGEzbkW1z4pTjvec3BYRQ/Rq0DGoiR4lOrT2UbE9o4MtnB+zW6ehT2MH/Z1\r\n+z6O4r8EmerHPcYgNw1u5PUzbU8KgVKV/gN+GmQs+x95miDSnq5SBUGmlUY9\r\nAA8ZIc1+8AcoJfM/b+hUVJ1cClLOEDUwk/H0JsfGfldw/SMCIhrasvg2yWTr\r\nqLEMcAa38nlZ0mNTUF8qDBvNU7B68rCfia1GCnPQO5LWxSP+kqwqw8jTL5uH\r\nKhjyN8mQwRFj9ugJ6TlaMGzHjm25TjdtBlPqUaQKzqZ+bagpHIjyxamSfmLJ\r\nvUd81r4mgK7xQ4h0ibg+AWGuk+CKe7vAdvCyJP6RkLcGSrJ14QsNQdt21xXx\r\nwHRiz2M3E4ruSM4du5kCXAtBI9epC9lfSHNEFXz5d8PG0EywlqQNvzKN/NwG\r\nzSOe6pHEP7LOBjxAyK9HImKiUQWy4Xb+tsAGo0aq9RrSFA+/bYTkuvAdxgR/\r\nzU3dUfNAQ3P5tNPPdDKwND0nLm/gah2nRK57wK9/p76GBh/niZ2VKwhD1DsO\r\nFtVmlvngem2/TwPf6BTAkd4J2PSQKKd/UHs=\r\n=5MCr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.093f058.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/452ada9fd55eabafe9e7767b14a0859f/solana-rpc-transport-2.0.0-experimental.093f058.tgz","_integrity":"sha512-wC2g7GouiWyofebKvPun01bsCg1RejlOptCOdUZtn7Ah5OFjnPAfiRGa9RsrxsShi/rWOGdrcyygrHn9ZVEAvg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.0","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.093f058","@solana/rpc-core":"2.0.0-experimental.093f058"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.27.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^4.9","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.43.0","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^0.0.4","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.093f058_1680572464544_0.9406614591359936","host":"s3://npm-registry-packages"}},"2.0.0-experimental.044c967":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.044c967","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.044c967","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e2dbe3adef5555b467bbcdee575c6caf5960057b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.044c967.tgz","fileCount":37,"integrity":"sha512-BNtrre3bfDjsZoTFAN2BfvrA2URJSMhF9nRyi2iUEnHq1wOuy9KmpZPcJnw9RsjyXMk1yYqIPCsM4/SbTol8Eg==","signatures":[{"sig":"MEUCIQDUixArNMXzi/LUuK4q5gnIHEU+YJam1NhP+h4GHend5AIgFg26njAE87cJ9PHhUSFPv2vnjDgkRAwA1MSltNFBQmk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkK4KVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpV0A/+PtnjxCGRZBgGrTZ9rAbouBvK8jEtq6eWO7tiyGQ97T7k6wQA\r\nn/Ufo2Qm9Jsq6fmD2bN6yaSQYSs3t1QQc0mCv3D5IbmaLJ5Hw6V88f3FAF74\r\ntBaYkkIKwMBfwszU2q51+PfV+NZmbxQ03R1kMhgzsC4K5/6jo/cMFXSNyaFw\r\n28IPfuhcITbYeas0im7n2NcWISFsjkeOl5wgsjzNWndW8mPNVnJbduktZzQ1\r\nrhhZ6OtNZgkj0F66RpK4la/WFbaNH8vhtV1vLd16SpBTQv3ursPm42Cgms/k\r\nRrnJAvpiNi1J9ln41o5JnhE5/WsOFLuh5QUjMAadZPCDHuhutAFejpykHvFQ\r\nQyz4bh0328LbVZq1Qs8fUXTPs8+qHMbkBPoZrYpAwGRdNdiwNZcp9o98+FmP\r\n3dD56uNmkqcjQI48nUWbi4Gq8YjtuQ7rhy0w6qmAOf7EQWgi6tWlkoDtvYFx\r\n72j+r+Pqcq0hF2D1+Dlj9rQfXN281SWOFun2x8IB8ireA2FJDnkjRpZsmgre\r\n0EEEolXBIU4FiMgu/yS/jevJf39/pnm8LUWp/nUwk7SSlrG9hDwUt4LNZClr\r\nKdiaWGF+3H2M8b8FFY9TB/SIxTyzdd9OnwvNCY0N5SkbY/DgIDwpdr1gFitA\r\n/GNsZ9ZM3iQMUnFlEGfpT63okBj4sOAo8fE=\r\n=N6wN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.044c967.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/285121e2be50e19b647df40592a2b86f/solana-rpc-transport-2.0.0-experimental.044c967.tgz","_integrity":"sha512-BNtrre3bfDjsZoTFAN2BfvrA2URJSMhF9nRyi2iUEnHq1wOuy9KmpZPcJnw9RsjyXMk1yYqIPCsM4/SbTol8Eg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.044c967","@solana/rpc-core":"2.0.0-experimental.044c967"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.27.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^4.9","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.43.0","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^0.0.4","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.044c967_1680573077719_0.5372386880787623","host":"s3://npm-registry-packages"}},"2.0.0-experimental.149244b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.149244b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.149244b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"03ae83dce22411bbab025f04db6e17d409056929","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.149244b.tgz","fileCount":37,"integrity":"sha512-3ae9k8ZGqemAu9NYZhxtRNWq8WYEEEorcHki5yu2yqydqkfnCiWcArlkL9f5XbULyqNoG3FzuFmX4qE/HEhk5g==","signatures":[{"sig":"MEUCIFVxgHK652iCUCApXfogviMm1gyAy8CE94qz1vnbrlt+AiEA90yenqoQmoH9kutIzJzyjvWnEbZwXwDsNgyjj/PsdgE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkK6h1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9iQ//W13wIRzt+BKKRTxfjDR+Gcr5suwwVfbmiqFHny30/+TgK8Ll\r\nVA2T20aq6G4lvt0oxerTkdLF5KpdqlaofM8hjt9Hm9+nIWT4jtdeagVOlquH\r\nalTCssBVUCGdZ9TmV+3fthsxsPYYZ4F7EQgfeal7xA8WuuSSVNTqAQT+pH50\r\n0ohc6Zni0YBuNdlcBBEyAXrU0Wsy+D2xW3VjtcHTArIZYOTUN9vE30Znf+Tl\r\n96RpDlU67W+Jhu5ovB8piELRyNsmv8mWTjsNTF8Pwcjvxw93fJCmUhis4qU8\r\nxr/awjeARfiZ3nqQAFjSgh6NwmmH6P5eud89Qpau1XGZxKWolC/e2vZD2c8G\r\nHvuQuZowlByjpj+vy4qn6VQGprcxAae+3Im1Yt7Ewd7458BydsgJT8zahprf\r\nigTJi9WYy/zrRHe83eTE5qXZ/HC2SUpc1XwuQ5pCeHpy8WULTJD8QdIuqy3P\r\nyL8G/V73ZEz6kQn8bqdt0BjtzI8GWjJXoKM1kxJ4MWO3BnsrQ5H0zL0pPXFb\r\nQQXh5FJ969nA4OeQXmDix3AnHfdmbtKJxWbiZX8T4W6FhWQnBK6SLJYrBkQp\r\nGbQeZrBNFN9t5QCjasdjelIfStV+dhaMua7ljZzMSUNfMM+bO3rw5GoSebX0\r\nWCXHfwU97QKMLnVIEjNy3aOF2JvSV5rPEyQ=\r\n=Hirg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.149244b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/917a1841a364a131ef754c1e7d825a48/solana-rpc-transport-2.0.0-experimental.149244b.tgz","_integrity":"sha512-3ae9k8ZGqemAu9NYZhxtRNWq8WYEEEorcHki5yu2yqydqkfnCiWcArlkL9f5XbULyqNoG3FzuFmX4qE/HEhk5g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.149244b","@solana/rpc-core":"2.0.0-experimental.149244b"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.27.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^4.9","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.43.0","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^0.0.4","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.149244b_1680582772975_0.3995024271660981","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c64b6e4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c64b6e4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c64b6e4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6a9f5aba01cfe23e41f8c0e49ecba12fe7eac1ef","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c64b6e4.tgz","fileCount":37,"integrity":"sha512-Ba4rDIRxoZ6NgYFHaGIQqjMvyyBhBuj2PdFl/li16X4+YKoxd5ffgY20podRITivI2rg8u7ekuqwxE3HXMjyLg==","signatures":[{"sig":"MEYCIQDK6Q+sTKi1cdKJz6ibps6rYU4kMsFCFjYrmn5RN8ldZwIhAIPIAAQuiV2T4PuVrikilfQTinpvgTwwrE0uf0xdqKja","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkK8LOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrsOA//YUfoXS1OkvZsNfNlB65gmRUKJE2rhyRacQqEcVze2NIWDer5\r\n6MYHD9vyDMxaZA9JiVRgmhq+fO5xAVJd7DuEMsUB8+h2C6rAOKVbwIb4DcVV\r\ngZwbBpXH2k6eEWidc2tnHdVmqw/8jpJUs97XVNF9DV1zXRNLciy0KQpCZIIF\r\nzO+Rp/2ftxS4ax97xDeN38wXi1G7hm+lqDVklqSxGw0iMlIw4vfgo22plflS\r\niMPey1QMaf+zVHx6Rt5Kn9nb747SqFUsKSd6DRqwMH+NRa19MLLjs68r4Z5t\r\nbL9zoVcKRMwDjvO0Hwp2y8Zs3qSFJpH9m0HvyUdbs2nx0eGrcXBm/BeWXu3P\r\nSJDf+Q8xOlFN2O84YH1OMxI4/idH5k2vKAP+dLhwpMN0J1oMldLUTc1JI0Dh\r\nhg/uHcAnxE8OmVL3KaVxRIfuPxar8iw0bhhD67xnIpnwise4xvx3z/Dw1LY5\r\nYU4Nd5kILMUkivPLqbGqA0LvxEDC7Io989idEfZ//7/exL/5sj343tkl6qJ1\r\nC6LwupgkZzuDuhd+DIOblk3AHYNei1Hf2PBsDPnYNnI+7XVSjkuyOzsTPPnr\r\nIeVs+un6AeGHad6O8eqxIXBS7SWRjB17e5XgRpA822phvWoM/b9n+BFxDMuY\r\nxEOiuTfvOr9Ao3MtDsgyVkZXAihARfQJwyk=\r\n=doKt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c64b6e4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9ab21e06ed47f58b5bdd09eb1defa01f/solana-rpc-transport-2.0.0-experimental.c64b6e4.tgz","_integrity":"sha512-Ba4rDIRxoZ6NgYFHaGIQqjMvyyBhBuj2PdFl/li16X4+YKoxd5ffgY20podRITivI2rg8u7ekuqwxE3HXMjyLg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.c64b6e4","@solana/rpc-core":"2.0.0-experimental.c64b6e4"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.27.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^4.9","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.43.0","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^0.0.4","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c64b6e4_1680589518650_0.46176086917804526","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cf4231e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cf4231e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cf4231e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5ddaae5a011082327f4d53f041b7b1f1b46a55fd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cf4231e.tgz","fileCount":37,"integrity":"sha512-V/MQc3aOvSH4mGIRkzMMkQXSriHpgdNdQT07wxaRIOLgYntfuyxyA6dp6hp5UGPCMADDgOQLS/rGFhqfJI6ncw==","signatures":[{"sig":"MEYCIQDAG9kegX9Sort9e3nqeAqxSUpVPeYGs6gqNKVMWndbAwIhAOC/+6dxiJsPKNY7IA1ROmFmUhbxUmzC+MqEX8oM84Yi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLIf9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocwQ//bOYnG1xDw/Tg5m4WcDBZH4qDQYvt2S5CYJeko2KN5APvKj21\r\naLhEKjReblru+qngSPeaPJ3ZYagGCuYY58GYHdvbH7cMSbyMFrgdEsB7Ism+\r\npkFwM4klumW1agrvEix3SY74XIDcESxt6vKDFmb0EpB1prm53Wm/eyPjW0Ty\r\nvztGkK9Ah4atVxUvCmQMhBwuR4hxel/ANevh/4Au1PuS4WezodiRWS18pplB\r\nyB6B/fbZ7ZuXRIoK/E1o/vSAb/xhd2n874Bq7nlzJh8GRavWNdfBZ6qYeR96\r\n5iu8qanw4G8DkzlXryq6bC3PnjPv1eiG18Gs74AYzs3LkmRdrLNbCNugAP/3\r\nSRDSuaZpctwUQH6vk0cVm27uQKe9MnPOIwWJtWqwLmXK6yi3t2JU88F7vO25\r\n5GOi1VQAz05zV7Y2qhoEr1Qh8yaxTZWLZH+uVkpNpHsCj3Dd4cDun65yPlTj\r\nnF2U0HHwZBRhcEDy4MfzG0N/ZUFTOTcz9OXs90NuWUcoCfPhV1uRcdmkQQXL\r\nwN6EF7bmEIJh27S4MKyGo+AwjMCVl4hCdhSxOJLU82s17LHYH0DnaWosimPR\r\n/GCZqlt3Dt9LMnG2uJ6vNyJaIu9SWO77K2hxI58FCBqrzBXdfhF726BIwks6\r\nof3Nk/uL/k7iStW4S4xb7IE/buySWDP04M4=\r\n=JBco\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cf4231e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/36ffb11bcc2597188e229279a9d8f3e0/solana-rpc-transport-2.0.0-experimental.cf4231e.tgz","_integrity":"sha512-V/MQc3aOvSH4mGIRkzMMkQXSriHpgdNdQT07wxaRIOLgYntfuyxyA6dp6hp5UGPCMADDgOQLS/rGFhqfJI6ncw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.cf4231e","@solana/rpc-core":"2.0.0-experimental.cf4231e"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.27.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^4.9","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.43.0","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^0.0.4","@typescript-eslint/eslint-plugin":"^5.43.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cf4231e_1680639996886_0.8151886289362176","host":"s3://npm-registry-packages"}},"2.0.0-experimental.feb03f8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.feb03f8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.feb03f8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9b6dc524e326a42bd6b8e81b7cc538ac9d8f8985","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.feb03f8.tgz","fileCount":37,"integrity":"sha512-qo3k9bfCm2XUhkaBbvHSA+pc79YcydQelx+eUmsu0/x0zJ/zbRAX+n5bj4dZS3UNgmOlKLQBckNVCHZ/mmlLqA==","signatures":[{"sig":"MEUCIG6DgCJ/L9sRGzhswcePEKgCABempQG37FBPhI5lfpX+AiEAiSUv7TAVnFuSSpsNQLvAVEiR0rZg795Kwq2nKRl3SHI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLIusACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpU6Q//ZtlaYG7qI4QGWU0xRb/jWss3zfTu0NzgFIeajcLmkWOO1HEU\r\nBot84nPsWq6OtBAaBZ+ui1g+84mMjRxfIjlk8ubJPCnS96zgWKkx7ZDJuwPV\r\nMI9M7LTvZsOjyRgazvoX3lPcXb86QWTnqms3cZ7kQxS9sQ+uJTVXqTNvPBoA\r\n6OuBrnzgEvwgyz/axB+G2gAYuqT7jA8d0hvWf1zh8ALXFh8TqxQ+zfWP7A94\r\n1ZogsGQJYRA45ftk5rZeBJjX8PI04HOMk9uwUoLdnTROHwtAGZwq9kMN20Il\r\nSs0wOeMAZYQKFX5xnMzWSFeXokwkIWO0UuCRxDclz2TwJaM7zfbJJdCwy+Np\r\nfz2KQAjSShUZItg/1O4UE7pLT/1bP3X4WZ5/xbP9JLmFLRXuWRtjX9WpFYpu\r\nXtimjchfa24o2vRoFwF+mgBv6up2vTyU3A0hK932N1aeqQDtbsvcOoR/paRB\r\n4+pXd+DnIpiPQK+HRsA0PyN1x2WHFNH+UYDawvDXCAzSOu8xiXjCsjbu0MoM\r\n6nPFkcu/9UN4PnLwLA0Me/ZzxutcwB9Jm+a3I5bef6h03wmxHKPGrwWDerd7\r\nQ2DbsI0RUdFt9W3YTKxeWA7dIuXAtLFKpdQd50f4ETUPZsB/FDm0ap1LC+n2\r\ne+esWJC8k7JY3BtDwXQ7wtc5YIiXQ1hgDjA=\r\n=L4gp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.feb03f8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a9f246f603598401a405891e819cb0ee/solana-rpc-transport-2.0.0-experimental.feb03f8.tgz","_integrity":"sha512-qo3k9bfCm2XUhkaBbvHSA+pc79YcydQelx+eUmsu0/x0zJ/zbRAX+n5bj4dZS3UNgmOlKLQBckNVCHZ/mmlLqA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.feb03f8","@solana/rpc-core":"2.0.0-experimental.feb03f8"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^2.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.feb03f8_1680640939916_0.30549988115247917","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ca22964":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ca22964","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ca22964","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ec1d9912fe1a8c05248cc9489ac775f51097b172","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ca22964.tgz","fileCount":37,"integrity":"sha512-zuo4NsEZOg8Fnljaw80RTzr7gK3njuytPl19RPcUVYFlwLft+EJzIitpK5voHQduo9KvyXWaEGspxHT1/rK6GQ==","signatures":[{"sig":"MEUCIG9o1j+yN46f0+QjG7xB0GLnrrw7u39NDO+ivVJYFa9EAiEAiNL4+rcU1lThwJXqFqiDUBJKFoQ9D4/EosKEACAph/8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLI4IACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoghg/+LKtaVMs30EOZZiZa0fRKcnQaAE1LCqpxc8LKeaTX2Lv51sgl\r\nWIiJ9LqVI24brO3++8HegGJB2ojf9yRjmOh+vJcJNRj0JE3HJrmc+Nj5xros\r\ncdDKmxhZ7sA6rFkQ4UIniWbknChue46yEDAq87he2hTmjfYuPgvmdpJxqCeO\r\n7BAfsIajYzAiGFDxzhxWhz2x7jsm+upQDFCkpAp+WTAJn14uHUeglYxls/IS\r\nNiY9A7rUdetYp5ubKKBmqkUdjPGUSN+yvJ5QxEFoQRcm8jWFmAxEV0DNsER+\r\no8qgAaH027k+1prjd/Oh+gh8b6My2SoboMKdtx1rCj+cvJ6W5joRi20F2YBb\r\nmqJvdaDVxBZytdy2E8baRQCyJyKIqBiKXYb7EiFTxKWqZmmCZl0rNgTjpdwJ\r\nZaQx52mhe7PwWdB9PAp28lBhdO61kPWZYS0fsE89+nCVp0cMb0mQtLhov2Lo\r\nbYOVBfv4YxKXDwVdmpB2D2EO2B8IkXZD5eSzvjnHCMFDPEyTB8WvagGBDC+S\r\n/feFSDqSOLHeTuDg3azdDp/OZ/Ko7ZQnj21qKCZTnb5egsozr9kKLjMYwlMg\r\n4hFMwocAZ0DNDBanC02L59ibwG/eQjwA9jmx8K7GJmJFLv2QyY36fE/176hU\r\nbRW3NgF26MM/VAHLTGwudbnxPjKfbri0eug=\r\n=vcTQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ca22964.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/bf288f7c0b263d621e422724678dc2a2/solana-rpc-transport-2.0.0-experimental.ca22964.tgz","_integrity":"sha512-zuo4NsEZOg8Fnljaw80RTzr7gK3njuytPl19RPcUVYFlwLft+EJzIitpK5voHQduo9KvyXWaEGspxHT1/rK6GQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.ca22964","@solana/rpc-core":"2.0.0-experimental.ca22964"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ca22964_1680641544025_0.1908133136293917","host":"s3://npm-registry-packages"}},"2.0.0-experimental.732dc1e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.732dc1e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.732dc1e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8e7798daaecae135059d73f6a1e2d6fb209efff6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.732dc1e.tgz","fileCount":37,"integrity":"sha512-3bWxNALvgjjRfapM25E9VxJ8cbdq8vwi2DwTiAPyoWlUYJwd37GHqhUYMSB0E8jPBrGy+3s6f5n2PhsXgC6D4A==","signatures":[{"sig":"MEUCIESmKWyT7QFDkkxDnjBoCzg1DNl56ygGE82tjC0WG4GCAiEApr4MlH+hLEtIaSifG8fxyRFgUE7N63wm+/xkkFknUeM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLKhpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBMA//ShkRDL3jo7xpIFpskF8OHDUXYAYeX8sgWunE3Y4X96it+L1/\r\nV/uHTHeqlUjYZ2j8hPlELMjPbAoyO/Awv6dx//saSKIbVomKd+xwYiVOEYMi\r\nlxsyBVEULf9btT9XLUe5XePzGUuu1YERzTmJG4fnIto6HwLdQoqy0SfGtdQX\r\nAYxPRoyQkcy1+G6snJu5lnkiPmS1BFbevqWQyW325oJO+ht3V0gP7VQPT6Uh\r\nzhLiuqJ5dHMSlUCBw/bCkvGDql5gdOqDOCMRK8HEU9t4HpYpIdPmyYpa1daT\r\nzExAnCQXLQJ/+Dyi75I+MZCw1aoFk3t4/OKVsGqH3Ospc3TP3lZ5YoqkL9sq\r\nhVztEjJ2uSAQX2KAEoxHMLM/rZ0hlYmO3+i1gD4TnAUeXOhl6Q2V5ub9Vlm4\r\nyG3cVg2NxG6DjhTwIKEk+ZNVFt8koqq2hrLj1SiqPk5+IZyEZeDRVxPOly3L\r\nAHPsmTYI8wtF3BBIajCjonAo5XH/ZM4KsIsFOzvuLKz5ZvHbGuK1Wugg4L7J\r\nWGGDmQe0cf/BiyGebn94UXoPI2pyy/tJAADxG309dc+S+sVriZTi137Tm2OC\r\nyrKqCJEemsy0QZy56A6a1DMffxiuC/bzh/lCoHmvLFc9yVRvb4MFl9QwGMv1\r\nUPcCXOv6YUrFiwiV5uLJbI49h19+WsTekYk=\r\n=c240\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.732dc1e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9ce47ac029805580ea9cf958715b0527/solana-rpc-transport-2.0.0-experimental.732dc1e.tgz","_integrity":"sha512-3bWxNALvgjjRfapM25E9VxJ8cbdq8vwi2DwTiAPyoWlUYJwd37GHqhUYMSB0E8jPBrGy+3s6f5n2PhsXgC6D4A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.732dc1e","@solana/rpc-core":"2.0.0-experimental.732dc1e"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.732dc1e_1680648297302_0.22745457723208418","host":"s3://npm-registry-packages"}},"2.0.0-experimental.56d3a22":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.56d3a22","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.56d3a22","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3cd9781e112e5f11e8a23fc1776d831b06264c5a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.56d3a22.tgz","fileCount":37,"integrity":"sha512-TaKgaoACII7hL31qEcZF1AxeOEuTeyN4ilXfwV7Ah5pwvAwIvmRWi0IX/bQDdAAvbOkMQjkReIUwIm/QJx0vlA==","signatures":[{"sig":"MEYCIQCYjbil5OKkNXdDNCHuSgaxw0hfCchVPUF7lEE7Ih8cGAIhAID6Q6e55qPJaD1NoVPBYxAHWCKBL92Wyp4WRWKJ9kfi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLa4WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqI0A//bdeyWVxvlVHm6nhItOCeywx7D5cLFpUf2Gif96xqBwQiUnjY\r\nzgR3j9MzjSqDyaz1LL2K4QNLs++VoHO6auiv3N4p4d152uTQR8OS0ZwGaLHt\r\nOEETookibhTBOLvoH+c85GqiPJQGbTxKpPkhXetSSd+sIbL9+si1g9sLEnTM\r\nZsC4lmhmfno7kT0eBn2t/DbHwrtULD5g9j/rRg2N2I2GhBfd9E7WsJwemxKq\r\nvBkBizE1HmwoXON7NEvY2If/ss0OL06AIGNgMvAZFFToQk20FbueMvHQDMx1\r\n78f1Ap3s/MwSxkpZ8Kma97Swy0m1VVfBHebBIu7iWIhLQ/bYQt4wPyvso6Nm\r\n6ReHTSE74H9vAIFe2/cXL46yGDiBkfXu4lzfRcNIg/s6xmkEFJmSwcy0MiYC\r\nDfiDmrfQUzpZsGSEaAkPoiIQU4QaKA5um2l7D5ASplqvEbPUmjgC/FpOyj/d\r\nMlpn8oV7Af2FVsi4eHJ7nSTpxRtIA9i+m1k0N7Go846x4MnHoXlppe2O3QPi\r\np6TCKXDdnwrP9WNUIvykO25TeRWqx+Tsfoo4Q4kNkRvmpiJSi1VKvC0bQeCb\r\nmZkj+8ocTl7ApzTemMbuJPIvbQpBqoe1vCIIdCWud3VJuy6NxxYlWNxsoFI0\r\nYS8c3fC+ixaDsIoyTFo9h9XdieklztXSsWw=\r\n=Mhyl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.56d3a22.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a9b155886b5fe65f4ed7a5a4b45527c4/solana-rpc-transport-2.0.0-experimental.56d3a22.tgz","_integrity":"sha512-TaKgaoACII7hL31qEcZF1AxeOEuTeyN4ilXfwV7Ah5pwvAwIvmRWi0IX/bQDdAAvbOkMQjkReIUwIm/QJx0vlA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.56d3a22","@solana/rpc-core":"2.0.0-experimental.56d3a22"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.56d3a22_1680715286255_0.9629991908483122","host":"s3://npm-registry-packages"}},"2.0.0-experimental.36b9cc0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.36b9cc0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.36b9cc0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5d332181473b382f399124f09b65f5d307249e8e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.36b9cc0.tgz","fileCount":37,"integrity":"sha512-9sam5rfaSgUAeCTRfWwFqdVzwM7jCM+WXUkIrHPELCdhcJ7JxDeXhWC2CIw9JCGc5X+wTeGKMn8BHIsxrcqjYg==","signatures":[{"sig":"MEMCH2+ddmOZ6USZv8Cwz6xhp6iEu1UzuyZJB+HvQVurnwsCIEWaorIfg15K6CDCaazJfzfmFFMzsOF/fegzL3YLYheD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":183965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLu5UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofzA/9HLNuFzm91JxZ6ydjFlssEnoNEmZVAKNFebdMo1kk/uuaOdBP\r\n1cHMIHmIIfc02CITQoQkAnHDQCAHZRlUF9Tl1LCtELBmVDvLYyPCcvQ4fPbO\r\nWqCe7TSZhEbOF5xIm5ZvHiVZxsVzAqT8CLzA2QihOKJJvgCDD5pVm+IWW3/g\r\nxoBN4QAXTd4fcbM48OSr7R+Lpc4VxK3Y+sU6w+kS7Zl9ArI6LXZ+pvC4vXMl\r\nmOaYLgTYPwUVmi6laURKjxAfBgg4cDcEC1tCfL530Yju0ZyfUpuT0dkFPubZ\r\neSah/ennFS3U3XsKAls0kstueEiMX+St+FFeuiSiXYYUCeWSnyuqfj85rnAs\r\nl0DVzz2uX1POCwdclENoE6eVtkDCmUFMMVHl4bzAIUBK9mEdrmi8hwRnq+7n\r\nocwunICqaolGK6VTt5K2hQo1MPKPGplK8cslKClBIMkBqahBG1fFxGcKSCiu\r\noB1tmQhXGpEvFOLpq9IAp/OtXI0ubuXpN2bb7X/ceomqBFERXfixgPmquTg8\r\n02T5oWViK1EucqmHfzRLbEf3lZ1FRbQXxVqLDicpkHgFP3HFfYxV3/pRv7cX\r\nMX/cmsBF8DxiQwlB95NXLkvHJOsgojrtE98SOVFpXIGr+0Al0OebzSb+6eCa\r\nFUQpRXQYNxed2YEfViICUGTacKZ8dprxsEc=\r\n=nM2p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.36b9cc0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --globalSetup test-config/test-validator-setup.js --globalTeardown test-config/test-validator-teardown.js --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2686ecc63181cfd698ed9707f99ab124/solana-rpc-transport-2.0.0-experimental.36b9cc0.tgz","_integrity":"sha512-9sam5rfaSgUAeCTRfWwFqdVzwM7jCM+WXUkIrHPELCdhcJ7JxDeXhWC2CIw9JCGc5X+wTeGKMn8BHIsxrcqjYg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.36b9cc0","@solana/rpc-core":"2.0.0-experimental.36b9cc0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.36b9cc0_1680797268145_0.25459431394662246","host":"s3://npm-registry-packages"}},"2.0.0-experimental.847f0a9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.847f0a9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.847f0a9","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"cf18e59719a4b1a2f8b6abffff2611922d517530","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.847f0a9.tgz","fileCount":29,"integrity":"sha512-nWX8qIp2zmVaLct19Xc05sL6DIM0gDI2qQMZ0OKeV/rznNoypqmdBOG0yk7rR/1aQ7P2DM5U1FiBiZjlN/dc5A==","signatures":[{"sig":"MEQCIE+4YYZQOE62ZvMtk4rRIe6VTYtxnXVqAg+uXi4tK5e1AiBTEzvaAgypF1wWD5Ul7LlB6X55r7dPWAGphWR8qccMxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkL2f8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0sxAAktu3JDEQTybvngp+GLU2yWZFgcFcTi0XCxzebOIjBHdoVzOY\r\nWBp9bi0N5NqrK621sWpCU9T4f+FCVDlN8edY5IvUfBt+kllnI6aYkdNQWA0h\r\nzqJB8399theZ7IptLTER1ZN4pRvQ6Iri0gY22OakF39X7r5jZbx7A6dLTiFe\r\nG7LsLQ2es0ur/k6Q2JARv5PwiHImXklJK6szOAW7errijQnEvxUmdqX91q1Z\r\nkhRwf7Mk+W3tFMpc+je83ZpaRJYiZmG2vFofD7zf68VCCgM86Ffyd6J9bLsj\r\nnfh09z4jufLnHnuT8MSkFLaQGVjbf54dR/xu6+r/FJWP7z4D3yFJvKnyGEVg\r\nXXQ8YTF7SBBbj7dBzi02F+zJ+AHhAPK2C5ltAZw/+xzBccc9opJd97JSO4z9\r\n0bKV02Fn5wFs/VKC1mddXCK3WnkxdiMA+BgmAtQwNsHDIYvM9CQIN3qnfXOl\r\nCmEfJw7TScX214CsUsalZP7xMUfR1X86ikNJdv8Hj/6XDCw8Jl3SaNZvKA7Q\r\nwdcRrZEcxzhvRVrRlYNeNXxHzBUSyIcqyBhNGwdOJjsnOEM6o8JpSlZIxebo\r\nfXk8JU06+V0ED1tsHLIyaOxuis3CN7Dzia3m9FaJNvYYP2naG78xC+jBFisM\r\n9EXlnGlEE7wFGxUEIusIDZDnM2iNkbGZ9fk=\r\n=DJ3K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.847f0a9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/fc135b919242c9d8e138b510b43f74a1/solana-rpc-transport-2.0.0-experimental.847f0a9.tgz","_integrity":"sha512-nWX8qIp2zmVaLct19Xc05sL6DIM0gDI2qQMZ0OKeV/rznNoypqmdBOG0yk7rR/1aQ7P2DM5U1FiBiZjlN/dc5A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.847f0a9"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.847f0a9_1680828412014_0.08262002936134571","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f10010c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f10010c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f10010c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a79f3f3f1ed1eb7ede9a2798542db226b7bdcccb","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f10010c.tgz","fileCount":29,"integrity":"sha512-piFB7fyAlDVH1mR+ApmXs1H27r9B/3sxxvKupBHT2PM1LxOL/m2IKjw42Z5KRDs0Hd4QKPGjsFPAD9TjfhmzvA==","signatures":[{"sig":"MEUCIQDu5cr/JyudInm64goI0Bqx3jpAlZa/G7DqoEIxLzLP9wIgJWWoRUpzFWDacTUg1jG6aOLa5h+TBLbd6RTU6MSQsxQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNaYkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7qw//dyJvQrRsrqus/tij5QgtSfod/M8M0Dx0269kmzRHUlvBm6/C\r\nhPZU8lAKLevfiLTUPhtgO89tV/u4XfOUEl+DcBoEl/+i01dmWuYsAt0NmGa5\r\nbOyXAZFJroVET+q5ZLovRn3/Gi64KEkbom9BEA+piBTInFOV64DT/lh2osZz\r\najYIazlNvNbUJVoib5gPbqT976AItlUfy8nRKW/jUAPvXUT92STBQuF62juc\r\nupLZDswM/skyhSKMr6YMw+FxaMIjB7X+DDMB4zNIiOpY9B2DeUmmkmvintsr\r\n3L2+zyV6IZPPkUkzbyEjqkg0fZXb+YaoXgMZ3YCeeTgNW0Jod6/92toBQbrR\r\nyJ/mKRqfgkCifxaact7ta9Q8QSNf1jx1mN45v9rBURRWXp5rS+kMlsqwozI+\r\nWBRO2+8II5w1HqPKSigxBpSxTtNXqFQltRM3hQ2BH5sVb4+KRfEQpNJ1pe7j\r\nkDPkj5mgRnsAvmGBI7rC+ucTJ5J38ohEP1+7jIJ4vqDQvW6zwgM37xkC+P8t\r\nVEqiBGzKZSFQHTGeS7tRCXyeH8A+eYtNvYTB1VUvoxY1+yzSE7j0mviww489\r\n7MJy+ZPQRS+hJMTdp67OI5Q167JIJ+LZGtUr8NTe03i5jKWrK+RuFxhWONoS\r\nviqb1j3x/gOIBoTv4TIPoXOwCnhOaWjbnZ4=\r\n=fyod\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f10010c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/77a63928db93c60b7a46ad5e2b153dab/solana-rpc-transport-2.0.0-experimental.f10010c.tgz","_integrity":"sha512-piFB7fyAlDVH1mR+ApmXs1H27r9B/3sxxvKupBHT2PM1LxOL/m2IKjw42Z5KRDs0Hd4QKPGjsFPAD9TjfhmzvA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.f10010c"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","@solana/fetch-impl-browser":"0.0.0-development","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f10010c_1681237539896_0.6358085019047315","host":"s3://npm-registry-packages"}},"2.0.0-experimental.dccb97c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.dccb97c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.dccb97c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9f1de194d28744caabb11ad9b28912122f4f543d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.dccb97c.tgz","fileCount":29,"integrity":"sha512-tx65N1Af23YtfYbaHZVX5746rlwtnjWuQp+yf01ZyvGsBJCzoKXzdaD8nmQPVd9LmdtSMWKg4wTw44wHkTymlA==","signatures":[{"sig":"MEUCIDdxWRGzgtkG0SGvz8mBEmhTJDbhgH8/nscNcR2zzzM7AiEAjMLG+0Orj9aeDGJiwbp9y7CfvgG9HkbMjq8eBh07bOE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNkJsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLchAAlAedLQwoPeuqmDViocK/8F76r67XLNmLm1+YBc3yRA3KGvuq\r\niJKeyZ4XNSwUQK8OSs3EKCQoN3YWe5JM6bQ6fhFu44jcAUNu03/W04Jt0t1n\r\nlYoS+nVTk2VmQXcPBb70mSHgCh64HiBc2K9yeWtPi8VvIAQOeY45uTOQhXXH\r\nWrSqHxldIlUpPu5EwhTkynICNOJjq3mCmElViryqG8tjjOQWfEwvS9jC62bO\r\nMx3EhL8qKanQyg7ThqlCQej4ifD043mXb4F6hm9YI1aNZVXnpaZfWulzHSTK\r\nnwK5MU/dfx5DpTSBPqObQgWYa+yaHHFxsrhOanmY2xGPYju+erc5jKVbsu4W\r\nCEqPXDolbDMzLrIx7RvI3+jlnal9WtnBgRxxwG/G1P5pzvuhiFRfRPELts1e\r\nJNSMosAQqbrYi+xNnUECSWI3hbvoCO+vikFa3WnukgTqlZUwFkrJa2cgmApn\r\nhD8O6HOw8j46vC5pozgWIzVWkqFKy2QK1+Q6cDVKOmJaG3TR3QuPMflNFZKO\r\nI0mSPsLA5CzdUX/cDKF56LW5lZFGF78zX4LkEmPE0j3SiEo/0ddbTJeB9Sgy\r\nJpLwkmsKeAgOQg984X8e7yEo6q26Kq9tmuhuEXsw771yJZyLs5r8FzjLm5Nk\r\nEu8H6NyeOEi62xGPWq+f5x76MFEsUcnpjxQ=\r\n=9t2C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.dccb97c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/bae5f3de28f566d7797f973eb0790835/solana-rpc-transport-2.0.0-experimental.dccb97c.tgz","_integrity":"sha512-tx65N1Af23YtfYbaHZVX5746rlwtnjWuQp+yf01ZyvGsBJCzoKXzdaD8nmQPVd9LmdtSMWKg4wTw44wHkTymlA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.dccb97c","fetch-impl-browser":"0.0.0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.dccb97c_1681277548590_0.2992568412604659","host":"s3://npm-registry-packages"}},"2.0.0-experimental.680e3ef":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.680e3ef","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.680e3ef","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c2a6b270283a41a41643a237d4c6996a6cb46cec","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.680e3ef.tgz","fileCount":29,"integrity":"sha512-S+TKoLED5vwTfDxqbOBV/73bQsOwVVBGZ78u1dULYk7CW1DHsqIpu3TQRFmYUnBdAQYFmlR+iw5K0DriYGBL1w==","signatures":[{"sig":"MEUCIDMZvQlb3y4ek39bpUDIh5QnAEJziNalc+yCkIbNj2wnAiEAzZAcX/j7nyNkLV8JaLiwdjJeP+zaOliQ0UEYzLtsmPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNkKIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8Yw/+KYpvC+4YsGXvD/BWi02ht7nFCiJs0EvE8YxM03hDisdIXKXd\r\nOXWUbi5k/3I4KkPugQjpHxfxgJ8QFI24XbC/ep11mylQCG/90t88/y0ROgrh\r\nPPZFPFv3MsPeH7F3xCPgHekxG/ZTXG0MPr6X8igwb+6yoY+7QGXgHmq3PV+i\r\nchxeIMumuAQvTqtohvHpw1noROQDDyf9DdqImtt1enOlPlzXpbtDCyWmkVH+\r\nXLp0pDHnDldCVxz9Fim2xCvrTlwMQo/RH2zjVQOWzQJGBRpYRvxFsHp+sVy9\r\nGg6U7boIbRstE1pCr7U/S4mfLshXc5M3J5Wjc/nGxtFs6Ga1+0LXrS83dh2d\r\npdORDvusUWlfKK9YCPnUhwrdEVJ9iwpmgCCBhD2lIFshtPzjw6fJBgNRsF9K\r\nhCMVArR+P4umooel3a9Q/XW9qkrMPGu8NsRjtCMjLjh09DuCAZ97qc/Vst0i\r\najidMW12vVPG8vhh7mNWbHaPmrTaMCd78L3ZKT6NUeTzfSXxjdWDpGITJX6b\r\nAuF8xG1fQ9OlKVOZjt7CtVpL0Df+uiRHibo9rnsRIUB0iketZ5xWevJDup9B\r\nrrtIMd7Wxik6jPTEeV//AblAP/W7HTlKNaJyir5MZ4FRtcDmJ4bzzufezHjj\r\naE29+N1LeeSX4pvUnv7x89eyevig/KW6Oek=\r\n=NaQ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.680e3ef.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1ba0b9ff285731106beaac97cbfdef92/solana-rpc-transport-2.0.0-experimental.680e3ef.tgz","_integrity":"sha512-S+TKoLED5vwTfDxqbOBV/73bQsOwVVBGZ78u1dULYk7CW1DHsqIpu3TQRFmYUnBdAQYFmlR+iw5K0DriYGBL1w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.680e3ef","fetch-impl-browser":"0.0.0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.680e3ef_1681277575833_0.6875295236990586","host":"s3://npm-registry-packages"}},"2.0.0-experimental.021b83f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.021b83f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.021b83f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9aebcfcab47d8e56b233700da08cea4dc6410eba","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.021b83f.tgz","fileCount":29,"integrity":"sha512-vlFRUzA+ZZmusak3XBd1yWpCRljXB2iAjis4wqR0SwTkKcGTju/wY4HB39ZHg9Vx5Xn6j+VwDKkUtfwMZ0roGg==","signatures":[{"sig":"MEYCIQCYGZyrC4f8rKOs9fcaFmg4L4/qtvOY/iuTD1bZmUtkYgIhAOF3E0+74uudZ2UCTuw/NWi07SvGF9Lg+m1QmvN4wFeT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNvfGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOrg//XlX6qN9mrIPn7j2Fuu0QeJ2gT49b7o+LAtfunGiXXfNsTO/M\r\nS3Mg1whvVWUV5Oh56CXOEwV2Mny57zvyoCTDyjL3DA1lbb1+lhZu/ntK1sii\r\n7UK4heoyUe+9MR0q4sa8IVh0pKrZcuabske4+AoIexEgGlZZlwL5K6g9Cd5D\r\nGop3ISnH89CrrwyPPbFkKFelBJdBpAUjw8Nx1LJxg/WwQZMhjG3jh7I/37s/\r\ni61rsuX2T7qijjO+x9jcHcb8QIHeBxiHJVp4iWI+LPZ3r6t9d+6S7SdRnUn/\r\ncT1a5uIwp7uyGBu6nlETLJxwtqOOdRkyl99isu2myiI9Y53C98GJoo+tqLGU\r\nv8XIs3r63o1cuMWmWCZOtzNo0z5VXHm/nBc70m6dX9XTA0WzNOyeiQvdlVBo\r\ntS/C+YEP9s3IbNxTFJfAisgXHkKyKf+RN4slOWehiKe6JgWcCH1fx2YPA31H\r\nFV8bbWIobKug65CFAmuFlYkch5RLm7vKbb0RjzTAmBb3BjDmQj+QOXa76LtA\r\ntD2VuOwgsv8ry/GYCcSVhcJ3YBPDXm9v+bXH/jaJActyTBO3gXErEiv52XpJ\r\n5ETQaFZTL2uwQKpMZdGTJRw5qZQsuqnlJCgpEC2Llfx8s/Oo/93kkXIbHtgZ\r\nMjagGtuJ/RqaRyy3lxYiAIy+zXJMdkVl5BI=\r\n=O57/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.021b83f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9db1647066773cd27900b805f12fe9e4/solana-rpc-transport-2.0.0-experimental.021b83f.tgz","_integrity":"sha512-vlFRUzA+ZZmusak3XBd1yWpCRljXB2iAjis4wqR0SwTkKcGTju/wY4HB39ZHg9Vx5Xn6j+VwDKkUtfwMZ0roGg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.021b83f","fetch-impl-browser":"0.0.0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.021b83f_1681323974454_0.049453669922693066","host":"s3://npm-registry-packages"}},"2.0.0-experimental.66685ba":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.66685ba","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.66685ba","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ab5b98cb4c8a69978177a594211d71cf094f4bcb","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.66685ba.tgz","fileCount":29,"integrity":"sha512-xUkMr6udByZ8KnL7HLPyMaLlPExaHxtJ+HRKxny1c6DJMydztfRj06B8yTClEafHaUIZwS2wBzisc/0k4SboIw==","signatures":[{"sig":"MEYCIQC+RvGZl+L2XVf699+69rpjkQQ6cbVzk6SVZWVCINfAtAIhALN2rPY1sK3TPcse9BY1NlnavS5NZwP3b7N2vxmBiwzB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNvhlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoYA/+Lku1ZjF5094b43TAP2mRITpP4edeG2TQReLaINaxJZYpYY3h\r\nHHd/6DUSA3/zL3Tv0+wjcR2pEYUtmlrV8+R7F1HMTbP6rgbcBydMkrNdf+5v\r\nMDGJL39fMLUsvGQZCmHIjNXkazbdyNyv7i+9GBJGAo/hbB8VRIPA8Ju6oZ9h\r\nXBwzPSKgss9nu9Sovv8hHUZHYUmergm9yAAwiVtZrjvwAl3I+2BimBRfH1iY\r\ndpDGJPihyjHjT+K+8aMDzxmA17bmGo9S33LiVBpN181ryDh5bNW7Ydic3mCO\r\nAnMr/d/RjjhpJitK1u4b50IiVUoYcEO+5saRabM/mi3BVi/w7DC8QB8oCIoF\r\nwOaqDsHzGyP31NU6ZhtleBaX9xJpHEEp3T2zLPg21ny0sPgFJDGOgspW7II+\r\nxgeON5cicePu6pS4lenmD4SktlCdEsmX5gAEv1tc0B6iuSxZhS/UNijihy0h\r\nGPgTVg8Jk9oF+hZbQb0x98RNz9nwX5SjHzFmfkCE3/GU3UZWN3ajGfIZKDDt\r\n1OJe1bTPlwKGKpDE3rhkr+NYHvaTmZAwL2vrjI2elpLPFJxLo+QhZX5ta1yj\r\nUOl96pA6Y3RiW7BJNoVzH+H78lqonFP6Qam5As1YKqOa00cZ2YWj2EFTl+94\r\nxPJKMyDVl+7HFmWV2rxdNtzfXU2KgSKXxrU=\r\n=ZkvL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.66685ba.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/06661c02c111d01c4f98c9d87d8ff93d/solana-rpc-transport-2.0.0-experimental.66685ba.tgz","_integrity":"sha512-xUkMr6udByZ8KnL7HLPyMaLlPExaHxtJ+HRKxny1c6DJMydztfRj06B8yTClEafHaUIZwS2wBzisc/0k4SboIw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^2.6.7","@solana/keys":"2.0.0-experimental.66685ba","fetch-impl-browser":"0.0.0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","@types/node-fetch":"2","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.66685ba_1681324133431_0.264589755350247","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f41d32d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f41d32d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f41d32d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3dfc3fa5dd59ace06a4d975594411b9473c5ffa0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f41d32d.tgz","fileCount":29,"integrity":"sha512-v+Sc1xfDKTQHs8Jpy7aGxAic2HwgI+kQeXnwYTUloVW7fqWrFWeZXS9jB7ci22w/j2iwxBeM3B0GkSyhGFk24g==","signatures":[{"sig":"MEUCIQDN4QqPDrCh8uOi7CdbXLdSBXw+d3EK8QgvRxVe2apKkQIgDXwOSdtxoeJKod8r/g2vTkTRqj9vNFOg9eudHFJsKME=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN4FrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprcBAApABCU94uyBb6dI7K1tw5DNOm1aty1rEIELg78Rp5uUtzGUt0\r\n0+03B8lhuRNCkZ+XwX47dks2Yk4HzyKD2jTS8s0nC6kNltiqvZaC8EdzNeWR\r\nnzVUnSjKW3CUI1eqLd+rJK2aq+boUnNBMUQ5zb0vdN5DBPvviC+YGwrvQ4Vm\r\nLM6cAFuNVHUff3Z1R+hyaSpGcGpb1zCYomcCbA58YYTNnkxoUJe9V5/gyVus\r\nO5K8uEoP7djS6EKcRx38MnK1sClcssTnJqRKjwgkvN7STHxsMVSInX/DwSah\r\nuAW2MED8k0HqBwefrVjtA8fbPuu6qRoP2HthoM+O79PDPyaLKfE5+Jeu/LHv\r\nnThlqlnxwzuqJs9j01tWnnf+xIzjh5cxRSocVnURKkn7lFo9H9j6eQ61mBE6\r\nuMlEt6/5SZRTGWEBiDvJiVAWGfX5Wj5ItqDYxO8TJFUQZ23Jr3s09VA29R4p\r\nAbCUknLLfsWOndhUqMctdU/ZIvmk6miUYBd0+YIUNuKyBeF/f/J5R2v+1RPD\r\nGBJ07GfTRlwzaU6UUW8W324up1hpRFdw7NE5eZiafgtNsasjREsoLlJfpTdL\r\n3h52EKVIFeu6c9N9F2oGEcH8G5sq/VqRL/C6bY5V9bAIqJadUjoMHQcG0HSQ\r\n1Ck+vOc97saswX4slL0oknchsIpLfkwPVYs=\r\n=RC2h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f41d32d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/861ef800bcf43deb87755ad8cc4343b9/solana-rpc-transport-2.0.0-experimental.f41d32d.tgz","_integrity":"sha512-v+Sc1xfDKTQHs8Jpy7aGxAic2HwgI+kQeXnwYTUloVW7fqWrFWeZXS9jB7ci22w/j2iwxBeM3B0GkSyhGFk24g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"fetch-impl":"0.0.0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","turbo":"^1.6.3","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f41d32d_1681359211557_0.0709393148830344","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c091b0a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c091b0a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c091b0a","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4e6344cc1c9b3c23897701660a8f7ea75b1ca490","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c091b0a.tgz","fileCount":29,"integrity":"sha512-H4kW+WLMglbB+LW1DJHAeEi8mpDYgbz9jvaQ7aiX1y4QqKNlbEtrbiJtzSY2qSJZxO8RRF6DQCWropQZnDjhNA==","signatures":[{"sig":"MEQCIEmONzJ6whX4xNL75y3uE38g+m5L02vn56HRAwc+MrGoAiBEFs3VV9ud4qhXNoQoxTKSMA0HUNzHDA7CH6DHWXlbZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN4MjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqytA//cbDsqBH84gXSs2MEHrJ7E8DEQ5CX9V0VPcoBgNWzL0hA66LQ\r\nASt+Mppt+MLtWeA3QYsT/VO13BK5AbKtreG+Un4Hjw2y+beujJ673DasYzps\r\nmzwtOODA4/Dew8hj8W6ESk2jwRsT0hywUL39n/0C5qVE7+B9Gz9Y2PWCi9GE\r\nY1Vo3GE8mbd3bnllvErkrXtiQ0Ui2IBwBw161CD81ZWOj9kRQNlr3P+dLIjS\r\ny55gdMxoY0fsXk80f8xYtT+pyaYSAlBf+l7prOSIVYHozwCIqXgIbUVVy/5G\r\n1N7wp/mV3ZSdX6RJE4Gb0n/JY4X2RnpmyPzgAVjcSPGdikV9y4JAAng9CzcY\r\nUaLkM4lQ5h9ba0UhqG2gh2jwRQtqEi3hFHWhCIVr84JwgDCx51Q+rFTxeqzF\r\nOluANxoXrSG5/PDZB6KL2uXg1j3VxJ+dVkdZZlIDcT9PrSkeeovbhVunwmQY\r\n6ir/WJRUfQOyzuJ74MysqthmzxEQTn7BisTFl6bBASbmR6Uy8hImDcLVn7eh\r\ndPDGGLWGUrLk/cOuorvJ7aMyWYf6sfxLDloNmi61zjL8iNUsp8dmD1QWTvTQ\r\ngBoKoEisMxlRPMoh3wUjNdmkd1IC54rkM/5HxXry6PnMzB2SeoE/gyb9eTJy\r\ntZbThRydsXAWcb0DdV+YYfhJBJsiWQBSAPI=\r\n=naAB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c091b0a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/649b109ef72bb45200d2f8f4b13ce571/solana-rpc-transport-2.0.0-experimental.c091b0a.tgz","_integrity":"sha512-H4kW+WLMglbB+LW1DJHAeEi8mpDYgbz9jvaQ7aiX1y4QqKNlbEtrbiJtzSY2qSJZxO8RRF6DQCWropQZnDjhNA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"fetch-impl":"0.0.0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c091b0a_1681359651086_0.7068225778371844","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5108520":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5108520","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5108520","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ab87c9339ca743770d4e627bd8fe434e8cc69486","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5108520.tgz","fileCount":29,"integrity":"sha512-tVyeSdr1C6lsnQWmb5w8caDBv6gr5LkD9pP6mmLz7GRCK9I7Sj+GMCq7B88HRB1VRGCkaN+KHlL6RK7+ET/MPw==","signatures":[{"sig":"MEYCIQDVgEbBk4+Byy0uaaFz92EPiLCn/Pa5oPnzvYDFja43wQIhAM95CGXyNpcA2WMrJLlwuA5tdknlTrFcs/OqYZhbiNRO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkN4cTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo01RAAgylRQ9qwAid0/294lAiKzFew7uZm5AaFfy3nKwd3Yy/9Mvot\r\nU04jD4nUEStOre+pZ3Q1rEh67RuG5K7QfBA+G1UwfxPTA5QAfuHoPyJ8nxy/\r\n1oksH+tOMnzUPUw5HkhLJzvvrhoAtYQEIlPqiDyIR3ny4HlE3/9ynIPbQ48I\r\nSR6a7QIM4PDza2vxU+PzbsAP6D9OyHlKd4UZA1UoDFMPfQruTT8pnmFkt34b\r\nSpx+vDld0EAzpU/P0jOpRagsLsWP6Y9UzBupu6L9NizffeWguXjuoKeNPV+A\r\nhcPaHJzr6dNPz4aQM9jmlkGQDrGfbTlAA2xpd8D8J3pouzjCeApl1AfH0WgT\r\nQR6E1rpt3vWmKdcybTSve5XRybuHVgZoi+Pf5Gd9BN736ayA0KJMCxwbcaH/\r\nTPmuL2n8bijkvk8ljsDrwna2LHKhN+SNhWzHIF1ZNwPT7GM6kFnOdFrPpmun\r\nzP0M09SE2n4juoBWlB2SXlq8qs+nc+Jpma9O8o85FqgUR970tz25iIVQUTiK\r\ne/Hjqh15JwUf1PmsbEhpZ8E1j61zlL/7jqxgO3i6qEu41aRNUJZHK7l1Qx6I\r\nsV38IzisA1eclpPnfPmgWMwR8geUn3gV2mMuI8xYMBCC5iq98fCjDQ61Jiil\r\neIR4hFYhVV0zm8sdGb9FaCuBpfE9nU4plec=\r\n=s/Xe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5108520.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7e04e9da6b5e74ca76cb4443ba50e5f7/solana-rpc-transport-2.0.0-experimental.5108520.tgz","_integrity":"sha512-tVyeSdr1C6lsnQWmb5w8caDBv6gr5LkD9pP6mmLz7GRCK9I7Sj+GMCq7B88HRB1VRGCkaN+KHlL6RK7+ET/MPw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","jest-fetch-mock":"^3.0.3","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5108520_1681360659764_0.6933981617615348","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cf3cbb7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cf3cbb7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cf3cbb7","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ab236828bf8870ed94e20be7863aef5977618f2e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cf3cbb7.tgz","fileCount":29,"integrity":"sha512-edmxmqGWm0O5dPk8z+qNqDohnOxZhxGcpJBfNUCZ9tqpVyKirMqLZ9dykd12FCkYwqcHyqcSG1P5z972V0Zung==","signatures":[{"sig":"MEUCIQDoWhxoDFaj3A9/FbuV8LEplu5MhzOZJxuLKeieFga4PgIgTxSm5iJV8S8FFLuJXtXxWpO4EHPBy2LUUPKasVK6myg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOOupACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpiwRAAgLj82nFSMqFBjqerChzl7lLoenpWY5E++HTv9W+vFUMKMk30\r\nx9B+Y7rtZ7VK5/WrVeSBOyoatn0CbF23O8M5I2i63XtCLJCouVJ3Rl5pdREP\r\nfZPbZBV/MjZPIuX3jzhDsGsvKA2Yr5lBy9ZSKXnhNNG/rOp4ZxaTyOfRfv8W\r\nyFKyoB10wBXexG+o3hcDrVbLHugf/3WtLA3lfIHa2/YJqP1iShtUAaweSPwB\r\nDstSDQE39puzDSpC/KCUEM38vUdcBSZxtscc31HEiZkRKqtCFSY/xKfDBUxj\r\nO1orXsao/vu7fYS8aof3v0Nq8cntOHwBjNy+IAL+aNOPkl5u+qaZzdG8vCfa\r\ngRh+yc1CndE9uCerg3NRPLgPQOzxESt+1mF0q6VIf2bS8WrrNWrHi9Z4n3gJ\r\n6ZNEx74kSzjzsEQSnGlySuiDO2w3Ky1W1yA6ibUBiEbDk1ftKaZE4fMMjdZC\r\neoRV9YHbd4I5+E5oFXrvCGK5fBl2isQ46s+oT5pp/xhgFnl9VOE/JxJabFQm\r\nZC1yNTBI4HKr8TCUwl8kXoNGuRTiW0m/oJwVQiVKqCABdsk1rMYP3kjI8hjU\r\nysGr1YSIJI/EP/olJHpoDiqFL+/M9A36F608mwKgSO4x58a44w9/S3naNfuY\r\nZU+aGZ1mjRn/OBr9Iug83rrbjTJ8FJMBmzk=\r\n=+6mw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cf3cbb7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/02be31cdc88884e3f210624e30e7b689/solana-rpc-transport-2.0.0-experimental.cf3cbb7.tgz","_integrity":"sha512-edmxmqGWm0O5dPk8z+qNqDohnOxZhxGcpJBfNUCZ9tqpVyKirMqLZ9dykd12FCkYwqcHyqcSG1P5z972V0Zung==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cf3cbb7_1681451944966_0.07412172139715545","host":"s3://npm-registry-packages"}},"2.0.0-experimental.73932e0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.73932e0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.73932e0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"397bedf2321724a757ad748887d413b9b65225fc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.73932e0.tgz","fileCount":29,"integrity":"sha512-/heeocG5c06+06W0J31zykl+7jFpXCtk7WUnNEzVjsTVk4i7FZtY4mZlMNGMOZrU7oZfGOCGP+0LN3p2EzAhYA==","signatures":[{"sig":"MEQCIC2DK5YlW9KKfV9eCzoPZSA/e883bDF/VMFaYbh3LDEZAiA3D3hOcNAds6JeKSPMn1V/L2TR3HUS8D9s61QPFgnKgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOOveACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmocpg/+PDelZFXIUEprI+X1QyfpHuWa6oBHUPf3uVP5PitfpyLhfI2M\r\n2WegatLqo0DyCRRYCK/o1bchUIDpmTkpnLiS5IxcEbyvW7545BjxmeLCR0SI\r\nPh3iYLslA2zom+f0d55pDmVxbCjbT9f3y1VC/wjp7DlfMWtjl/egnXWcngPi\r\n3OeDvBLAsO0RWANrEQXprMEd+F5s0728zGNhlXr0c3xHHa9Jql+H4dbUnQh7\r\n+YhPTY1Rx/GpnNnZyAouRkDJViln0VbvbbXpSBKQ9clkk3ZUh5BoCEm6I77+\r\nXWWtMxBsZznS/PseNgsKXl9jWw9nz8zm0ik8+QN/Jt27wTFbsHGC/4S14brW\r\n978smzRPfOXN+AkH7i3WIC+UvscW3sBdSR9Mqhc0rzqu5O5JTou7ttwGw+/e\r\nbVmt7T2/qGuTnH3FA67QUhwNOnn3bCPb8aGdaWBX2NKb4Qe3GUtL5XXPj3LR\r\n3TTDXTbpN6rH1slEFTtPOPKqQELMVQV2pmP3wYKPrxqzF6YCRNnCQnRcR4fQ\r\nN+lupULkXj91oVzEhjWtyZusKv8xbLwPrQolXMGHYTCfh3l/J5QOk61ZHRh3\r\nDugFfRbt6I+1/kySp6hRX/lDXYznWCOkGQclU3RlhEwxKCPFWXKMwkNSpe+K\r\n+/2P52yKjZRN1wpm39ftnqSLGYBXi1VaZUg=\r\n=z92d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.73932e0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9fdef2bb4f88db7dd6c1e51a4c001763/solana-rpc-transport-2.0.0-experimental.73932e0.tgz","_integrity":"sha512-/heeocG5c06+06W0J31zykl+7jFpXCtk7WUnNEzVjsTVk4i7FZtY4mZlMNGMOZrU7oZfGOCGP+0LN3p2EzAhYA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.73932e0_1681451998609_0.9213903781141484","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bd89c41":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bd89c41","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bd89c41","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5bcedaa49aabef3e26170972ede44c847cf0f0bf","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bd89c41.tgz","fileCount":29,"integrity":"sha512-KlLiPur0cy86E56605hi/m1Dwt6J8+htTkpAdqZ/ABxHJ+MdJQIpY9KdaHdNu1+POsp1AJVUVKNdepkotT6/gQ==","signatures":[{"sig":"MEQCIF8xGle/dueRl2cMUo3FYfmb9M/1Rjpdwpw/JTplFP+oAiBsQt61Un7HP8mSvkbOJF0K+xK7wyr49NG9x0zzF+mgTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOgFtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpbig//T8Y8UD0cLLdZbvX2sv1ITrDqwXPf1wPPgPFDYalruyBChRT8\r\n3EzW1VjW8M5yqQHwiF1qEnWwMzDza9SvFuEqa2lvyvQOlUdX2uTDDbmj9pa+\r\nfA6sVEdj8W+ip0VImyPLmYVBwHrThmF5TuscnFm2ADRnQaN4+9U0bszlgvD7\r\nDm4APfrd1bV3kWp3XEKtJMxLZsn8B7Kc+RrEmD0IgYUabekV1gh26sNYOinX\r\n+qkTme3yAZ6xdVzc0FaVMOGYPn3amaNXjasSxd6SsVXtFLzOYH9w0YMWBH+R\r\nVpmS9csIWWnZHjeSOILAY4XHcvSTRhG3QRTXW+NfrWIH2toJL+aqfM5/1SIv\r\n7jv6i5g2pnx8qe7AOCANsCqT4QxBgJ+3IgoLtvIJf7/AXo9WEi5RrQpuqAvP\r\nIquJzjZ33xRqy2WUSJnHCZCBhPtlSadozbdC+EXx1XPf3V5DRyIRXAK8JqJ/\r\nA9cwuqGZOMvktpCgLLo4BDbwsVdSnjZ22tpaTjcISUTpTlgVnvfgxnu1hs3g\r\nCrY79dkpRl/m/ualN7Fkl8N8H6iFHdEnD//l4khVpHjExE/1YJTDbhH2pApe\r\nPM05CbNtJSlDLgvpDM/30diJKbjEjy8LRdG2ItaNGf2R7aHsZBGxajpVe0HJ\r\nm0cGjMwtuOg4DHTmZXVSxk/L6D7Xug1P1aU=\r\n=0eXf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bd89c41.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/683efc03d7828a8d1d3216a465731128/solana-rpc-transport-2.0.0-experimental.bd89c41.tgz","_integrity":"sha512-KlLiPur0cy86E56605hi/m1Dwt6J8+htTkpAdqZ/ABxHJ+MdJQIpY9KdaHdNu1+POsp1AJVUVKNdepkotT6/gQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bd89c41_1681523052837_0.7819799746210851","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0174e10":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0174e10","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0174e10","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"70cd284c9bdbbccf2a951124c1b5973a64213fe3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0174e10.tgz","fileCount":29,"integrity":"sha512-8YqmW8XE+eWKFdLVNb6+TWV89IUqzX13oIgR/w7qB9nOu2idEDkGclGoEfM9O5ZrBJH6Rh6Tcohhvk+prgcxxA==","signatures":[{"sig":"MEUCIGQqR8bZ5UkpzG52AtI7w93KmnVkij+GcjGx1+bB/2iwAiEA/kNQaYoq0hbO/h6Jd5DTwWzgDtuUXZZXCT8GywPjvj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOgHpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBQw//eLpALImSCsN4eNcIbFoZ4Gxl/qewVpgWdgr7FSnOl1h+1zQj\r\nFZByRlKEACEUgwaDQbUU3oC0LtCeL4O8GWS/bmugKnWUJq2RGclUd6UC841O\r\nsraO/xsk/mxPc6HBhdvlWtuM3Y4LmFJL4dpT8V5TQesf417BpmgQsxfcY+Dj\r\nSw2OoVlV7SOtNChEumNFPjWmVHrSBMusw0xOdQ+rBOcbG42zD3Bd3TAfr4Wt\r\nPSWOiDSkzTYAE5AYgAINRUnpwvC5chVNFIsy3krrnBTpbxx+38PRgizH6E9f\r\nrJTA+5+tIb1nVP0dnw8Zi9PgEl6GygAS4NyRqaeJYoaO3pqMhKEhTQ32ls0T\r\nNyoNuhf4t7rHp7YQvqq7Po5GVOucxhp0iv/fg2GKOeG8vDUd0YhOM+isSEHS\r\nK+jYPer9hWTEH9jFQkpz1XDTMk+R22PALHC0p2KIDefFz3qD9n9TYYbli9hr\r\nOXM/5xASo/X9vSRAhM2nD+kjksNaDfEaVm2/p5AKv1LGE7T2p1zE2BhVDK3o\r\ndzHQKEDAAQRlq8GaPj4mB6PCiY80DotOV1pzjFgVz8Vjx6rGzOGCyU201bcx\r\nPixna8/OAmA1kp2SfxceHr2hNbzfXjDZamYtqctmJENJCOPuxe6UxxAr1Kz9\r\n1aAE261VlbgechU/LvM50gYlksoQDmyQ/hw=\r\n=iSw2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0174e10.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7b118773fd77e25c2b3922c95be86fbe/solana-rpc-transport-2.0.0-experimental.0174e10.tgz","_integrity":"sha512-8YqmW8XE+eWKFdLVNb6+TWV89IUqzX13oIgR/w7qB9nOu2idEDkGclGoEfM9O5ZrBJH6Rh6Tcohhvk+prgcxxA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0174e10_1681523177736_0.7413838356598188","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3290268":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3290268","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3290268","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"44aeea7b2d017ffe0ead8140e288580fa6397108","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3290268.tgz","fileCount":22,"integrity":"sha512-m2bcjU+wYOvpCcqZ7JXFSyFf/nog9TyVxkrCEtEauoEdcEVu54ZFclQp4OEspHGK8PDAywEGSKCUo7Wc5E+MBg==","signatures":[{"sig":"MEYCIQCTcYFy9T8h15HjG7tOfYgkvbOy8nr4dmaHXcYKT9q4owIhAI/bqwUMrhWyTM69ZZ58fx3Y0B8RD2SZ9jLN39fTSfa6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOgJpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+5hAAlm0kor3+WWDmEpzK8O20CJN+NEAlXUouIHmDSackdD8gqk91\r\nHeu/CPnRKyrs8vIUIM/Zqi3y46OoIt5h+NnQkmBua7pAbu/ZGpRAFc7PIbYE\r\nu6vcUZeBVSmK8BB0+/fAlHvElo1plr4a3Vn6R1o67WlrMAycnZ9EA5eBuMGx\r\nnXJgvrsDP/2J9K6SwVj+BnFWwylicR4KYb1o8F2Tr4zAl+ogVlZo7rwhd2dR\r\nNXv9zbQ/7+emL9AShJPB6Ub9AxCLvQeM7TRyrDlpGewRFuXGJMG+TKlU79dM\r\nlp2Xh5wZLlDJkcoCFN8EVBH6rUN6EIozrGDhGmAYMnXhMP4pW3U44YqmxqAP\r\nPUGUQWdM9Pw16uFSYKJzSi0iVshAhmGxv1Q6BvaHptixQKUdxb6EhosXxAed\r\nrxFwhNddAQL2Plj5vBPna9G9LmhiFvE4Wv11vKOSr0nZs+vqyiJsBWEaWku4\r\n+KhLXrVaWeN4CBCQxBmae8ZWjfWXc0pOYTHQdEBG2tdZZ6bTSdL5Jh1Bm9n+\r\nBN1XRmGsJetIVSZG3S2gs8ZxUHcIZjbSwJplSFm0pvDuYyl1jPOiW81IDUxc\r\nm4HKlrcPdhzMcV/J9AvSd9btZQ2xNG6bGiRrM1AJYSgJlU3EqoRUl2ZvYkh7\r\nBo3VHUUCFvAZUqNVxTurfAS+tIgw8VjrYCk=\r\n=mxWw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3290268.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/08bf5db7b31e2f8ef8341abf5b7aff1a/solana-rpc-transport-2.0.0-experimental.3290268.tgz","_integrity":"sha512-m2bcjU+wYOvpCcqZ7JXFSyFf/nog9TyVxkrCEtEauoEdcEVu54ZFclQp4OEspHGK8PDAywEGSKCUo7Wc5E+MBg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3290268_1681523304846_0.3566640028176775","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bbe9bfe":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bbe9bfe","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bbe9bfe","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"23941cbc8ee085e10cdfb5d1074395ddf6eb9326","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bbe9bfe.tgz","fileCount":22,"integrity":"sha512-4WQxHNanygj+mgb/wS8f2ZKMwjducHkEz8PgTcMcv0QQ9EcsYNarbe7QNCPK57+gOiIxH9UDph6z/6bpEM0bJw==","signatures":[{"sig":"MEUCIG0Re4YGz04jV6Y5/jgNKqe/olEWWbzWREFULL9DbdmgAiEAnZLQ0Epoj5+0LM8WUM/AtE+cEwqGIjMn8ouN+Y/P4TY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPtlZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplUQ/5AF5ma+sM+gOksZAS0aqtCtI/Ntxh6of/AakwMW3BmfdR1VDP\r\n4xogIwZiZcO667aYEpjftu/UppTAd7+MAp56CE0+m+PptRNd71pB7f4DCBDt\r\n3TsSnzbQq/UQ8f4o55QlBUG5iuTBJbcnH7W+y4M3NhlyjfOyBB3otOGTGlta\r\nBZlpzYCMm1yNdnjuCG3sfyeg0zoYh4jXkwfJZ3aFH+HS0kN8jWvoXuPbb46M\r\naIpXt1VzUvy+uFJVkMvZhWaugbEWQQ8exS5v+UmPglLXQKnYZgvDpW8UoWpw\r\ng7+GAWQr4o3K55NCQsoII873pc/4BxCQamkiGHCoVRYf+yWWtDokyqOExM61\r\nqWSlvtgcTMmP+bwasM0oVjX2S+DtO2ttxCqmiDMA8guYIIe7lKZMYi+wFmwh\r\nCMdKO+PANpByZsa9T+HoKiAlPc7ZQtJQOV7NKcQ3Hp+cOjq7OHXxHeqYV9EQ\r\nUjiy7N1pf45Fk2qHKQBSuRiFoSWXagggfHDpNQLJinOUVjAqm3dSQsuC0NHs\r\nDHEFobOU7lG+Fky2MHG/OnHTaeY4tzBlfI6cbPxv1hN6R7VOAD3n1fIWZ656\r\nKquIsgPuiIKOcEUqZBRQwu9v0qB7LkWWZBkX7amK/1TH/bZTuWd4MUL2Gcfz\r\nL07cRGP+pkmrDiTkyWcXsORykJEe+hEhWRk=\r\n=MU/B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bbe9bfe.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cd4348ceb627a88ce87a7637a6352dbe/solana-rpc-transport-2.0.0-experimental.bbe9bfe.tgz","_integrity":"sha512-4WQxHNanygj+mgb/wS8f2ZKMwjducHkEz8PgTcMcv0QQ9EcsYNarbe7QNCPK57+gOiIxH9UDph6z/6bpEM0bJw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bbe9bfe_1681840473775_0.7231632227424472","host":"s3://npm-registry-packages"}},"2.0.0-experimental.50ab13b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.50ab13b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.50ab13b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"242d1612bfe35813a366804fa7b84d1dbe34c557","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.50ab13b.tgz","fileCount":22,"integrity":"sha512-dIkS0lonEGHzWev49EeW5YuGhnVEn/Y52hY4FHXLpUKY9W8QwDGLDBDXcfGsgiYMVHktT06U+LYhrg0/UFYJ9w==","signatures":[{"sig":"MEQCIGuWPWa9o9xGEFGJ0LseA3aY39hcnFQOOjDwwcTUfMK3AiBGwtxpTdtevrb4isXPbm9sjtPxTMr4Ouv6CoxCcRnGOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPtnRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr59w//XAajHpoDr8emvtuLuTYPLlpUo3Cl5nzx4rqFbW08Fu935FZn\r\ncj/duTwvG8dAcpvQkc6euESCxRSLWbHbP8RKebmxWQYOj9pZVdz27QXXWNej\r\nJ1ymhoczvZcxHXS7/+d1dZy22NjuvIWfQcA/WxCLkYpXc5P3xGhHvHF65Gbl\r\nHT04EsXaj66fNGyvZlanRkRlkeRaa+uyI5ak9W1GxMq2TdcXk8nDV0z7JkWu\r\nVlRdRxW8hACnfeAqBTtMsSoRc7ykmDCan5syHEfftgr2/IL9dVkvxnZgrkYU\r\nCdAhx+Psaf3AmI6VEkDk4M7Glk9rQrhqqpaRbxz6ydz8NYDT6Mhc37e/lZL8\r\nVqtg2gGGtP4Hnqc1gL+3Q9KQpLJJzif1I4+ruF4kcTAvgHjVpYrKF/jjtKYy\r\ndwjvvPLP3UiZR2jg+YlJft8YJZoAC2RY03CqqooPCkZVSghGaUOU+JT06whD\r\nckHr6b+EjuEyuyvm06syVdDOvACfugE2wiu02DCLI30LdmRu9rjicuyLe5NF\r\nv5+Bux9xC4QwBXSCXELt3R78t88nU2PqhBCMK7b9Rnsw0fGuCAjqle+1mfAy\r\nbYliLp9vgL0pSw4wt5I3K+43v1RTTqcQUO2TzR8IQpKw+kIcdj5TZUwJnDHa\r\nGGaYa0TwgwrPNH+nYicx3LGTIYLspjqHIog=\r\n=fzxq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.50ab13b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/856123d43f1895129f875785d7a2d202/solana-rpc-transport-2.0.0-experimental.50ab13b.tgz","_integrity":"sha512-dIkS0lonEGHzWev49EeW5YuGhnVEn/Y52hY4FHXLpUKY9W8QwDGLDBDXcfGsgiYMVHktT06U+LYhrg0/UFYJ9w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.50ab13b_1681840593595_0.7891744409917936","host":"s3://npm-registry-packages"}},"2.0.0-experimental.92a60c3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.92a60c3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.92a60c3","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1b38589fa7ea6e0108f74324425c9f61b2ecfb3e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.92a60c3.tgz","fileCount":22,"integrity":"sha512-pQhMqN70JluVy5UASkI11KeQZflyYkav3mDOs45k47D/h4/XYMIvYy7SdtaD6jlHNPSZAWI2aQNNkNcfBFnOKQ==","signatures":[{"sig":"MEUCIQDfHG2eJOlILu00Itapo9gcZsNz2+LC/MQix57gR49sbwIgcOcf+zgwXjIsfMbOaj955yAGh5nwLXlb9asiYH/XKh8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPvZhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbqQ//ZpIRLxLnB5F466bcljiIMKH4yr1fxBsvvCB6zhOqa8KNgsdo\r\nk0cugsJUfBv91Dc5+LXES6t5OhXVmzETyETz/kajI8nCpERm8GjsJ8k+p/rl\r\n0yeg9jmtD2YpUqafAlmLk+HO7Op+AZd9YF0j8FRc3HPQnRkLFwQAPBIGVdOL\r\nou57j6yia1MTS+f/Sn4bI+tWznYjPJakiHbZmL9mwv+Ly5mUrKO85RZDoAFW\r\nRYT84YZoXiagWIIvDu8oTpOi7gl8fSSHCTpu3ci0NU9YAPnR7HcbBCXRK8VU\r\nm2jShE2cu1PO08dvsoNab3OWZzWxtJq4PGCYEGljOZy3TX5yRij+FKZp2Qg4\r\nW39OAU1Ai7tljFCsagowftPA/yaCU441JekFVtdrrZrFkHSzZpwua4ydYPU4\r\nZMdxKoMvi5425sbjyQ4lEfpYTTh+pfW7OlEcNqBSX9UZeNY2FVVBnueJB8NP\r\nnvQ46oHa3v0kB8iqVFSTcRKNajP0Q66dLIP3ciYUNXQ9hfwto/Qj6bvTzdxH\r\notynWc3Xle/CZVr/HKQ/dPi3Wcw/bcWQAquwVmBS5ICaXmW5GniJSXSKXsmy\r\nXi8//iCTmTVwUKCwsEpLy2uC3D5fkuvTQx2t+Hl4shBM1o4wfNnaUY5T8chG\r\nCAV09/HJJnikeF2PzFb87F5U26+N/UCRCSc=\r\n=Ml9y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.92a60c3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f2e1725495eab2c93fa1a963c786359a/solana-rpc-transport-2.0.0-experimental.92a60c3.tgz","_integrity":"sha512-pQhMqN70JluVy5UASkI11KeQZflyYkav3mDOs45k47D/h4/XYMIvYy7SdtaD6jlHNPSZAWI2aQNNkNcfBFnOKQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.92a60c3_1681847905603_0.9764785844524335","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f0db543":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f0db543","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f0db543","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"33c6b56f70bba18c032e74d549739b73c30d2bc3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f0db543.tgz","fileCount":33,"integrity":"sha512-9rjr+BrMMRSgmZbW5nWijuxVlkL9SC0TAXpUTxGJ/8XpvGfY/xLut/wQ58KtGDjh3LL3JsA7DOL5sx0nZd+Qzg==","signatures":[{"sig":"MEYCIQD2V8JFKMGRWG/WmEXP9cXxof1faFhzlEqkjzWWIzZgJgIhAPnAY3MDPXQyCKnpZvbYG4diGlQf+uTQGtKrYlyVuKiV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":152290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPxZVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFOg/+ISrcRhQF8Wq9GO1+J8wM01rZtThcGDlxEH14pupdT+/MnAs9\r\nSxlsK/JQU+1QnGjuru+gCsjm/0EWrDsBytS6GQCRhyed52k8fED2cqR3qm1F\r\njehAGMlwCiDZA9EmDKBu+CsDBJGgyBtT2HDyiUrL2KwEcXnETg2hjLLZ4FDu\r\nvkynGvbqt78Fsz9kuwaAcrBbNc8TE02VAKgWXVWZnsLMU9/Aln84uLfwo+4y\r\nqsT/s7uhr4wZkIomibMkjyOQgRo0G+B9Hh9TU8cpw738Sr5fTwpwCGMe6/zE\r\n2IldtoGGc7gX50C86Pr2CIdRX5DqDxe99fLMQz0WDW/WBiDYTiNAe7RdF+n9\r\nROe5TreqbKjjRTDs+ACx6fKXc52lROZLgX/g7jnlHHh/3EcmGt8+MGr2PaAT\r\nwv16T0iX8k0yZo3uMRXybr8pUbIFCRjFfblg2+3TpnGIKOb8R3ASGGwWajwo\r\neiriXbN1VzTJvte9+hCzyPoDfR+uTa9ST4u2tpQhdoVXzS9bjO8NTcOW/cHc\r\nKx6y3XkqARcr9Q3dmL2FHZN2k2k7RMP/50B98hzBFNWFq9/7Hev57nxB2YRQ\r\nvaAPfcVX+/BMAshywdUMGx6LNx1u4Q7VR102AcIdn2w96vXCfXvzoCPveRyS\r\nTvZSg4GsRotGdY5tyyvMqVQA1hkH0IdGwHY=\r\n=Ms0M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f0db543.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/63201186c49218d59a8f3592bbcff983/solana-rpc-transport-2.0.0-experimental.f0db543.tgz","_integrity":"sha512-9rjr+BrMMRSgmZbW5nWijuxVlkL9SC0TAXpUTxGJ/8XpvGfY/xLut/wQ58KtGDjh3LL3JsA7DOL5sx0nZd+Qzg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f0db543_1681856085534_0.2622001802410896","host":"s3://npm-registry-packages"}},"2.0.0-experimental.982fafd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.982fafd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.982fafd","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d2eff49f9bdbbe08c474cba1f5a22f1e02bcd4a3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.982fafd.tgz","fileCount":23,"integrity":"sha512-9KZKzuMGA/48jRD4RhSoyjet/MkbYdWU1vLZc/R8nvR0F4c5ZSs50tgIFEAgplUXoWfVssiXsjsrKzMojsrGqA==","signatures":[{"sig":"MEQCIDudl4jslD4lEfOEURv3g7dh5qhRSl152xSfN5QP96iIAiBomjDV+LAfAG2htUp0QJa7hkF2+3y2/is5OGXkG9PWtA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":149963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkP1hqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdpA//Y0YL1xa2rh7Um998jaJABMTxWxhGzoXyuRwlXDvn12AENe1Z\r\nhS+Nk/iUdVNEkUCmWQHY8u0gP8pkmVwOnjlKROb9LtYUaMKyl1TbU3BEogdn\r\ntThTNKKbPRyBHna5fRcDcVPc3SZmqiC1BLDCcA2W5ASOhkUaJoyrVzJ3Uq9h\r\nqA2DyLf4IC553Elh6Vb1Zw/IMvG9KiFyy1+mT0chB9A9qCCaE4GmzjY/7A+3\r\nDPmO/814YrDy1NKHWE1zMalW6NRYU1z3ARt3AjT6vKmEmW+IZAXasZGoeUa4\r\n5EfNtHMmf4P2FGPtp095M5afJTL7pv1rEiBv2fz2uFprV2XEZOTA91p6mtw3\r\nqZbGPvnhWRNHcT9XWJVE2G4eFOZQMBx8QSE6OgqxyZYwdQEFXnhRbj3uKzjJ\r\nTZvv+a9iB49HMxaR1Es7JN+v1Bi7ZBt+7KGSNUZ2Rt/a9QDDCQND7dWcOKqf\r\nTQE6eQD8L0qtGvsJHX1ngj0dIzsdoIQa3g84VtFi7x3DI/3nBzP0vfUmDwxq\r\nvRy4r/nK/TicURE84wiRM67HznUPx598ThT/KOIL12Qs5nyhVGtMlzcdq+tb\r\nA6FLyLo0JbQix8FReBWHqzy3ehoFy/Sjb5ElSWBCcRQrL77pM9LUVXfjQ+OL\r\nWcsqvLg6NibQsxPTLkbBbFjJG/mve1IUsi8=\r\n=irs8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.982fafd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/65cba3bad7d7d9a152542c6536a1c6f2/solana-rpc-transport-2.0.0-experimental.982fafd.tgz","_integrity":"sha512-9KZKzuMGA/48jRD4RhSoyjet/MkbYdWU1vLZc/R8nvR0F4c5ZSs50tgIFEAgplUXoWfVssiXsjsrKzMojsrGqA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.982fafd_1681873002360_0.43667279659757874","host":"s3://npm-registry-packages"}},"2.0.0-experimental.274e073":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.274e073","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.274e073","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f55d2220146405bc3732afc4fde9fb1f340dcd5b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.274e073.tgz","fileCount":23,"integrity":"sha512-JXH4SYfRKdKuZUdY9UIdFYCq6WBoMuu+kA0ouWJa/1Y+TsSyVjRkFshOiXnoVWlJEbgfvG/t0Jl+IiMMH/mC/g==","signatures":[{"sig":"MEYCIQC6TD3+qd1ViPkUcKxdb1t9EJQzfQQ62pPJ5u2SMu0KbgIhANvSp5takVyoSEJnluWOb+h4NS7Ffp1S/tibOThDVB06","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQZ0dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9UQ/9EUEzRplSoBvBQylAZbHCvMHV0E36oZHQXPq3CeLtwrqSZDVA\r\nsgn6HHzfVTr995DlbwWiUksiCFMqi12Tzl6IRr4PQNISJSs/luUvxuIB9aIo\r\nUxst/i8KaqkhqanzMSB3cVKfR1lVIF1Q1Q3b8EO7jVnXxwG1e5wQwYCOp8w1\r\nJnGvuXqF2zoT0zn1sFy0Ro4nj1mkTQ15ryIrBScM9LUI39UpS9IpFp4xSnTb\r\nxxcJt7NpjMcQ51riIthrgM8hUr/r4w+DGUdh6SaL6Ku/BrclIlfULFXUL67p\r\nUA0RxxPy3P8sAhFdK2O1w6vBiBeIG8VlQ4v4qQg+5GuMQimJZcoWS2VxA3Wn\r\nzyx076kTUt6yBqQYsNC8mNsq/mTaoYturCfSslwagM4QRjVlw97cTsSM7qgN\r\nHYNSMZAIIff2g95TvjVwfajIznDDpJTqxDakDLj3cQYLXv8kfzL9SHBeBxUc\r\n1tnTiZ6Ht6mydghkoG8I7b1OoRFZx8KwEORSqAOekxEqoC4DgddGDU52oYIL\r\naz6oIl0Nn6no+dHvcJhPWMQAhgJWJ6zp+ngJuRQfaUwq5+kDN9p7D5J0MIOg\r\nDRoyToBoUnqrf61ldLpeOf1w7vGzGNBsqngjihlFZtMlEC08tARv0k1LsPUg\r\nJ7TfxEjUf7u1DUCfekE2y4F6tASDk3+oTA8=\r\n=tUTT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.274e073.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/72f3d6f40b9bfe474105e39db6404e77/solana-rpc-transport-2.0.0-experimental.274e073.tgz","_integrity":"sha512-JXH4SYfRKdKuZUdY9UIdFYCq6WBoMuu+kA0ouWJa/1Y+TsSyVjRkFshOiXnoVWlJEbgfvG/t0Jl+IiMMH/mC/g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.274e073_1682021661394_0.3563549757361808","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a77f814":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a77f814","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a77f814","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"feb9bef29c4c6906cf306f0ee9888220b5ff4c8f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a77f814.tgz","fileCount":33,"integrity":"sha512-JtARex53TBvF1W7JCvCbzRuaoiDsytJJl+wy/nikwonJlai7WoLFs2X2S8wcoffGt487IkBvW4SCCbUwS/WziQ==","signatures":[{"sig":"MEUCIQCI0xzrvFte1ryhtSd43S0lnT3GN5O+VP3J1WtdrQedpwIgLum2LvjuyffS8V0lBxQQh0qmCFn/USmRdYThzRcCsH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQayYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7ng/+MCdPPabzLC3O4SuiQ9q0v3VHTi1RHTj8LPISUd/3wq2BUmpY\r\nYgR/zrcELANdk36dhapmwArKuRChNtvT5Xs+f0zTo1rCGF4EXc0EtPaNfszV\r\ndZmi5mjbwpI47TrOZPOoRn9WotoqN46Wx3wno/S5eMd3fJu3rNOeU1hIC9uk\r\ngjxJq9uAw1rRWcjwQOl856HndVlGfWrAV3mBN7aO7wviXDwNUrGc6Wsocy+x\r\nVWMnK0OCgM2GwX++tZNek+QwfuUG+sOPSexneMnRllLIxXxXQqla5yUo8sYe\r\n8WWLPoJxmQn3jbpCMxxAFE1iIpwxxdRmH6Q1fVubIuDUWxFBoGz05M9yUgZJ\r\nOlGFe+gn1nqc++ndd+2St/3heS4qihk0iednGMa2Sx27WjIWhcjQr715VETl\r\nz52p/TAnG22G1Me9tBeYRDQPg893ReXqBf7nU6XoIhiVAu6dqMVy4Y1aPAgZ\r\nN1D3+MhtJUbBuv65VIqC+TTudZVxJhjaUU3osxU0DOhuY96DIVQ0NnHRmJGV\r\nTAffp0xrF0hkIqBBOnxSXYCt2vVyt4u0IUnjIJQocA/gJzOru1tvmAGgjlOg\r\nrb/5MTUYn961xxAsbmA6MlxtCddbgwImvlpQGo17jnS3YdAcdmbDFykKO6w8\r\nlizRGeVr/OWzy335MIx7kxDf4pR+uoQUcZo=\r\n=eE75\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a77f814.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d0a4c364875e1a9d3d9e219b0d556097/solana-rpc-transport-2.0.0-experimental.a77f814.tgz","_integrity":"sha512-JtARex53TBvF1W7JCvCbzRuaoiDsytJJl+wy/nikwonJlai7WoLFs2X2S8wcoffGt487IkBvW4SCCbUwS/WziQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a77f814_1682025624572_0.31331833670243947","host":"s3://npm-registry-packages"}},"2.0.0-experimental.20762e0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.20762e0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.20762e0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"95d724602d0e35ae788f40464b05a11655008c9b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.20762e0.tgz","fileCount":23,"integrity":"sha512-iki1c4L4gr+ETfiPhdUEEKhm5kyEHK5ORWvcR4vQOYVeqZTAhf1jKfbhdL2wuEC1tH3JBzjeRdAc1UXwNblbBw==","signatures":[{"sig":"MEUCIEbZO0vJ6rpwxCg5Fnv8C4WLkF6fM06xx7actFkrM+LxAiEA+nb4idWgIZRhSqeno4HLWvRY2XCGD422yrB+XUphLTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQa1NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrijBAAkZxZdSieBhJaE5Njb3IirpUlPsPqvrDVVOcks9tAloafgWlM\r\nsDqyXjI+atYpzM4VmWKqFe6AS++E4eRv+ScLiU9W4aGqRIwQZeFE08Egg9eP\r\n7RFm2zjFz9LEwogdOCP3EEhYZOpQpR80wNoT8HHVeiK5VDyy4yBtyKPICUSJ\r\nDq/VUNn8CHxOQulOHNQLxNBsff6PFUVnRUA4FikOUc5fS8TUbO6UNQQsuozA\r\nWyylkykfHnnou+6AOhQY5u+OQwQCIixrfiq9I6AoRa/hXFRJs8zRN2GvB957\r\nfcE/x7d+j+I2edHGCa3bvlU1R2PKyioshCzuhkbprH5pTtmP5CnCjXA1vAW7\r\nmVpQRQ281MdsaU0IGp0ge55PR8sr8uR9PtS0v6MqZ1D7SefN4PXEeD/BBmHZ\r\nrXALvrYHcBDI9cjvNwFzyoiRdPjOb/VPRXiQVz7PKTCVF9zlMvKJbViR5bhP\r\nhH+zQxFsCUui2GnMOXiwbITfFk3WTELPi+OHpdAGx+LR9frFLo1aTL8xcR/A\r\ndYxw4Nc2NXBGU/w6yuAaYgkjfSEmYgx5COwUAM3dZKO5EwrVzTETAdRwCOT7\r\nT30V0o0BMkFRqQOzaVZisEyXp8+cihZD6bm5eSX4wuTGnlgBy5VSW2uVY++S\r\nrBfP/2I0g4G+dShvuZZdmk9mI1NdvO/QiuE=\r\n=fnhE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.20762e0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e9541f3321a9dc301e0cfd65865ac474/solana-rpc-transport-2.0.0-experimental.20762e0.tgz","_integrity":"sha512-iki1c4L4gr+ETfiPhdUEEKhm5kyEHK5ORWvcR4vQOYVeqZTAhf1jKfbhdL2wuEC1tH3JBzjeRdAc1UXwNblbBw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"node-fetch":"^3.3.1"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.20762e0_1682025805152_0.31968950490737","host":"s3://npm-registry-packages"}},"2.0.0-experimental.239bb91":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.239bb91","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.239bb91","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0b8afa348cca5358a8f1809cdc1cab25f386e338","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.239bb91.tgz","fileCount":23,"integrity":"sha512-N8waWLfzZ0x/Y2OB4WJFXWQfWr2bgHRqcIeVbRPv1ftxcag1uYtarapJCQrp+keq5LXgDuYz9pIUKr6a6kT2QQ==","signatures":[{"sig":"MEUCIQDKhBO9+mc9d2HfC7Xtx7VUF/wQu0mR0NK6fvM8+1fc/gIgTgWd6ErHPQB6KWXXhvrMn0EJSLP6h6AZHiRQDor1XYc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQdO6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkPw//ToygE0J7nsIffMTLBHvo+sQ6H+jsyjC7/TvysMrTz+pJGS/M\r\nWd+IivI+rBO9TkrGepMslHep2kzqy2t3zQ6u1/Xbaf6+ZyAXKP27yLxqsZGQ\r\nVjka78EtUlymWIDqGAtBDvYKZ1FDD3wRiDqTYDDFCn6aq826RNI0a9VoCzXO\r\nMV/2GeefazOSPHyS88z0X1MQCyHPJtydNb3N6TtTqCqZdnKgwFaIefbUMzso\r\na/r42PsGXePSyo4rybGAQLoOGiKDZpf6CGhe4688pSrUYt1yi0//Qq6pYkAZ\r\nE5+7KepSujfrYwOw5GEiZvSEVndXpihuysR2ooRZMQhytWOCQkBUSTX0IZdP\r\nbBhXxP6M/icR6E7nGzVXt2gZltBxRPl3cAi5wL5shn/RmQnPuU/TV2+XkBh+\r\nL2YERKVrWtcNKw2Xvl0XKjFkxUxiUjogpGRA5fThtya9j+ZzUihFcp0WckUF\r\n4aXpkTKhkQwQ8wgZqiziyfZOnOhtdbFUH2TDJ0ZUugRmVUDHIHd7TMaWbTj0\r\nt9R96QpFPeBmE9bWzVeKG/wOYDaUPLH4DaxgFWcPz9gSEGhIQyU4zowiGgJO\r\n/+y1xRLdnV2VwIFgMwOSiyNsxprkVppdZIDUyOAiTHh1zE0K0FASIPIdW39P\r\nIEfQ28PKoOZqSesC9CtRvHRMZXRNzcnVng0=\r\n=jw++\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.239bb91.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e1cde68135f26821f9e8098f6c443dba/solana-rpc-transport-2.0.0-experimental.239bb91.tgz","_integrity":"sha512-N8waWLfzZ0x/Y2OB4WJFXWQfWr2bgHRqcIeVbRPv1ftxcag1uYtarapJCQrp+keq5LXgDuYz9pIUKr6a6kT2QQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.239bb91_1682035642134_0.4629791287314067","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cc1b7bb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cc1b7bb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cc1b7bb","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2e1a4b0524d5abfdefe4ad1bfa6cc1698ee4cb74","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cc1b7bb.tgz","fileCount":23,"integrity":"sha512-63KEaeiM38HAUe57GnTcQLtJVe1SJhbXKCHhe22ngT3SVtUdsWgGQLfVtesflcNvD0uK5KlCHrLp5+upwxJ06A==","signatures":[{"sig":"MEQCIGaDArZHbTJBhX1uS6yjqyyEDDyIr6RIcNcjCd7fUrNgAiA/Da2i9odkdLdLfv+u6Dm+DQL1UQqP3eai2er/oPqXxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQdhvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqh4xAAl860xfbHFdGk/lFSd2oEDMlRq6BRb5+NPKEQ2oH5peCk5tai\r\nuZnMLbG85G9wiTsC6cE8FziyA6Oo27YJKFsIZcSyFSr0BUdj+1wuPo3B+vRN\r\naACtZjUjU5IBAmR+zqC3iP5ivw5oJrsdfNSteNae61iI6iUwJ7vsuABagXuc\r\n4q314BdS9anmfP0krpgD/AyRZwI0yi8SVngNuwewPUzh+BNysr6ooKYzxxDp\r\nP3ZyNBFQkOOME2zDCNDQtyhVYc36Hfbn1O6TG/fokhTUPlKeo8U7T1qn1gli\r\nxTZDwfcUHhOpKlMW5ED4tfDDf6mMU7rreEPbB42mrXrcPtC2jRe1qSsa3Msj\r\ntqRGguHC+XqN5yIsB4jd3UARb/ZBgL8DkJrVSFUlNShPKAp+Bv4QZX/V+bkG\r\nTMBsJlYtBvju76j6uiwSQXVW2h9yOSpDmdFLBKo+W9DIp4zyFaf9iP6a7uN9\r\n76OneehCQsAqViYyP+G4YN2B9rECJM8i4kFJb/MW8BNEIkPljzVGOuVDLToz\r\njVyLhOWNaL6oXMezYjMjK7ZftMClN3oy1gXP+c1novZTEKvFSa+q9J3BWAx5\r\nH82xRzGP5J75zjpaKm7HFgpsUP2WvachZ2tbCCEJGPgVgpwlfEDVdAoxu7wT\r\nPSAKJ9YJXIWRAuIrI+UVAm+LI6YSdyWvQqQ=\r\n=XvRK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cc1b7bb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0f0fbb47b17577dfbe5532f7d36adeb1/solana-rpc-transport-2.0.0-experimental.cc1b7bb.tgz","_integrity":"sha512-63KEaeiM38HAUe57GnTcQLtJVe1SJhbXKCHhe22ngT3SVtUdsWgGQLfVtesflcNvD0uK5KlCHrLp5+upwxJ06A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cc1b7bb_1682036847370_0.9255421711475214","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b69daf2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b69daf2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b69daf2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"861ef9dc0a4dc10458ea5aef5d9836401d0baa3d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b69daf2.tgz","fileCount":23,"integrity":"sha512-X5SvfMA5UyYgl33RIkP4nzoViKMbw2IDl+mNnqkthIDZqK8U0RYez/Tuh6qKBgC8lZE+Q+vjMI4EjwYCyZwPJw==","signatures":[{"sig":"MEUCIHJfih7Pv353C6rgj4LZOjkRwlIZY5ahqRnke7diJvzrAiEA3YxkSM80/YUhtYPRqcxp/eTqwezMgveBOyBbl6d1I5w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQdqSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQkQ/9GS7PYALhK38mp46iFJETdx7YcRPQOIE6nfIqK5qVLROD/1rB\r\nl2aOb2GsyiTbr63g287WGwxpAdEDQMQL1pxY6p8vQANCjyTMdSVNrg9vzklt\r\nviGn3iq5FTYaxjXN3MNLMR+Tzct/WPuhtvzh+e2xK7TiSyC2Z85VF11xx+/q\r\nFf+JcbE5Mhn2y9PpUxqoJvybg4vbkAHVHdAx9LjfvF+mMZZng01huwvgOP5S\r\nf85T9CI9ikKlT/kfTVQLHtykZ1eZIdGgG1RshwlLAtA9YU4yrYhjvgPCJfIC\r\n1mwFR0k1o8xbieAE1TP34pCOTkRyoIdrigpNnTTHfhau/zSTuT7lbseS1/hH\r\nJm22OQ/Pf+yonmN4IK5ViQ9Q+aRIk9d4punrd9PZ+upJOF93Mj8cKVyUqxsN\r\nqAF3n0T2SJUBFFp+HnPiKYckxMfTMiDbCluU+W6DvjcZefd/yHgvxB1444ss\r\nG+X75w+6kEXgy6Fgbp+oMq7uGKEzsfuo9PM8jOrAjd0HNDkrDAnSCkLtm3Sn\r\n9a7B06bi3vpUQT01P9AG1zZ2OyEShPVSgmxrQIpz9ih6+yvDFMx0QAIZad1S\r\nMxQJINw+5Br99Pacc7UCHUVOK/Af2zvehqc6ski8FiTx7bMcXHHwdjK2ycVO\r\nXlz1aE8O2A/FVTc6+EAl8nLLBwdqhIGW3G4=\r\n=ZZ7G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b69daf2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5b735eeb43c4d46e56629dcab8a7bdf1/solana-rpc-transport-2.0.0-experimental.b69daf2.tgz","_integrity":"sha512-X5SvfMA5UyYgl33RIkP4nzoViKMbw2IDl+mNnqkthIDZqK8U0RYez/Tuh6qKBgC8lZE+Q+vjMI4EjwYCyZwPJw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b69daf2_1682037394346_0.1865900653658612","host":"s3://npm-registry-packages"}},"2.0.0-experimental.83a390d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.83a390d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.83a390d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"eed82ede0e0489d4a8cb9388c4e0eb427a3a2207","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.83a390d.tgz","fileCount":23,"integrity":"sha512-BtkhtlIOl4uf2Zzb2Jiog4fCEjkzP5yTwCi7+ZR9xiCg/mDDIIkwsm/XxbHwkdtHJnRi7bq06lMd+l27Kwbmrw==","signatures":[{"sig":"MEUCIQCxOf5Kxnuc8LlYiYW1aaXVo/E+w15WglP+MG8ps4U6eAIgCzloQhzrz08UgeUv1IIRUMboe8cztP6RpIGulQbsGDg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR2fWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp02Q//dXLNLE1gKfHCp38Y9Qun9lemtGYwRIZNYBaiWtbPrz0mF/kV\r\nSMx7TbZfXKL9yVpXOgwyHGfcwUBuRU+e6rbhfcY6eVkdCKkkkfUiTsOhCrm6\r\n+Mqhp410Ddo2qEgx7vafvcOOaEwF6AyuxuGBI1Wn60gu/nX4fomQUkVKQlIi\r\naL2sKzTax8eu9iwaMUDc5BVcqWXSsMRGY8nyA55zOM0n9GRODYTarijeIlgg\r\n2aIq3CkR//6br42ac+wc4J9njSguQSTXqWssdSP9eoR+Dggy5ThilqUtSmNI\r\nJ0X/Ny3hT+seGYVlrIT7Gw/4BGgFojiiiBsIVH1gK8Iob9mit2/Z4oRNxdrU\r\nvHVZJ3cW4tsh13rRpu9XB2AR8QSciqPYgOfgP24YZCiknHoLMJSDhLeoLerT\r\no+oDQrF+i7VcIS9hR5Ui5XOdyvY5WA15vIfsekqGNcCoLkxZruhxR37Pi3FO\r\niOzuRwrRRk8J0rNwFFQBU124hqW0fG4HrC9hyHxYxOuo/5q1NFlo3stlSdPc\r\ntrhWfiI+l7isCN2zDmLnmqr2PqBZucXBZglLKWqSg8Pu1V7A9cgZ82Oh+1Gz\r\nSfMKe68dYxNUEbv+7NSVviLftSteMqG0pjNUPYpundNNeL4Wg0k46pqSZCXV\r\nIPtMBsAbquen7aIEvXAfiKeffIKISeOXjzU=\r\n=3P+A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.83a390d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b498a8e45f71366183b18663b26d1e7d/solana-rpc-transport-2.0.0-experimental.83a390d.tgz","_integrity":"sha512-BtkhtlIOl4uf2Zzb2Jiog4fCEjkzP5yTwCi7+ZR9xiCg/mDDIIkwsm/XxbHwkdtHJnRi7bq06lMd+l27Kwbmrw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.83a390d_1682401238081_0.7641866750781514","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1b52291":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1b52291","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1b52291","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b94aaec5d299127453e463503664f0d54f48ec0e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1b52291.tgz","fileCount":23,"integrity":"sha512-2fjAHhMTcMEWQqzrEECj++VFYn/m3ZwBCJWBmAjcNEysW5e7Powhp0PZlseNtiyCS9SZvxI1yhaRsCYh0GH2oA==","signatures":[{"sig":"MEUCIBygK09pfyzkZbqcZGZdn8b8l7sNf5A5lcJ7ffJcWWxVAiEA4csEKypZ4DDnea+reg2cfyU/ge3ScMcVlD8eHlVVgzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR2pqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+7w/9FGl3iGupEH8FhurjcGGi9SygevGwO7+z4oW7EzWUQXOnyfE8\r\nCOyRsBkWhicmehSsu15CfXHH/Y5r4rlkeZWyo8aaIErEaXusgFrv5R/ZbDnW\r\n71y51ayvvLMtaqIKJirX+ChAPE32Tb5a9AOj1uaur3hNyPHZ3UOR20i3Ge0S\r\nww3z5IKGAbutQN19wieLufbxAUQCtvthnRfpIYGzpenK1ldi6MOP1I1thJyM\r\n4XUyGuJHElSzbFiGESxjXbZ7Ef/mQpHLdyTLBlrEr0zlQxNnBs97VkuKne75\r\nFDqjrcbRKNSK6xxNTHx2JKuDo0jMMealRb/hi09SKHpN7vTBuMLqp3FBruD5\r\n3fzsVPR+vh40XJXwTJfH/TTwee9L2rS/DzbFTI7A/nbCB0O79PW/31xJV9Fc\r\nexy2a0KdOCqWPtjlNFTQYP3E/f4RQeow1yH8z8oD5i3xnksn2Mw5ipPJRPYI\r\nXzpWzRuEa5icLQFct76txtJmx0CkbFYDfKsVeeawTn5h3u2X32q3RmrN2FbG\r\nPZtcLJ1Gb9VTTrf5e4mcJ+3hvkLR1i0scvUXx8T51DlUsslU/DZM8zptdsza\r\nrM3QVsfXDyc0Z3ouzY4aqWbQC6rPXCzrKwJgigaw5Rgl+xhVR/B3Sc5jdkVl\r\nZBrOuhrs+QYWJkeA4G9VoQn9zyI+Um0T5p4=\r\n=RCwZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1b52291.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b88f6a5d53513917f83787fb04766c59/solana-rpc-transport-2.0.0-experimental.1b52291.tgz","_integrity":"sha512-2fjAHhMTcMEWQqzrEECj++VFYn/m3ZwBCJWBmAjcNEysW5e7Powhp0PZlseNtiyCS9SZvxI1yhaRsCYh0GH2oA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1b52291_1682401897819_0.8892762498001903","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d6c5c0e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d6c5c0e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d6c5c0e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2c47a937117a40a1c65ff10c031e7ae637c2ea03","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d6c5c0e.tgz","fileCount":23,"integrity":"sha512-LHnvQwXP0Tl5017lpEGfBHCcZf80JVA+eKpmykD4HWXJ9fVrRaHGRbmoNIOg6bQdcxGbChdM8paG4lp9tG9PeA==","signatures":[{"sig":"MEQCIDQCwPhxE61ESlP1L9sIpWHUfbWZzM9vlyldwZPIDsjLAiBCKQtPi2YaLTSLOM9NVUuxzXRLrXRFsjgcEn5SkXKwMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":118521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR2wZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOyw/+OWo424BmjzuCEztTwz9zgobQR8tGqDsOR8vqhYwRJUCGRYus\r\nOAik+u7ccR08RRzBbgHi/sJQodsbdlNol0OBmI1TNu12RcbK+Dn4ezwm1uJQ\r\nU7UcjyKhYp9cPWk1wetePRtAHWBUPB1wbSQcyoT1eRPE+jf2H5ip9eLWDtwV\r\ngTl79+ZSkXKQmxkz0VxHUVfmGg5KARaTNsywSolqgSK12e/NElNloCmnLkQf\r\nLsfgwfqs6bWwP9TU/WXXbO9vn5khwV/purlQdt7qqnUJCE0AvcGNUxM7C3RH\r\nMZEcmqQyhpPbwKE4PhpJgzVSNqtTvzVLphkLA+DToF7c+rRctp6x+MaAz9JW\r\nGnrn6UOp+MttDQW1Lce7TUgzdbQ02pnzY/D9EbWQqfPJEv6dY8xMptiz8Dc8\r\nKdXyA8zDJ21Qg6mqtEydze1a+lsiKYUTt6T0znhTu+2npuTpYV8EVQh2Wxo/\r\nEfpf7+smO8AHvWavNZFxjULXi+RHm6zAXd7anGh6Wl9T5m2VZz54/LF3Cv67\r\n2bqLqJCppoMmpPks+Jzrr3G6OY0DEg8KmEHFCloH57tjUpmk/X8T1g3eS4/E\r\nr2J4E4pSIk7uyeGvbj7STt+cjaIXtQFEyxy0k0CMnOZeFXDwqHaHiFWWrLMV\r\nroV3tOW8VybX4hjQDJHKGOi5kSeTLhHjzxM=\r\n=zVif\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d6c5c0e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"ERROR: No README data found!","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/286a947b6f71a7cfea284df950f24f35/solana-rpc-transport-2.0.0-experimental.d6c5c0e.tgz","_integrity":"sha512-LHnvQwXP0Tl5017lpEGfBHCcZf80JVA+eKpmykD4HWXJ9fVrRaHGRbmoNIOg6bQdcxGbChdM8paG4lp9tG9PeA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d6c5c0e_1682402329668_0.4813249621893896","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a1e77c4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a1e77c4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a1e77c4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"565af20f65cdf3862d6cd9aea136bbf13e674dd3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a1e77c4.tgz","fileCount":34,"integrity":"sha512-pjeSxZ5q+iq+fJrzfp7R679GvdN0Av2oP1NDel+lNFqu/mO/tJQkbvsnv2jTO6skhN1GDyRm+hNuXLfNgJNhFQ==","signatures":[{"sig":"MEQCICWqLLndg2JAwi4aclwbPr9rrU8Ntzo9TdL0MRxhoL7qAiBB4ju6vmiQC1YgyBIGkI8dvnj4qsIT5/JfskxcWJ90RA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":128396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR3R5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoF/g//eN9zEB1NmJ+/DRiG4R4tr8klroUtBVPzL4OWiIDbW4dGYxjy\r\njaWKPO18dyhWa6WYHt0uGsWPDVbA8z1KDSTqL65lNFFvEvSATpXwzlAAow3E\r\nClINwyDPcgT2MgYZqwbtQyEWY0OP4OkyCNBs3utXhXV+DeUUI00FAnGdE19F\r\noOQNJTDP84o4yfwTV5El0cXY9fC9NXGC6gLuYEYlmNAz3yw+Q2kAo/1+/mHm\r\noJ29YIMhKTngzkT3diWaBrrRFZoLGcvXfVVX1Z3aWLILHcHmnziUm7AuQxsw\r\nsUKTvTGuHAg1/Daj0j2sUxk9IydndqDA04/ugu3ZgjLNh4kT+kuerrmG9yHW\r\n2MRIKgauu8BjwSHO3JqJ76vFN8uS404qy5KqCI7mUeohodqQZTqVc3+gUnKi\r\nP6qW9EJPP6pm2q/d/Oh23aDH/Uf4zaq3vNfN5QT7+4hlYvdtUM6+FJUctSW/\r\nvRMTGk5etAdABDvAk82w+7YeMTKuFQdGlEDYsi4jY76qRFGPwRo72sbI8hi3\r\nMMeq91lB7qken6/zxMgRWYqYPSUA6OXqJEhkExCqUOoOuySB81V4XmK2rO8d\r\nQhoq0tL7AkwDVIHDIG35Vbw/3mk05beDYek2N28dRS945l3JpmjgKOjFsHeD\r\nHnOTNx8jRn+PUkGffkrRsWoW3CcEcOmuFu0=\r\n=KJdi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a1e77c4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20);\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name, \n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: (response) => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/092f97a3e93b265045fb0309fec4d1fd/solana-rpc-transport-2.0.0-experimental.a1e77c4.tgz","_integrity":"sha512-pjeSxZ5q+iq+fJrzfp7R679GvdN0Av2oP1NDel+lNFqu/mO/tJQkbvsnv2jTO6skhN1GDyRm+hNuXLfNgJNhFQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a1e77c4_1682404472840_0.8138409390372592","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8f00f4f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8f00f4f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8f00f4f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"cdd9cfe5993799835ac9d21faf788bc8aa9dbb8f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8f00f4f.tgz","fileCount":24,"integrity":"sha512-l3g//UxZInHEJAQx3gT/NGzKJXB6U5TyVmYCeHC7fyfZTYrwbB1b8gYhuG0IENcvi7e50r0IBITzmEM9H6hSXA==","signatures":[{"sig":"MEUCIQDfDfWR9lpPkAzajAIHi3M+OXRuQVNAkzx72TqiI5uKCwIgS+76Oy2gV+M4WCZW11QZCxe+EzebCAL+8UnmIiZxRs8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR3SVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbHQ/8C3HZBy/AXZHdHfNOgSbchkq0RhMdpxTgW2kAeOPubTXmScCs\r\nuXc+Blq5/6BGztDSYY+9EVaM3HfI3LJNSBcnagQ9LVs/fsJJWI41awwd7D1f\r\nR6bBo8JutAGs/QtYAX2CQe8MgBOdpcWDfLHpq2sftPZJblFwJlhDiRQOOhBY\r\nHb11WGaEBAsmG2qh2gIqS3ZdIkaFOWJLluEcfDymMA32jxLrM9grISmAeCzs\r\n14jJXdcAnAmz5Gi0TdvyiB4DIFLbvJ5vEr4/1zynwYE8EVBxpHA4ECsLPYZ7\r\nEQZ12FX8eL9O+g2Z1CqZMAIdxUbpB9cIDhGNFML3NlF7iDHnLCkzdwF7/DjT\r\nZFo0wl1A9I+kmt0VxHZRHIrkKjbhvcNfyRsCn65wR+JNUdaSjjDuIQUMhxHw\r\nNXtv39CCOUfAHAiIUuqjNus2eXWl01EWomavB6bZkYQk2fRWdoZwTJX0R81C\r\ndpuoCQj3r/TzI4j3U19qPDajUMiBBgs7ey9nVm+f7IPnbBmCJeJyLd8xAwAT\r\nQrshWuqnNuYWKX0Iv8mTtnSZCnKJSBh8zTGHMjfdfAfQcnfMhhB7QH6DMp1L\r\n5Fwf1/xuSBPSeyIFXi2ZlBHiA2/ibITi+uRtCfWhiEMWhEeSDat2YzA1ojDs\r\npn7BvWTNU4qjbgN7Hmk01dufGh+ENeyiUbs=\r\n=/eEN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8f00f4f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20);\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name, \n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: (response) => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3d668fba42481f5624b05aeafeb89862/solana-rpc-transport-2.0.0-experimental.8f00f4f.tgz","_integrity":"sha512-l3g//UxZInHEJAQx3gT/NGzKJXB6U5TyVmYCeHC7fyfZTYrwbB1b8gYhuG0IENcvi7e50r0IBITzmEM9H6hSXA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8f00f4f_1682404500840_0.5105445330654408","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b219d97":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b219d97","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b219d97","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b1f15b52996d7edaa052a03df6e30bd72a453641","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b219d97.tgz","fileCount":24,"integrity":"sha512-+8/s3ZKKahIaWzeu2DYRRCt39Oln+eZ7tmqtm1/UVejUxTes88kMBjDcjOQgKEwzLi7OfQ9xrp7ROHGZOcDoZA==","signatures":[{"sig":"MEUCIHSfhSLFMNxoK78hlGJy1z/UNb4hgk7VV6hUSXSQtBZrAiEAtJX8kJNWQaLHGpa65Pl5u6Aor3nsQ468Edpe84uonNA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR3TCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrk5g/+K09hv8axwlv6LWPxZ6os+Q2xDR4fW8IaZ97vPfETU6o9Dfsp\r\n9TM0R0SST7DOBjXOnjx4m1OSEDdRTBoSFgHoz2x32wAh28GViuL++YgPZ78m\r\nMwgk2K10IiLqr3ARNqmXaytwWWoCLkNK/lEWCUivi7FdZcyzvEOPVXAR5UTB\r\n72kYZu+C147xt18qeIi0pNzYm9in8Wpjx7++SFNS/nDpvuLSbb2nc7CunGYh\r\nXQMe20cQ2g2BJG55zqOt+KyikmONNCOvFZ/vg/mFlmceYxGSSFJJB16SZvRW\r\n+xo/E/Xr0gGKp91PF14z1bQVs3SPlPvkXhmvonWvOuJIhq5F3JODH4zU8eUx\r\nko7PmNbtbxzfcbQ3Wn7VOc/SQ2Rrf0pSYc5w5+Ety275RoSfJEbnMHXqoGKI\r\nbKYNFnxP7XqBomqX5ADHRjOdPS8uocxLv1ycpsa5C8UlGGI7CEGgeGVNAubu\r\npkTUhYWg+MW5ugoVkVBlB4kZDquu0QIMLZL8Z6cTlmXZ/e1TC6FcKV8gdAbK\r\n5lY66GmCF4viRpFV3msh+MJFlHsgd3+6IaoiPttcbwDib6XIg8Vu7VHtVa/f\r\nEL1fFUVkbB9c041+p3eJcWu7dA9zW0z6eHZZm3AB3SfS4/7vMiFo3MX6vWZD\r\nVkGkHDsLks6q1fCPivgiDQW9+Cs4NjKn3C8=\r\n=x12g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b219d97.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20);\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name, \n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: (response) => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5a22bfbb57d22bddb15382dd8f770c9e/solana-rpc-transport-2.0.0-experimental.b219d97.tgz","_integrity":"sha512-+8/s3ZKKahIaWzeu2DYRRCt39Oln+eZ7tmqtm1/UVejUxTes88kMBjDcjOQgKEwzLi7OfQ9xrp7ROHGZOcDoZA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b219d97_1682404545830_0.23950222587544157","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9d02c04":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9d02c04","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9d02c04","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fdb520a3d2aed269d3841635669365255165ae20","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9d02c04.tgz","fileCount":24,"integrity":"sha512-ibwV+UwVe+llb24qApQBSo0j9uQEABnDVrCZciQB2qcTg0IDJ50nn8S9ObxrbIfwQxlJDa8OQQmY8vlkWM6WaA==","signatures":[{"sig":"MEUCIQDuSm5Yo6OnEPc12e2i9MXy+kmo6b8CjWJbbxPsRfdMBQIgXOeo2vQcwz0F6r0oetuSPgPmN5w7SWO+Uas15rYo8lQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR3UlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWiw//cm/IbB3k2n6pGNNZijcN+QORIJdfUlVNIvNCDPfzOry4gZnp\r\nAQQ+tdaLI/FbQec2ERnzEekkD1j3GbGPKQLApteWYjTljJ+KrFqr+9afYlv2\r\nQpZViw4xXA9zw5lZd4/3dL7PuDNETedz0sBOxSAzBHkytFzxT5FqLWKwpMGr\r\n3M4NimV45vMHVGPYxk++3/ZU9GSvBqRDgiBHRarzAQcDbXOK69xGKi1yhLWX\r\nzmmkAjKo/kBKCPErC557DLdaof45mnuwIqdiyzu3O/JgHKHRkx1joeWA8x8m\r\nm++drfJoA9qnEJkYloBXJI7bzg2fXsJDFBzK13Oo0M5I4UTQia2VmvxZZq3c\r\ncOmXZOXZE92hPYhgm5VGS8SZbeXyrs4ti0piED32dyJXjUIrLEBdlEpWii01\r\n4bZfU53y+FzNLU7ciAjQIOXQ46/E3+PMMK4czedFfR6vlVTD9zaXqWVEKfTN\r\n0rwmNEGKDw/i1OZBymcTR4ttJp8TbvRrtatSyvtFTD/ccyDC3QvpQW1c+Yd3\r\nasSkhs2uFzOEqhlFUBWlWwTUnVnjMNrxUSD7NKUsuFwcNBMG/I1C4L8OL6bl\r\ndRCUGSiG41LSCYwLl4qrAvemjgQFSu+9qy+DC3asOiug1KblT5VNf3eIE2qu\r\n5qoztt8GOemI9JpVmS8rflC+WXsAvphZzNM=\r\n=N9j0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9d02c04.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20);\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name, \n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: (response) => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b5e929a1cf6bdb7557dcae6366728147/solana-rpc-transport-2.0.0-experimental.9d02c04.tgz","_integrity":"sha512-ibwV+UwVe+llb24qApQBSo0j9uQEABnDVrCZciQB2qcTg0IDJ50nn8S9ObxrbIfwQxlJDa8OQQmY8vlkWM6WaA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9d02c04_1682404645181_0.8727786685913745","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a3f93f3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a3f93f3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a3f93f3","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b8dadc790da1861cc8d252077e6da68b430f5382","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a3f93f3.tgz","fileCount":24,"integrity":"sha512-Bvm1iKMKynsPYlHzqpuYvJTMH0HsR60LykG3AahLcBiO1oZLjVjdkPax1OabPNIWPOxFYNqkKe0ARGAKxpf2xQ==","signatures":[{"sig":"MEUCIDZx3psJTASI8tPpDAhdZgHiqFgf55Nmm+NS7Uu+28ANAiEA48bGX/3VHg0lK9uegtlQ94wclDcMtqc7F2n1WPMJ3bs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR3VNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpupA//QVEGfgBbTqMKuNVAfWW5sncjRU5IktsDuRttwW/+n36+DpaH\r\nsR5n+rPkNUSthWGyidu2ZfzGiJK54p0/wCky1/LGRxh+ff6CKLkL3cyYtbpj\r\nAARviR5scZLZxIy8lVw7djxIV6ueU8jX/YirlKcmqIE8bE8hdUwIdS+dTCgf\r\nrOv5r/S1Wyc13E8rrdwjYfn9wREfJZtFpHc9bU+dEt7Bc3nSfTEk+A98Aa6u\r\nloNL34/cFtntWuu5KQH2GarCp98cmCUm5MVFMbX1/l0Fo1ydjHavNOj1M9xC\r\n3IuMbENKxYvPZ9utoTY6nFE+it9aIs84dR1kaoMCDmucsvO/0SsuakEr1MNj\r\noO4UMqnw2erHo4pyl4Z+3nDhMULpLpP+7LhEcqGRKudgDw5N6tYwjCaaJeHR\r\nY49Dia5J0EV6j8J5OAGqgz2Fto8h9FazPLFivXoPV2s/qlJW+V0d+57rXgtC\r\nJv6VfqllaMBm7PNjLfvhrkZBr5RUJHrU1WPIHsqZ29SG7o++W9r+7yWGrEoM\r\nR7ZgdmrRlRt+ehV5izBAgJOmryjSfyvG30McupFGH3/BEJ/aCiQd7LnOl0fh\r\n8w8Fy6hjHnNOxZbANECB6e9psg+q6btQMDUL07AcoraGCwmUjwAhvmlCuvxY\r\n3vX+GK3R3OCbjylrU+GGWDQbdT2PmMms7MU=\r\n=PPSE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a3f93f3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20);\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name, \n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: (response) => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/fc2f1f82827a47557499b97703684c91/solana-rpc-transport-2.0.0-experimental.a3f93f3.tgz","_integrity":"sha512-Bvm1iKMKynsPYlHzqpuYvJTMH0HsR60LykG3AahLcBiO1oZLjVjdkPax1OabPNIWPOxFYNqkKe0ARGAKxpf2xQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a3f93f3_1682404685384_0.34944861955467155","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d2fa52f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d2fa52f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d2fa52f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a5593e85ba06277e1b92a4eaf14e702cc7abd758","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d2fa52f.tgz","fileCount":34,"integrity":"sha512-Si0VbnmUujYUwA6UuWpzWUvmkWWb39uz3GqJujTOGugGHKTZ/GsTWct95NWQVihBr/MONFnov8kbM0XY+zSBTg==","signatures":[{"sig":"MEUCIFyJmweCljaLEEMlHVLh0aqGOeq7ba8+OQy9b/UsOug/AiEAvUE9nea0HSglYj259/mpAhOudOgDhAtXG5jY+ifItpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR3WJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoceQ//RJo+Tp/oHD9R9oIU0Mx0XirUALA9rjyTVFNsdQQvRTR8vMLw\r\nswvaHOiLs/THV60kyp7ZOpszPQsN3dxAJxi//WqNK0ZjCNEDAT00pnZi8eEz\r\niJUz9xwUgB5q8HWVylHiPAfy3osC7nR68iY0fDOxoc5scqtjrgINDFG590Zt\r\nUh1Xz6hf51iSrVYizFTQY5dodrFsRuWWeMhXeL/TgUXzlJF9gAvbHl74k2Bh\r\nu6+gTP3ju9U+lECzJorTAzDGW7c4ohaO7y9Dk7WnAq2BLdry02x7ntkoaHNG\r\n1TGHEkJKSGPm4/VP1hPo7gN6aivJ4YtsKv1M8E4aJcUyGviUKJYLcHjNvuw3\r\nQC6Rwvw0NDk6zO5xQQpc/28UByb9xh/XdyxGP2zyelkaPRoQxU7R8IK+K+56\r\nYvC/mnKHm+WGBLHPsHUT3rvwk32/3F6X+kScEGcaHh4I7WXt5cYN45DFknL6\r\n4fJ6jSPcy8wY9A7x4Mt0E/5JO6XOD2coYVyz7Qc4QA/nONvp78hsvOsaV4l7\r\nI6/QE0fxwV8rl2lsLdoIpOJqRwK2AiyLDDFMDsISw8pNaaXey2V30P7biE9M\r\nO84ld3nHXirN2rA2IinHy5L1S89vmHbDszvGplRbJSgWo2RWq5LeMy6+YeKt\r\nEsz7oC83OrkqcwA8hAFuvPUk75wy5eoRp/8=\r\n=Vg5h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d2fa52f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20);\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name, \n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: (response) => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ae8fb10f357072a222d412fc211fca9f/solana-rpc-transport-2.0.0-experimental.d2fa52f.tgz","_integrity":"sha512-Si0VbnmUujYUwA6UuWpzWUvmkWWb39uz3GqJujTOGugGHKTZ/GsTWct95NWQVihBr/MONFnov8kbM0XY+zSBTg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d2fa52f_1682404745066_0.4562647062563465","host":"s3://npm-registry-packages"}},"2.0.0-experimental.77f78a8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.77f78a8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.77f78a8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"618319a7143933186f1e4c0258c47e4d70e0304e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.77f78a8.tgz","fileCount":34,"integrity":"sha512-wp9W17ivnJwepzmmHyjQzcTuQ66lHkbSz84BMwlUlVYUUBGav+WtQVB9/hhzc9dnTcQ21e7Q8TKRm1y415Y9qA==","signatures":[{"sig":"MEUCIDyMxhBC51DjjfBVR3gqNha4E8MNY7OUmHDvdfqBk6LRAiEA1KpON4HDEnSdbpTBef2AkTXtuBhAnOkqL6pBUkWf3Ec=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR4DMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJBA/+OCyQ+D0u3zNIhLpSHIc/zR/sfPu8Mu8tZDUCUqJyCr+t2jef\r\nNW9mdPAArWKnX3m6AUgoD61ESxKeF1FmLyUikZJ4QCh/n8mFsIrcvY3T+v0o\r\nWepzKSiCuBaSdJS8kA/ehPbKhTEQy9YfXacCGtBr+aQ86QmhDewGQkE0+U1e\r\n54lqYxn7HH8ZwVyg5vZ9y49msreMWPtNW7zvkqiawGd1KUWOwfRBjC21VYI9\r\nlyQn4DD/3KaJEK1HSPjO7aWRV3ZXdHhHol3YCyHEbR4Ho6ILCewr/692hlXA\r\nJdSkZs82DNxB3fQFUlGmknDnhV/36RrWEcpVgReBXspt/GG4XOmhZkbWNtNg\r\nbAKP6c8NrL9x/bqmqauqA7gh3m4LwflLZjt72nakCYdxfiRVMHbfsMcecW8D\r\nzP/KUepdASzlihcK3Mw2ZdBg3/uOITNneD1aHPUHWIKuES+qQj3LfhEi0C1a\r\nItPeS4zl9QOdYU7ryBElGfDDKSOw9XRfP0b/l539NDx4YUv59YMhuYRBLGzv\r\ncBzVgDfqXnlwEfaOfC687YZh3JdTdtYEU+czjoSTeB06gB8KzgxG6C9xDu53\r\nB3KJ1u5PDU6VlWD0jkSoBWEX+XqcfWK2ijAKMLOV0RVNVMaitH1xy6lioV1O\r\nUHuiV294C2RvSSgxx+CX/1v/Vx944Q9Haes=\r\n=p5ih\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.77f78a8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20);\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/37053661ded6a59d9992ca6017f57957/solana-rpc-transport-2.0.0-experimental.77f78a8.tgz","_integrity":"sha512-wp9W17ivnJwepzmmHyjQzcTuQ66lHkbSz84BMwlUlVYUUBGav+WtQVB9/hhzc9dnTcQ21e7Q8TKRm1y415Y9qA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.77f78a8_1682407628128_0.12753257302788512","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3244e3e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3244e3e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3244e3e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"cfe25e60cb8532ac4cc1ab9f6020413da5343ef8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3244e3e.tgz","fileCount":34,"integrity":"sha512-zGjRz7H7u9m+OQkHjwhSSDP2X6Oa9h5mWuH5zneYvpcn1QL8qR5wBxxD8TjJPohH0NpiazF83Q7BhPCUumkWXA==","signatures":[{"sig":"MEQCIE7YIlO6DFrdv/SqLrRTW4Yi25RO1AW3e8XsROryQLDgAiBKkaU8CCNiXABiDx7e9tWukPmODmu8KfWP5sZWxQtu2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR4NjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXsA/+LT/pEKA0bEtwzeUUp3SmgIAZIpp7ZFomNC4ucNu3urhKU341\r\npRwgUPAvcM6Ds+pTpnNG2x8ic0g9VKkug36hgysYysgKLp+c7KcU23Pct+pY\r\ni64RIzqbZ3B6cClc60hZyVc7uUzFmgVvLod9gCc6MzGaMSszxzLAZNowKs/m\r\nMoiqBWyWrLt5lxPca7000EtmkjepI6ssjGV9ToOcP5lbw8KpP2Avj5vpGeMJ\r\nkfRV8+eymeDIM/Y3cOtcgh5rDEWWcbQJg+TT2bDRViKgdbujlSkFTTkT7E7w\r\nQXz1Eec0gg79LZ4BHkQOP4pGIiCfwopC5Eszu3RAxZ8pfora5LmLS5wawe1D\r\nkkFmVziZmOQFWJ9d1i0AP/4619h+5YfPAA1Yp1pJIGujoPZtoWsM5jnCei4B\r\nm0WadgKO2L7ANoiGbq0P9JYsTeGEAeahZ+sr4VG1dQvVl9I9k0lpJZfobwlo\r\nM+OShwP/a42xNo17FsnzV+aze/PBNp7hrOJMYEtclprLsuAqtA0zKbnP5zu5\r\nlnc1aexo6gFGLUbhKEhgn1ueLkxPYnDDjRZohSsz2Ue/8jFn/tadR58QnwYY\r\nbye+j0Elymcy+uXRVTX9a0gAuv5iSMzQVarzzbEb6YdaaTCLjNU3maZmPVNY\r\nJy+sr7azIYHfGyPfBW1V/ZE9LKZPERtNi3o=\r\n=aWbQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3244e3e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1c8befdf528a6caca770be9630536adc/solana-rpc-transport-2.0.0-experimental.3244e3e.tgz","_integrity":"sha512-zGjRz7H7u9m+OQkHjwhSSDP2X6Oa9h5mWuH5zneYvpcn1QL8qR5wBxxD8TjJPohH0NpiazF83Q7BhPCUumkWXA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3244e3e_1682408290868_0.8847007847684707","host":"s3://npm-registry-packages"}},"2.0.0-experimental.edfcbdc":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.edfcbdc","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.edfcbdc","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b2aaf240f4432b8df071654d08420cfb4a52aff0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.edfcbdc.tgz","fileCount":34,"integrity":"sha512-vI9d2oW7KNkFXWcsd6IG/fJnoZO+xqx+JAWrN2IjfBGMBwGGOah2i6cYM+TaQ0GAQ/9tHMv52nJyq3jg6l1EIg==","signatures":[{"sig":"MEQCIGbyQlhmpmFvOvWhelPISKtzNv4cQBPYgnCgB9WteVwjAiAG089FKNrxO6rgyILo366Fb4UVKXfqbaEyUnnSBBLrJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSDoJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrenhAAgPWKbA3Zfqm03HykJ11lgFidQPjvNZEzurgx5YMqV28zXqqA\r\nj5wthV/JDno5dVm5MUxdxcPDtCZSxYTIBW++hor5Irnbe9r0TQsLa+JeUPI4\r\nId4kr8pTopgMissNDJGC4+HlmtWj6vOEm8xDF4dpIKwWmvZckKNX7Ei7G+Rx\r\n1HMHSTi4xcCj9/nUAkHikfxTWDq9ADohF4B6fc1ZB+ATBgv1ACaF/GK+AmfK\r\nkKPpv0Uy/2lTHQlGdxhLpjB+FraPF825Jy5SLYD/al3A2hQCc6OSe4M6LyPA\r\nKfy/YfOW4KLfUtkKuikl8nZox8CJ808LzGwkcUrbBq8Og5zqYteic6RWWGQU\r\nqJkdtJiv2+rZulwhVhslNYPVdTeWvDBEgs9DqhvfQVPR+dy2n72lwABxKssd\r\nytMzePxjgpR3JE/Q9W+fVspzFqyeek+3QUZeoLlKdcCRq2sn87RzFhCvwCAH\r\njP9fsj6fzAk7ROZkDKTrHqTyleadaftQN+whSjHYP/biECblHvVW08b4IbRH\r\n80he0uzRwZpmvxNPFiXBWRITG4BuTfoyQJgQ6pP916AOyffY+eyJzZWhpWEp\r\nMgnShHyqNo5WwSVHGx7hPwjEfCBGA4/htoANlWXZi5jH3GPlEv9bnv1bW8VL\r\nVYjwKx990RL/rn0sx+r9zFNFQQtn8WdI+ks=\r\n=JTqI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.edfcbdc.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d0bfdd788d647397ad5198b613e09780/solana-rpc-transport-2.0.0-experimental.edfcbdc.tgz","_integrity":"sha512-vI9d2oW7KNkFXWcsd6IG/fJnoZO+xqx+JAWrN2IjfBGMBwGGOah2i6cYM+TaQ0GAQ/9tHMv52nJyq3jg6l1EIg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.edfcbdc_1682455048863_0.5536118778462993","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ed7c7b8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ed7c7b8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ed7c7b8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6c54fb2017730653a5cccc8ed06a999df6d082a8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ed7c7b8.tgz","fileCount":24,"integrity":"sha512-eAuT3qKgpkgz7v4NTFAxG1JUeK9ZQLNihJMjj6BrtP6jvFzZb6n1HO81LV5G4dqXnYYKjXf8IWye4pY9jhXsyA==","signatures":[{"sig":"MEUCIQDjByNPNAR9kOTTn3SsNF1QOHDSRDRGDHDPNqDH3H5iGwIgHSYpXaE4qJ/cIbKWySmcNYMqoN7R10zAXdz5ildTgWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSEMyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqo+xAAi8RADatFSkbDNZqPjwoJNmcK7FmhMgaXgEq2ODgmLVNHJqfW\r\n+kMnMY6MpfgLTfTNtHjKnf41z3wgsi6ZQN1HrWB9gsS2zBo17vlLe95Tmtm2\r\nd1OvX3RpzEJ8rhFC+tBkRqsv4/H7MOQ1gQi/C/THJF893X74OSpMyoH+mouU\r\nmy2v4S3njMKoZ969Mb5ny5XWotRTLOfAl84NKSkUW6PGTSP+GgGvqPro/RVs\r\n07Qy1GWUy/oh6WHJC7kdAe1lL/nmNeiHqdceWaCTbeOaVSw2WVqUFsai1CcE\r\nYxhUtKcW31b33vfnP8keQY1XleAIuKJwpANZlLmWu/i53k1cBrH7SZ7M6a4d\r\n/axjOnePh5OKSv2DO8XWfqXhGPQCgFUgiYj0FEdEc8UYCtHYk70WnUfWc71a\r\nXlm8d0IGziOrn0k3jsN/YFdYF+G6bKPF0e9+peJ9VWt7SoKiBEY5CtbtyREL\r\nM4rl9kB78UFCz2wAHgL/bGYDCvUEAhEqz6UNFMJqnXsC08ZAF9vYnVG3CdAC\r\ncg800gqDFI6RKISWP3wBbWE2Krw+nzwRlmzXaqzZTJtQadCg8xZZsEjpiVC7\r\nPI0hbOXgkNd3tfa93LyLT2/dwDQMZpirlqBXck5+/P/t+Ftjr460OWLFQCiL\r\ny9VSFyCaLODrfVqgZ/dPzquxMacFIk7UKFE=\r\n=EL5n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ed7c7b8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/64ee5df9c0c291ab9a0d762eab9243ad/solana-rpc-transport-2.0.0-experimental.ed7c7b8.tgz","_integrity":"sha512-eAuT3qKgpkgz7v4NTFAxG1JUeK9ZQLNihJMjj6BrtP6jvFzZb6n1HO81LV5G4dqXnYYKjXf8IWye4pY9jhXsyA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ed7c7b8_1682457394454_0.9677662219307512","host":"s3://npm-registry-packages"}},"2.0.0-experimental.dfc6d58":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.dfc6d58","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.dfc6d58","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2df251d13cf1b5197be6b536ff73842e4dfa3545","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.dfc6d58.tgz","fileCount":24,"integrity":"sha512-XP+4sJOMmf0p8RVGRHeCx9TGZTttRYh0v0fDIHc3dnOqx1tfdMierFdKEUCwCjHGRSHTQSLJI6tQBCWJrsnG/A==","signatures":[{"sig":"MEUCIQCArleVb9AMJFQctjKWzZSJ9uuBCD5u6ap+YNbw4CXo/AIgD0MxUomySZORZIyJdn3StT8jnp1MpWgfFtgpDisTxFM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUAEwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+VxAAjJd9+kDKRwBSe3VBvL3HQ1liAsF5tgAoR9VMD5GAODPBlQiU\r\nZVRucWq1Z8O0Jgr/3TuKYjYIP5z9E91/owtosSALrlcfny5GCywIz6HdEA01\r\nI7aMR+K5odFiao5PPoBqWoROTw4FnH8ksBqjmErUvEvQf55JWK5lH62MP8uz\r\nf3cdEdB72A+RMB5cH/rEBDkmHCBFUxyoL+5qRWNGWIgboH8AMwBFCwLyGhHi\r\nCyIj2xHvFM7oEm/4GsVKyrg+MYNxOUp3j7dwRxD2pWfcMeRMOnm6SXwWMc30\r\nYWZxztq6kZOaK2qNbdh3bHWBRyQXtACt1wskLrnqKaXTSkIio/ZAbbfKTOZw\r\ncTX+IMiHDpIac+XqbvvUoTBgTEsmFuSabwi1C+HTJPdL+rq7GrvJQm29rtNI\r\nJyvyFhUaqe0alCfL7+O0RPNUHYZUktuJrR1mGeDCeLRIOX/AFczkwDf3oH7X\r\n4ZRtE8pb4zSwvYuERQ8+S6/+1MuU8+sxUHmLjpESZHIABRlms4EU/KzGDriC\r\n6FQq5jmJcGx+gzIS20VhYlZkhJua0ZEMSj55Bfj0/P+FGPox7jz1PtD5kdPG\r\nzfS/pdVcjOSmYe1EguiclKaqZzLGsM1ZwsXlloVy0s57DZ3qI5gdcrXkfZ8b\r\ncX2HhvxxcuGeLKfwG9+TFq4srT9XLNOFFts=\r\n=wjlH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.dfc6d58.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/424f87bbfedd7b5a688d60358f2c346b/solana-rpc-transport-2.0.0-experimental.dfc6d58.tgz","_integrity":"sha512-XP+4sJOMmf0p8RVGRHeCx9TGZTttRYh0v0fDIHc3dnOqx1tfdMierFdKEUCwCjHGRSHTQSLJI6tQBCWJrsnG/A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.dfc6d58_1682964783973_0.5375642821698949","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7b00896":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7b00896","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7b00896","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b43b2e069c07a22b01bad0093cec42c5e0c8fbaa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7b00896.tgz","fileCount":24,"integrity":"sha512-CJ1iWb5OsStRXgmy1qbsFq7X54DcfqXgqUdaRDzHByXFg+FRqD/ckxjo3zOhFJYFyrfS9u4eJQ/0UQtSFFdPRg==","signatures":[{"sig":"MEUCIQDY/tSA/QFgyOEv0JG2ifHaMNicBuqhQioqUgHWCbCObAIgZZMdtccj/4iS4BV7pXott1wUcwkdr8gTD2HNb+W2Ey8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7b00896.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5cd89c70e5a20bbb3a13ce54846b1c40/solana-rpc-transport-2.0.0-experimental.7b00896.tgz","_integrity":"sha512-CJ1iWb5OsStRXgmy1qbsFq7X54DcfqXgqUdaRDzHByXFg+FRqD/ckxjo3zOhFJYFyrfS9u4eJQ/0UQtSFFdPRg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7b00896_1683659523569_0.159281453034692","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d16acbd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d16acbd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d16acbd","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9790ac65a4561895af97ede81ae717b454c86cde","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d16acbd.tgz","fileCount":24,"integrity":"sha512-cNRB9LpZn65oiKU99vc3s/qG36SbAfRg2C7VLHBqmKIiv8QhUL77dDZ/f1bEclo9z/T/eetDJmohSpOP3KcQ2A==","signatures":[{"sig":"MEUCIQCkzEKRMZDOEBu850etBOhuBkDVHhpG27opno5tugRk/QIgHzMganFdhK23tAY8MIBNPHgliz9SVELzcqvEkm5D5sY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d16acbd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/eb35ca3f6267fecbffed8eae2a8e5da4/solana-rpc-transport-2.0.0-experimental.d16acbd.tgz","_integrity":"sha512-cNRB9LpZn65oiKU99vc3s/qG36SbAfRg2C7VLHBqmKIiv8QhUL77dDZ/f1bEclo9z/T/eetDJmohSpOP3KcQ2A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d16acbd_1684297620837_0.7517781065832303","host":"s3://npm-registry-packages"}},"2.0.0-experimental.caf8d51":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.caf8d51","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.caf8d51","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"703e01938dfbae0884e70cdd738f5d1a9597bd9a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.caf8d51.tgz","fileCount":34,"integrity":"sha512-q45BJC3/YBs5dDg7xFAXJcNnoRYMFmkUOdsqVahINZpSL2Pv5nlRLRyAcTzihmKXTOjyHTheOgNJbeOC/oBt0Q==","signatures":[{"sig":"MEUCIBiiRnX17UfK3XUqbOAiDUPGBsc1irCw5l467gCh6GaeAiEA6rM8vmsANGrJBcz3d7jLcmnFTZth0o6YNlkI6u4S/Fo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129505},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.caf8d51.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cebeda108302029163e422f3082e2c00/solana-rpc-transport-2.0.0-experimental.caf8d51.tgz","_integrity":"sha512-q45BJC3/YBs5dDg7xFAXJcNnoRYMFmkUOdsqVahINZpSL2Pv5nlRLRyAcTzihmKXTOjyHTheOgNJbeOC/oBt0Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.caf8d51_1684341497294_0.8881328166092595","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b5dd2ce":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b5dd2ce","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b5dd2ce","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0804568f86118ed536cf78cb9f31b5a268a8a306","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b5dd2ce.tgz","fileCount":24,"integrity":"sha512-xTPikycFUQp8J8aKd+N+sUcbbPlkpobxuoa4gVgi2aMhV+x5GLMRyOv+OrRVXiZHGvnj2i4a6AEQ2TM+o3i2mg==","signatures":[{"sig":"MEUCIQCnfVT5CKwvfSASrZDYK2/l1EULx3qMMHFlbzIHhDPBygIgV7ZrOaOyXoolm10DdZg7D9a6R+PZXNe5HtPczzFkF0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b5dd2ce.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cea05d9e0d723fb304c5e55c0800d30e/solana-rpc-transport-2.0.0-experimental.b5dd2ce.tgz","_integrity":"sha512-xTPikycFUQp8J8aKd+N+sUcbbPlkpobxuoa4gVgi2aMhV+x5GLMRyOv+OrRVXiZHGvnj2i4a6AEQ2TM+o3i2mg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b5dd2ce_1684344063682_0.48641769885503217","host":"s3://npm-registry-packages"}},"2.0.0-experimental.21f7d3e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.21f7d3e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.21f7d3e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"17574f55eeea18e59807be2ceb569c35974b8f90","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.21f7d3e.tgz","fileCount":24,"integrity":"sha512-97ygZ2Pp9S/9K835GbRf6RPDCUkwO5CC7qFh8wYqcqWk9JVKepT6ewkIljvZuVTZcKp0WF6hnjJEnzn1l+FXtQ==","signatures":[{"sig":"MEUCIGgbVkYXW+jawo2YcuxJVu5wg00pixIL+lp0wmRqjEHmAiEAi92Zch6s4fWJoUyD1QzNYO24+NwR3xQ/JZrTKPi3gFw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.21f7d3e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ab3503101588324d75bb2e313b2b074e/solana-rpc-transport-2.0.0-experimental.21f7d3e.tgz","_integrity":"sha512-97ygZ2Pp9S/9K835GbRf6RPDCUkwO5CC7qFh8wYqcqWk9JVKepT6ewkIljvZuVTZcKp0WF6hnjJEnzn1l+FXtQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.21f7d3e_1684349378966_0.06093161641152878","host":"s3://npm-registry-packages"}},"2.0.0-experimental.88723ed":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.88723ed","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.88723ed","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b2289f49ac948e47f71ac85349cf82cd5399fd3a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.88723ed.tgz","fileCount":24,"integrity":"sha512-7gJ/6+LSWgmQjZCaDZzSVNvYypQQVgqOeV9Mosw5oJLYJQ5y14qw1o0XV0Ox4uuC++CRAYwNvTS+mVnjaErdRw==","signatures":[{"sig":"MEYCIQDce01Rksl+qborNWrg/6Y8lWRhwgfg77VbEtVKazyqmQIhAP33oZJF/kpMbHvmtEWHXDWais/BUpMFBPl/Yo0kxfvf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.88723ed.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/bd4b51ce867aaa0461ae3c5d92f35928/solana-rpc-transport-2.0.0-experimental.88723ed.tgz","_integrity":"sha512-7gJ/6+LSWgmQjZCaDZzSVNvYypQQVgqOeV9Mosw5oJLYJQ5y14qw1o0XV0Ox4uuC++CRAYwNvTS+mVnjaErdRw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.88723ed_1684349462317_0.8020861064130445","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c8ada8d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c8ada8d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c8ada8d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b5f06ae13f7173ca82921edd095ab38eaa7b3a38","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c8ada8d.tgz","fileCount":24,"integrity":"sha512-FBJJv4rNqaaHTvwfZpkPolCeoA8JVWwJ/ksmHKqNQ61Y/5xEclChWw0n9EPXIclkO5Aa7w91RWFYzkK7itpeFQ==","signatures":[{"sig":"MEQCIE47mBlJ+xEA9xlDxKzqvi3epgOeDBZXOf9AcKQabUndAiBOCyoC4uOFT0NcpROWDinOekvRslyuGIWMbgDdIA+RYQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c8ada8d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/32dbcde59660e9da78172bc84361e98f/solana-rpc-transport-2.0.0-experimental.c8ada8d.tgz","_integrity":"sha512-FBJJv4rNqaaHTvwfZpkPolCeoA8JVWwJ/ksmHKqNQ61Y/5xEclChWw0n9EPXIclkO5Aa7w91RWFYzkK7itpeFQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c8ada8d_1684350739704_0.2883047987450593","host":"s3://npm-registry-packages"}},"2.0.0-experimental.01c1f5f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.01c1f5f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.01c1f5f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c341f57ac197725e58ad4a2ef3396027e5ed6181","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.01c1f5f.tgz","fileCount":24,"integrity":"sha512-Zhf1qlx/jtnXtpJ5w762TBobUdswmdJA1CDC7kIdlywnfEzfycUtMIoAILXmUOZ7NJhq85iXsKXdfpfrdquoyg==","signatures":[{"sig":"MEYCIQDhXRbyr0g/7Z0HH4w6Kg2Tvk4S0iC3kn4IUib5T82nmwIhAMtVziFfTxmI8icgldMEHg2t4ikXDVA/q102Yax0jtrF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.01c1f5f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/accc7b8639f05c0cb674167e0fbbf3c0/solana-rpc-transport-2.0.0-experimental.01c1f5f.tgz","_integrity":"sha512-Zhf1qlx/jtnXtpJ5w762TBobUdswmdJA1CDC7kIdlywnfEzfycUtMIoAILXmUOZ7NJhq85iXsKXdfpfrdquoyg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.01c1f5f_1684402082565_0.561889668387622","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5e42084":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5e42084","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5e42084","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f32283dbe4280692ee762bdec865f4682e38fe5a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5e42084.tgz","fileCount":24,"integrity":"sha512-RfmFHSAggncrYvYLf2am+ScfCOfOlRinTW9k3jY/d+q79Hzn6tHjl4BE9e6F+XRq57K0A/z4UEnyQ0imng8lHw==","signatures":[{"sig":"MEUCIQDKm5nMGmIdJJ4aK+cspJoF7AyUyjcTLy0GFvboM+rkLgIgZjGQNfTYgwhhLub5i7npjS4Pp1WNNIk09pHYzoXW+UA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5e42084.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cd962723d006fda0e3712f3d9fd5a7a2/solana-rpc-transport-2.0.0-experimental.5e42084.tgz","_integrity":"sha512-RfmFHSAggncrYvYLf2am+ScfCOfOlRinTW9k3jY/d+q79Hzn6tHjl4BE9e6F+XRq57K0A/z4UEnyQ0imng8lHw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5e42084_1684429688609_0.18571155700379882","host":"s3://npm-registry-packages"}},"2.0.0-experimental.487d81c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.487d81c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.487d81c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"30c843947bd5758053c84588926312d95dd11758","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.487d81c.tgz","fileCount":24,"integrity":"sha512-FTpJSnGe+SBUfSSD5dgTdonSLb8NnqqbdMhDqZq9rk6JASqU5HQ3rNqVBS48hIS0lrusyDIQzVIAO4S4MtCGKQ==","signatures":[{"sig":"MEUCIQDrx6dv+48YCCRS3utF/gavfc2gg8vvpQ3iCP4GPV/q0gIgb2fZVxGNtKtZF1RL2RysRkOmCCQYDoDMu4Kflou27eo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122365},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.487d81c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a008c29a9c1b12a01a950be0b8beee65/solana-rpc-transport-2.0.0-experimental.487d81c.tgz","_integrity":"sha512-FTpJSnGe+SBUfSSD5dgTdonSLb8NnqqbdMhDqZq9rk6JASqU5HQ3rNqVBS48hIS0lrusyDIQzVIAO4S4MtCGKQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.0","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.487d81c_1684529820513_0.11782022551425908","host":"s3://npm-registry-packages"}},"2.0.0-experimental.527bafd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.527bafd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.527bafd","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ad35198b66586b776cbba67d8b8166a28e55c6c9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.527bafd.tgz","fileCount":24,"integrity":"sha512-gYfsAMFPFg5MWKZkv9iUhoI5q06sRNpJZSFHkohFedUTr5A72FhZlh7ZmuI0mee4Lxt6cbmzCxTQKxoy3pvpAg==","signatures":[{"sig":"MEQCICdQ39XQs4HiygTwxTR7JraPfVIV1nE/AKJa0M/HQVckAiBw56wojgyiFOfjxEBkwXsK7Smsz3b+0/7hNh4fHKWBdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.527bafd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e3e77c65550d57cdf4f8e87ec9ac2407/solana-rpc-transport-2.0.0-experimental.527bafd.tgz","_integrity":"sha512-gYfsAMFPFg5MWKZkv9iUhoI5q06sRNpJZSFHkohFedUTr5A72FhZlh7ZmuI0mee4Lxt6cbmzCxTQKxoy3pvpAg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.527bafd_1684533212810_0.32325160684924414","host":"s3://npm-registry-packages"}},"2.0.0-experimental.88618c2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.88618c2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.88618c2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1a15e93c6d84abd506596e9e735cf7c4ef4a7ec3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.88618c2.tgz","fileCount":24,"integrity":"sha512-UVcXs7yitUhZKJbusaCzNCRhsdUGOeRm4O105KWDEGSCiQJq5TOl7+FDmZEAegxnImxqEfopG5VjEW4RV0RvfA==","signatures":[{"sig":"MEUCIFRfsVzrrqx1fn2SuSGH4zbgWzjK7kXZPNMptOGOxj7LAiEA0soQ27qtMAOtZMHks2g4oqp5zyA/EGWJm9Rx3v7qk30=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.88618c2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/649df19800a4d0a16b8dd221afa2d53f/solana-rpc-transport-2.0.0-experimental.88618c2.tgz","_integrity":"sha512-UVcXs7yitUhZKJbusaCzNCRhsdUGOeRm4O105KWDEGSCiQJq5TOl7+FDmZEAegxnImxqEfopG5VjEW4RV0RvfA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.88618c2_1684879746315_0.09207570511216367","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e1fc77c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e1fc77c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e1fc77c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7a55ef0e478946a34b2351597ddbfc37f507fde7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e1fc77c.tgz","fileCount":24,"integrity":"sha512-Y/Zk4+J7/8voWMbyzaCV5Mp5NQwKioTTvV6Oq5hg7t1onpjawhQwpiZx6+NAMirSV4Z19/r0GuD+y389wArRdg==","signatures":[{"sig":"MEUCIQCAV2+cV8//6GLgxdAx7t9U/qNHWDZgiRutVGTUZ2RgXAIgKe30M1Pn8nA3wMSJZZxsBdTVQ+PYaLei2WnYe1BSApc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e1fc77c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0e49a6623e7b7e18d580d39c493d5c81/solana-rpc-transport-2.0.0-experimental.e1fc77c.tgz","_integrity":"sha512-Y/Zk4+J7/8voWMbyzaCV5Mp5NQwKioTTvV6Oq5hg7t1onpjawhQwpiZx6+NAMirSV4Z19/r0GuD+y389wArRdg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e1fc77c_1684951313866_0.6245209237581524","host":"s3://npm-registry-packages"}},"2.0.0-experimental.21cfcdd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.21cfcdd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.21cfcdd","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"bc262c26d3743a948c27e23ddae86865b4ed6be4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.21cfcdd.tgz","fileCount":24,"integrity":"sha512-bgg1GixMVRqQtQCURyzu6G6zmHvsGe/mdmDVWjUW1Ur3a4B4qbTmXgFxHpQJkOiHSF1V1csM+UoSWIPoHutGnQ==","signatures":[{"sig":"MEUCIDah/VbE4HGfOdiD4+P7Qeb5iToX6abt7VJgTtKYFxB8AiEA9L6iSzAv0vzAUI+68y/Qxqj9V6ONrIxBnJrKI/JZNRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.21cfcdd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c92930afc76079cde26b685de1362c9d/solana-rpc-transport-2.0.0-experimental.21cfcdd.tgz","_integrity":"sha512-bgg1GixMVRqQtQCURyzu6G6zmHvsGe/mdmDVWjUW1Ur3a4B4qbTmXgFxHpQJkOiHSF1V1csM+UoSWIPoHutGnQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.21cfcdd_1684951879186_0.36396205082597666","host":"s3://npm-registry-packages"}},"2.0.0-experimental.20e2b21":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.20e2b21","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.20e2b21","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d3400d5b658ac89461c8fde099241c20cb2271ca","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.20e2b21.tgz","fileCount":24,"integrity":"sha512-eaQyhigcnsHd45DjlI6E+shxrtzrabqrj/XfS7UUU+ZJ8lBVwVICFgI0MaEHcu1mU9YAAwZKJuEUIEwMoW8K7g==","signatures":[{"sig":"MEQCIEbYo6NY7oyof9GbNRvlnRpNb941YPHzmfstmrQTk7R5AiAD8WYg//R8MrjaUMED04feu2/RIUXfG1Nc9D8UHm1xyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.20e2b21.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/62d30a3b0449a143b50bb688423555ae/solana-rpc-transport-2.0.0-experimental.20e2b21.tgz","_integrity":"sha512-eaQyhigcnsHd45DjlI6E+shxrtzrabqrj/XfS7UUU+ZJ8lBVwVICFgI0MaEHcu1mU9YAAwZKJuEUIEwMoW8K7g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.20e2b21_1684972466782_0.7465931147960978","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d2e0117":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d2e0117","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d2e0117","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a65c3996caff650b3ae849b42acd46eef3d89487","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d2e0117.tgz","fileCount":24,"integrity":"sha512-AuV5CaoMI9MxgTrWIQ9erIFEQITiRDrpDAql7h9nVZLIpWMFbNWO0O7WIErSeS3+FCq2gPkKm6t55ZMrQVIcSg==","signatures":[{"sig":"MEQCIA7I4vheNABA8KHgFlaSv6dRCZiySFZvpcEKKUlWq+IgAiAFNCgYC7I1QYI6atTKvolV8qJLXedRFYnbgkZSjb+UsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d2e0117.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/4a3da21953ae13673144f066ca55edcf/solana-rpc-transport-2.0.0-experimental.d2e0117.tgz","_integrity":"sha512-AuV5CaoMI9MxgTrWIQ9erIFEQITiRDrpDAql7h9nVZLIpWMFbNWO0O7WIErSeS3+FCq2gPkKm6t55ZMrQVIcSg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d2e0117_1684972561049_0.5720697712942986","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9409822":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9409822","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9409822","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1172e4796ba662d96426cb95e2d938e5af3f0493","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9409822.tgz","fileCount":24,"integrity":"sha512-sMhWPjHASWsUDkzqN+NZ/yuMyxklxeVt4CnEHSZvJU/HLyY/Ue0V1CY9QqJ2Qm+lQzPPR7CcXdWkCJmFUzqqyw==","signatures":[{"sig":"MEQCIFoS66NEconJnVhAAeWqMwD1HnDADk8LHnDZ1L0NmaeHAiBzWUrB7/EUYAAVWvfAfryeMvC0W0ppx9kxT/nEKx/Y2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9409822.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6780f847f476b69f40e548307daba832/solana-rpc-transport-2.0.0-experimental.9409822.tgz","_integrity":"sha512-sMhWPjHASWsUDkzqN+NZ/yuMyxklxeVt4CnEHSZvJU/HLyY/Ue0V1CY9QqJ2Qm+lQzPPR7CcXdWkCJmFUzqqyw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9409822_1684987092988_0.6164961150385964","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ac2f09a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ac2f09a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ac2f09a","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1c4aeccf35c04c83b1a2d10e3000b3295b224d1c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ac2f09a.tgz","fileCount":24,"integrity":"sha512-sMDVCHYq/K32rhdXFd5QXV5vfzDbeZFXcJNYEdHwnXt2LcB4aWTmEmyHy1gkTdnhNQZVIc8eFBXIeNPKNNu55A==","signatures":[{"sig":"MEUCIEhwaVvFi4CbRPaWa+9urOA+KKzRqrl1MYRGM/UdV8HRAiEA9wsPld1bVswAH1Ikfoq57/nLxV8C4SzGdbdUuwPnGjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ac2f09a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ad3add1252404e61def708fb05e4fb18/solana-rpc-transport-2.0.0-experimental.ac2f09a.tgz","_integrity":"sha512-sMDVCHYq/K32rhdXFd5QXV5vfzDbeZFXcJNYEdHwnXt2LcB4aWTmEmyHy1gkTdnhNQZVIc8eFBXIeNPKNNu55A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ac2f09a_1685006116235_0.13286194466353085","host":"s3://npm-registry-packages"}},"2.0.0-experimental.50fb93e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.50fb93e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.50fb93e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"506ff48dbc21acd39cd0406335dad8e743b137f7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.50fb93e.tgz","fileCount":24,"integrity":"sha512-RNtCurshrsrt9SROouwT3Xn/mjgpWtOWJMI8l/r93YQQPj52uldzVa45yuLsaCBi0pIJHpnTpP6orCpSdKAL5Q==","signatures":[{"sig":"MEYCIQDxECCcdgADe/y8nRMuIwZnuAg2mAzig73Ew2rhULN25wIhALdgKv5Ffx0NnuBmBNX13Yly0aLEPBDklyA9w4hzonsX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.50fb93e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0d1db95c1c8d3a9f516d524972c4ec65/solana-rpc-transport-2.0.0-experimental.50fb93e.tgz","_integrity":"sha512-RNtCurshrsrt9SROouwT3Xn/mjgpWtOWJMI8l/r93YQQPj52uldzVa45yuLsaCBi0pIJHpnTpP6orCpSdKAL5Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.50fb93e_1685006827209_0.3008086235080327","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ffa81ab":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ffa81ab","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ffa81ab","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"967dc18a59f2d107e620f7fa4f1f18535115a1f3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ffa81ab.tgz","fileCount":24,"integrity":"sha512-2c1xXBUdU1h16dSqoE66pCyzeXH/Y1MvqUWYFTcEflsQgBC2faqFA1BPbBt3K3AwRr/rHfLe1kPBMF09F87yJw==","signatures":[{"sig":"MEYCIQDVaWDtdw7zx6zM6v9yd6mCHOfH15UvfeC72bfMtpoOqQIhAPPyheCyQHtLkPoL5xLh6viSydoMcntLiRTm7Qct8kgp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ffa81ab.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e3bf1bdc914aaca479cddfa025fcd85d/solana-rpc-transport-2.0.0-experimental.ffa81ab.tgz","_integrity":"sha512-2c1xXBUdU1h16dSqoE66pCyzeXH/Y1MvqUWYFTcEflsQgBC2faqFA1BPbBt3K3AwRr/rHfLe1kPBMF09F87yJw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.7.1","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ffa81ab_1685032895936_0.07647908925503155","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6d9c2f3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6d9c2f3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6d9c2f3","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"23142ec5eca159a2605e0a88fb876dc6808b7307","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6d9c2f3.tgz","fileCount":34,"integrity":"sha512-6AIgePZtxVyU94mibQmEMsNAtOD+jHzryGPAqV74BD/yvlaXCbqrLQ19VEgQeLhH0bet/YLUQ4OxmekVHBuLIw==","signatures":[{"sig":"MEUCIQDp+q0Rf9KVHl/0d12MX7XUgqyr2VHJtx6nNvK39HRw+AIgZ7OGJSnfwkZYzLYaWRAi67nyFw4nlg2WLDhcfh44fTI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6d9c2f3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b4ef9001c020982db1d583c47bf12e84/solana-rpc-transport-2.0.0-experimental.6d9c2f3.tgz","_integrity":"sha512-6AIgePZtxVyU94mibQmEMsNAtOD+jHzryGPAqV74BD/yvlaXCbqrLQ19VEgQeLhH0bet/YLUQ4OxmekVHBuLIw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6d9c2f3_1685069105991_0.5488358087903522","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2b0c16d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2b0c16d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2b0c16d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4af4cd3ab7c07b58baf75474537cd8e85b688f57","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2b0c16d.tgz","fileCount":34,"integrity":"sha512-9TJtb9HdTsa2woVAWDxqLkG7LUprc/rfhu9g4B3YMDm+ZPx13VBQlpXxTOw9eZS0NrT5hAI48biEPWzzsu8Wsg==","signatures":[{"sig":"MEUCIQCcDIVMhAwHTwXJk5E28+rJvwTZqR0lUg/uvDMl5SkoqQIgf5oCz8Vd5dXlnu+lHu7nyyrss990XYyX6Gi4afnrvE8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2b0c16d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7303691f0c985d2e2b6c489863a21ea5/solana-rpc-transport-2.0.0-experimental.2b0c16d.tgz","_integrity":"sha512-9TJtb9HdTsa2woVAWDxqLkG7LUprc/rfhu9g4B3YMDm+ZPx13VBQlpXxTOw9eZS0NrT5hAI48biEPWzzsu8Wsg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2b0c16d_1685092786937_0.8944159991365914","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7a6786e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7a6786e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7a6786e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"78f5e339d21a1000febb21d4daf7230b24f7624d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7a6786e.tgz","fileCount":24,"integrity":"sha512-63KFawnnMUAxeMJGexbV6XFbkqQJtn9bv7XstJNtzYOymrjY55S4pbhNW6cAk+JouD6EU90MiERzScKJIqUK2g==","signatures":[{"sig":"MEQCIExpj8dQIO0q3j9i3VGQEB7X1WlHgUYTql6L8uPNYMSjAiAuZWPMVAgMK68g3KGK8nPumjCTG95fRBhT59qjQdtxsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7a6786e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/27b1c6cbacbc7d1f305cc29e3bfd18e1/solana-rpc-transport-2.0.0-experimental.7a6786e.tgz","_integrity":"sha512-63KFawnnMUAxeMJGexbV6XFbkqQJtn9bv7XstJNtzYOymrjY55S4pbhNW6cAk+JouD6EU90MiERzScKJIqUK2g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.0","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7a6786e_1685244094758_0.2575474213699245","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d29c2a8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d29c2a8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d29c2a8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2395f9aa1c50749c7eaa498e46d4b883a707acac","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d29c2a8.tgz","fileCount":34,"integrity":"sha512-QTrlMRkdWkh6B2qEJTh9HXW+LtgRjsW0TPRM9a8A71MumnjzNjg/Z9xHPNWpjboeMkCbkjLnmJwgPcsWrpcODA==","signatures":[{"sig":"MEYCIQCBWqA9d7L2iepDUZ+Z27ZwyGt6eOq3koCLzS76h+oJtAIhAP56SAYGnR7O0E+yvCzAN9xg0GBv/C7giXBRJmkEL2po","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d29c2a8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2a0775f8100d8c51dac382e8290a825e/solana-rpc-transport-2.0.0-experimental.d29c2a8.tgz","_integrity":"sha512-QTrlMRkdWkh6B2qEJTh9HXW+LtgRjsW0TPRM9a8A71MumnjzNjg/Z9xHPNWpjboeMkCbkjLnmJwgPcsWrpcODA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d29c2a8_1685352247332_0.2916122529744216","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d2e9567":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d2e9567","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d2e9567","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"823f5440c9f44e0f1b8225df63f2ef43db053116","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d2e9567.tgz","fileCount":24,"integrity":"sha512-CfSAJCH/hCT069nNUHx+tHPyMzMuvaX7dp7LBTcHrhedIGjnF0+mJgjTDbmGjBasgBhJDNZBepT1LBXMrkCR7A==","signatures":[{"sig":"MEQCID/Xy4gQdqhcKiKxzBAT5iAoIKPoVQEXNW0ZA0k+mtzlAiA9veQWo02EpMpZ+WOF87a+zmnXd9B0dfNb6JjnDSv3ww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d2e9567.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8dc36312c6abdb7c8b581dad03309115/solana-rpc-transport-2.0.0-experimental.d2e9567.tgz","_integrity":"sha512-CfSAJCH/hCT069nNUHx+tHPyMzMuvaX7dp7LBTcHrhedIGjnF0+mJgjTDbmGjBasgBhJDNZBepT1LBXMrkCR7A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d2e9567_1685352529754_0.22847303966628552","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4480ae1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4480ae1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4480ae1","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2ea5fb4f4171c1e5098d61e8bb4b54ce1e354097","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4480ae1.tgz","fileCount":24,"integrity":"sha512-zHgRcEci2agAdsa6v0dvuNOGmQMkWYWjEp95n1cIFv28G9EQVI1Qm5DX8Z/NWyBONIltM49yiVI7YG/NvBU/nA==","signatures":[{"sig":"MEYCIQC0THETzhOiCSIgJYllSDz9Ow194z+sn55zS8nrcxtoKAIhAMmXahb3IYukbfB5p93yMIwl7XQKwAlHxn1KvrtYtsug","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4480ae1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/860815a354388e0dcc53ab337e625804/solana-rpc-transport-2.0.0-experimental.4480ae1.tgz","_integrity":"sha512-zHgRcEci2agAdsa6v0dvuNOGmQMkWYWjEp95n1cIFv28G9EQVI1Qm5DX8Z/NWyBONIltM49yiVI7YG/NvBU/nA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4480ae1_1685437754120_0.22326209058696023","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0b7dd02":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0b7dd02","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0b7dd02","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"866d38e69825ccb2e2f2bb82f98c57641f758442","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0b7dd02.tgz","fileCount":24,"integrity":"sha512-jRXGXdPAAd9EolgqicHNys8fK3enK75DjGW0Qao96/MLhHESTXtS8g6QJXvdWKKY7t/bKo0qa5MdRy2cA+2iHg==","signatures":[{"sig":"MEUCIBGQ7VNNydDbdYmaOTyH9tpVnrAQNm5WAlAjceT23pEPAiEAs7hJ3V6kTFKnWoZOOR8Z9jQKQRc+AWZQ2LwIpvUXMuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0b7dd02.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d6986124ad793663e49b684c41772d4a/solana-rpc-transport-2.0.0-experimental.0b7dd02.tgz","_integrity":"sha512-jRXGXdPAAd9EolgqicHNys8fK3enK75DjGW0Qao96/MLhHESTXtS8g6QJXvdWKKY7t/bKo0qa5MdRy2cA+2iHg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.3","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0b7dd02_1685569006346_0.1624556365570713","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0a86f01":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0a86f01","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0a86f01","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7db965f0a9333ab34f166e4353c5362eb6fc94e3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0a86f01.tgz","fileCount":34,"integrity":"sha512-wSiLf8dIJInx3g1P2ZUv12Cjm0+Rzn9xTiYcyyD4n5UHllt7MUoxybFlVASYnnc9B9LdSZ+cVGreVdpcfuSPcg==","signatures":[{"sig":"MEUCID41OOaWokKsDd/Bz++psBYp1LYPS/QWNzLzYEgAc/6lAiEAv/0gnq0HPEcdOFXh8fAhcW62sFE2MuA0z8RO8BrDQjQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0a86f01.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/410f724eb496118b422e140701926ee2/solana-rpc-transport-2.0.0-experimental.0a86f01.tgz","_integrity":"sha512-wSiLf8dIJInx3g1P2ZUv12Cjm0+Rzn9xTiYcyyD4n5UHllt7MUoxybFlVASYnnc9B9LdSZ+cVGreVdpcfuSPcg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0a86f01_1685569589656_0.3812122668953051","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1cb3e8b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1cb3e8b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1cb3e8b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"247a9bc4c0acca79046953a80269d106d2feacfe","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1cb3e8b.tgz","fileCount":34,"integrity":"sha512-0DpZY7ZS3x1cjZBQnTSoQ+ea055G1DyZ6b4HGYRtutWJWtDihhSOmFwzk5V3hwgMKv0Ty+DNIsukY4uDTQk0uA==","signatures":[{"sig":"MEUCIC5ywCMmJl38KgAUACeqGIYKudvph3Qy2iScn3IrcZAxAiEA5oVXhe+YWj47mfJpDG8hfeDvRRWl9yBld/74jK6HpDQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1cb3e8b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/831cac31351ff84423a437be581688c5/solana-rpc-transport-2.0.0-experimental.1cb3e8b.tgz","_integrity":"sha512-0DpZY7ZS3x1cjZBQnTSoQ+ea055G1DyZ6b4HGYRtutWJWtDihhSOmFwzk5V3hwgMKv0Ty+DNIsukY4uDTQk0uA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1cb3e8b_1685570355248_0.7076250274115243","host":"s3://npm-registry-packages"}},"2.0.0-experimental.29fe5fe":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.29fe5fe","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.29fe5fe","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d6461049def8cef7972a632dc71ba1a5b22ef0b5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.29fe5fe.tgz","fileCount":34,"integrity":"sha512-5izS8IdsAZKURfzGvBYbIAcyeKD5ZosRB08F5QY2aJH+nXT6oHJe/X1FnWp8qe0+gxWUrZ9xmkwvmuGB2xMWpg==","signatures":[{"sig":"MEYCIQD4MLYftgpaeGSV+5M7GCwikCGLgncQF8koCe5NGm1nOwIhANurm3TTj/jhPDpbZf3G5fNCB2JoE++TwhsGCECGGSNx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.29fe5fe.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/79fb6f8c7022547f0edb1e8f691b8e58/solana-rpc-transport-2.0.0-experimental.29fe5fe.tgz","_integrity":"sha512-5izS8IdsAZKURfzGvBYbIAcyeKD5ZosRB08F5QY2aJH+nXT6oHJe/X1FnWp8qe0+gxWUrZ9xmkwvmuGB2xMWpg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.29fe5fe_1685611129852_0.352304886234482","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f965d44":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f965d44","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f965d44","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"214b0ae444f2ab705e4b7a64d2944f10ab3816c4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f965d44.tgz","fileCount":34,"integrity":"sha512-9tgHVqXOG+kfAnNgHSDLG9oKCK3g+XedlDNvniCNZOfZuFPnYoipDLLJmBX6YpkmZ0cMfJ++QsMNjzAHeBR7uQ==","signatures":[{"sig":"MEQCIAKf6tDbY8toXrYxEiuZPumPtYxVxiQVzz+l2uX8EkmyAiBOQwioNNhGTw/uzXFjPcog5UZ/wzbCw0znOZSCFCPwkg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f965d44.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0c95c53dcb81d941001d76ee0fff346a/solana-rpc-transport-2.0.0-experimental.f965d44.tgz","_integrity":"sha512-9tgHVqXOG+kfAnNgHSDLG9oKCK3g+XedlDNvniCNZOfZuFPnYoipDLLJmBX6YpkmZ0cMfJ++QsMNjzAHeBR7uQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f965d44_1685611907470_0.9074766163929919","host":"s3://npm-registry-packages"}},"2.0.0-experimental.09348ce":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.09348ce","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.09348ce","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d7b8473f8a1a9582c837095d8a26b2ef4f43e380","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.09348ce.tgz","fileCount":34,"integrity":"sha512-BVPJVJpE+S+OkybEGWaXWabsWLhIu+5BMHhN1WupXvslABZqMX0WBTAnRyC8w0A5BS9t0+uNAIV4b3+28rjNJw==","signatures":[{"sig":"MEYCIQDxR6eEFlfedstICF4mRsZVBSwF+DrvyJM9QuILYFuQoQIhANDCAq7pW2+wOOmWiHDIZ4ob1EIsuWk2uqQpa9yPm9vW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.09348ce.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b63d6cc11de7df2e259e825d9ffbb322/solana-rpc-transport-2.0.0-experimental.09348ce.tgz","_integrity":"sha512-BVPJVJpE+S+OkybEGWaXWabsWLhIu+5BMHhN1WupXvslABZqMX0WBTAnRyC8w0A5BS9t0+uNAIV4b3+28rjNJw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.23","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.09348ce_1685697130010_0.43892827383384225","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bfb2f6f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bfb2f6f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bfb2f6f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5aa66ebb3d133029bbb35024070a2b6b8e55718a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bfb2f6f.tgz","fileCount":34,"integrity":"sha512-KYAkQSvLYNKKW0MW5KqrzcUEvSMqRL8NvmYea5GzzvDW7OhWk6/62l4ioOhnhD/1KzrbK89P5revPp19YVb+XA==","signatures":[{"sig":"MEYCIQDiW8bJrGNeuab7wquC6zxI3xDuaalZ9azsT9q3sW/FQAIhAP6O0YkEIRe8tQ6mxdOWJ3C33NK4/weJBUzh4mR+X0K3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bfb2f6f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/329c55850baef54c7bd4d6c32458deea/solana-rpc-transport-2.0.0-experimental.bfb2f6f.tgz","_integrity":"sha512-KYAkQSvLYNKKW0MW5KqrzcUEvSMqRL8NvmYea5GzzvDW7OhWk6/62l4ioOhnhD/1KzrbK89P5revPp19YVb+XA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bfb2f6f_1685697429364_0.6933700567766601","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f8229ef":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f8229ef","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f8229ef","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"53ab7eb020f140bea1db494a662cbf7e07487d93","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f8229ef.tgz","fileCount":34,"integrity":"sha512-HR/acSABT3ob1yYgZ2lkXc7j4fDgf4bAI+FrclPo3pPPFsKG+mYXCMstbIaKQYoUOwJJcM6reRFgxJjw8pJFrg==","signatures":[{"sig":"MEYCIQDgUFhk+yj+V1vv/YAq5CFZLllqhIYGTqKYiojHRds7NgIhANcJYaihrlWlQsDLTzHeZHjxtls+6Ri75NWJmvfkhLP1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f8229ef.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2e8c0a9279e9ca745b7fda1d41ca8983/solana-rpc-transport-2.0.0-experimental.f8229ef.tgz","_integrity":"sha512-HR/acSABT3ob1yYgZ2lkXc7j4fDgf4bAI+FrclPo3pPPFsKG+mYXCMstbIaKQYoUOwJJcM6reRFgxJjw8pJFrg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.0.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f8229ef_1685698049203_0.69761344870285","host":"s3://npm-registry-packages"}},"2.0.0-experimental.aeec044":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.aeec044","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.aeec044","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dc42b58cf181c6404d3b3a85b876e0aa4c2bdb69","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.aeec044.tgz","fileCount":34,"integrity":"sha512-XsiPPXwkZgapv09602gDBxAAWo7ESmLZuxmRU2U7K8WsZbJLq7UNWCHnM49eWHvL6JKo+jmtTne35elF+5o1Hw==","signatures":[{"sig":"MEYCIQDzBwSeqKWjz/trnORUjFqTfSJ5O1YGvVqv+Zd1ZPI03AIhANLvVLI3sIagGsR0+I+RGyTA/sRCSR7bfYzm3GJVkLXN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.aeec044.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/4ef63e8d976d7cb2c6b1c85845eef0b6/solana-rpc-transport-2.0.0-experimental.aeec044.tgz","_integrity":"sha512-XsiPPXwkZgapv09602gDBxAAWo7ESmLZuxmRU2U7K8WsZbJLq7UNWCHnM49eWHvL6JKo+jmtTne35elF+5o1Hw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.aeec044_1685956243170_0.08269851878408274","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f1b44c6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f1b44c6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f1b44c6","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"52d83c1064bfd9032052dce588bd80e697c213b5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f1b44c6.tgz","fileCount":34,"integrity":"sha512-ObQXGyJzdiySgjC3Bh7lWVNVpwhUteO3+KYuz0c7iWXcEVZSxszKVbSHHBbllP0vvVekPugqFWI8+u0hLW3DvQ==","signatures":[{"sig":"MEQCIEJj86m+KbgfEvqGl5I8Rz1otEPC5MQLO/9S2yXZXfp/AiBV2h4H+lx9Jvbsi16AlbMyjZ9ABJLcemmMiYDbT9Kd8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f1b44c6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d9d75db13b894e303947d8e55f600fb6/solana-rpc-transport-2.0.0-experimental.f1b44c6.tgz","_integrity":"sha512-ObQXGyJzdiySgjC3Bh7lWVNVpwhUteO3+KYuz0c7iWXcEVZSxszKVbSHHBbllP0vvVekPugqFWI8+u0hLW3DvQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f1b44c6_1685956607100_0.04744188355485779","host":"s3://npm-registry-packages"}},"2.0.0-experimental.46f8588":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.46f8588","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.46f8588","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9d214ce98fc7d9e8d808140e0eb299b390e2e1df","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.46f8588.tgz","fileCount":24,"integrity":"sha512-Vw5aDOS7rv9g6+NNZx+Ox44NcoPn7xcg1zWv0pwE8Vc7v3QNWwYW+9fqLHmMLDFb3bG16PWnO8NJ99AM2547CQ==","signatures":[{"sig":"MEUCIQC1X413ZWBi/EtX7MUt5Y01lW20dwU52jVBlGD6gfI4tQIgT4m8oOx4bfpZQkQsT+6bXCmajwUGsfHb7WQbu+zjibA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.46f8588.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1da4b1a22e7a38ef6a3c22b9073f5b5c/solana-rpc-transport-2.0.0-experimental.46f8588.tgz","_integrity":"sha512-Vw5aDOS7rv9g6+NNZx+Ox44NcoPn7xcg1zWv0pwE8Vc7v3QNWwYW+9fqLHmMLDFb3bG16PWnO8NJ99AM2547CQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.46f8588_1685957106341_0.7833986295396882","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bc38d16":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bc38d16","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bc38d16","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"21c005d86b6fa3a8dbe16d62a9cf978e98c04223","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bc38d16.tgz","fileCount":34,"integrity":"sha512-ZlSW16XgCC6uaYUYfhEGOgAptYNwKsC0dr8mJmgz6tmVsCiEwiqXo0S0UdJf92XkGJV0FmRWW5SR5mOoBqSdbw==","signatures":[{"sig":"MEUCIQDV3sphex/EeftBPIzwsEq0iIkMk/hemLiybPQIoALA0AIgVBICw3AWwBRpkIynKtWnxfllOU6BD0AGoHqL/JzPATg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bc38d16.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cb015a48c22033d2122355c5ac9532d2/solana-rpc-transport-2.0.0-experimental.bc38d16.tgz","_integrity":"sha512-ZlSW16XgCC6uaYUYfhEGOgAptYNwKsC0dr8mJmgz6tmVsCiEwiqXo0S0UdJf92XkGJV0FmRWW5SR5mOoBqSdbw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bc38d16_1686042720605_0.47116920619604796","host":"s3://npm-registry-packages"}},"2.0.0-experimental.461cafe":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.461cafe","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.461cafe","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ed83c13290c8e4ffd7a98d02804c3f3542a934e8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.461cafe.tgz","fileCount":24,"integrity":"sha512-UpTpiv925SEeLd0ZN0zhE+A94DobFW81DqLVrJLfMWWY3UCpBl0HbICBnV1yInIZ9WVMCZ3tFyG7SVXmj/imzA==","signatures":[{"sig":"MEQCICgVn3tlAqhLfxoJESkTBkQtuI8zUyrd2dTKBrAqSoIZAiB9qvBdbmTYUl0a/MSrxVQFc95/Qh20HysCX3C6Lj9ZHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.461cafe.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ead83216dbdfc954b6ea6a9a30c0f10c/solana-rpc-transport-2.0.0-experimental.461cafe.tgz","_integrity":"sha512-UpTpiv925SEeLd0ZN0zhE+A94DobFW81DqLVrJLfMWWY3UCpBl0HbICBnV1yInIZ9WVMCZ3tFyG7SVXmj/imzA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.461cafe_1686349502082_0.1875817715893775","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b0e1171":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b0e1171","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b0e1171","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f63ab0962cb3f56103aaa8daaa3a9ccf2788d440","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b0e1171.tgz","fileCount":24,"integrity":"sha512-Pjj/BGRsMGsYV258/BIjTb4yh/L6iiZqEwIw98GgiWbPhz6FzB8wdMtItUyXt487g0SMalA/kRJas7BZ9NYNrw==","signatures":[{"sig":"MEYCIQDNeIKaC6PDak3ZYHCbEc4Te2nvanMuHrbf0qz0DSL45wIhANkl9hJGYfGmveI60Rtsw9SeOQHUibILl3iUmxJm1FyQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b0e1171.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/645099dcc1fe885d64dae018263e4747/solana-rpc-transport-2.0.0-experimental.b0e1171.tgz","_integrity":"sha512-Pjj/BGRsMGsYV258/BIjTb4yh/L6iiZqEwIw98GgiWbPhz6FzB8wdMtItUyXt487g0SMalA/kRJas7BZ9NYNrw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b0e1171_1686352958122_0.9230124462007512","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b79b56f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b79b56f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b79b56f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b9ad8d91e9fd6d59bde455f2b93c8ba116f9d3cc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b79b56f.tgz","fileCount":24,"integrity":"sha512-CadExK4nr2COekDkHpeByOosY0hfJSUOb1gogX6N/4dHbShOEnRLVXUXQeSw6ochMtLkfxamuZU1I3p1rS/ObQ==","signatures":[{"sig":"MEYCIQCISgMQ0WEt7sgJ//9PDKUgHgRvnloiXrQnxkdgnxtnYgIhAKBxH5xUKT20uJMIlx+bSI6lXPCjknTxqt0A4FuRriP8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b79b56f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e85dab6eab52704d818e020aa50d044d/solana-rpc-transport-2.0.0-experimental.b79b56f.tgz","_integrity":"sha512-CadExK4nr2COekDkHpeByOosY0hfJSUOb1gogX6N/4dHbShOEnRLVXUXQeSw6ochMtLkfxamuZU1I3p1rS/ObQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b79b56f_1686353170986_0.3328949606936158","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b8df7b4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b8df7b4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b8df7b4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2cdc8bde433748d9539132990085bd8177844617","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b8df7b4.tgz","fileCount":24,"integrity":"sha512-KjD1KnZnRgc2S6rODslBvl5kJpIEBhqf5/9UAIKBca8eVktJD+66LXEAy1uVtDVGqe4CLjMal5iKpe5A0S8rTA==","signatures":[{"sig":"MEYCIQDPMzl/PeUq3GGOEUHTudmduKgP7OwRjp04OM2ZU0beSAIhANt0SmMwItXZAC2SGRoefinP0VYhau+8gknRonf1yvlQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b8df7b4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6ddcff4ee452cbb37bc3206d7a005e28/solana-rpc-transport-2.0.0-experimental.b8df7b4.tgz","_integrity":"sha512-KjD1KnZnRgc2S6rODslBvl5kJpIEBhqf5/9UAIKBca8eVktJD+66LXEAy1uVtDVGqe4CLjMal5iKpe5A0S8rTA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b8df7b4_1686353211438_0.36749248072023066","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8d948c9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8d948c9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8d948c9","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"34275cdf9427c4cc247db14900505043a64b8524","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8d948c9.tgz","fileCount":24,"integrity":"sha512-JPQNbQb/jlqFIllOfTJvTmBlS6wH9tjORQs/Mqs08utoVScCip3Gs4fyPyTVoY12Bwb4nt0m6oq6Ed0dT7dUPg==","signatures":[{"sig":"MEQCIGswuYXMQ1br74/4tYUJcAaWgZQg0GlJeQL00IKwjvj1AiBS2hcWYr6/ZQUFWhq6D6ZXZHSMZltGOrYiGy4yVegC+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8d948c9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/bfde03229ea0dd04abc78ad01dfed07d/solana-rpc-transport-2.0.0-experimental.8d948c9.tgz","_integrity":"sha512-JPQNbQb/jlqFIllOfTJvTmBlS6wH9tjORQs/Mqs08utoVScCip3Gs4fyPyTVoY12Bwb4nt0m6oq6Ed0dT7dUPg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8d948c9_1686354215141_0.4051299482690047","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6524b01":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6524b01","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6524b01","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4065ae65ea3bd08e78c4b433112a17b1df5bb7b2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6524b01.tgz","fileCount":24,"integrity":"sha512-0vCllLtEMfRi7rvoP3CfN8pG1g2N2XgHggMSSVRUiwX6edSW2dAjTj46JAhhun7ZvoP3fHIK8YPAyNNjOh5Kbw==","signatures":[{"sig":"MEUCIQCFR6UeWTijFOJInybjH5C9HFN1NWD33X7FpeIuasSsngIgAIhS7YlhVY0slhO/4pYtFZhoZM/EgIUH5d9Xirv3CXE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6524b01.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/68d6a2cdeb9f1ee00fe637c5c2db3562/solana-rpc-transport-2.0.0-experimental.6524b01.tgz","_integrity":"sha512-0vCllLtEMfRi7rvoP3CfN8pG1g2N2XgHggMSSVRUiwX6edSW2dAjTj46JAhhun7ZvoP3fHIK8YPAyNNjOh5Kbw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6524b01_1686354805446_0.22265244432808462","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7d8a778":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7d8a778","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7d8a778","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f2b4a1dec864eedd94547feb6ef36169afa57ad0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7d8a778.tgz","fileCount":34,"integrity":"sha512-7GSRU3uOgkIGmk+4bZpacLQYnWaYs6kD4fQzmsdcofaHUDZoWOpj9EgvCeXyL/nUqLls8Qsl15EmEys56fd80A==","signatures":[{"sig":"MEYCIQCMenw7KEzBZawVU8iyAml2McR6EkN98RmtRM+DLrthKQIhAIvNiOXIsKXSsOup7FMRVoe64Qw1vYe7YuemnxsLlS2c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7d8a778.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3698cacc988ec6bf1d74357bcdca0a4c/solana-rpc-transport-2.0.0-experimental.7d8a778.tgz","_integrity":"sha512-7GSRU3uOgkIGmk+4bZpacLQYnWaYs6kD4fQzmsdcofaHUDZoWOpj9EgvCeXyL/nUqLls8Qsl15EmEys56fd80A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7d8a778_1686354851895_0.2916041142311441","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3e5b95c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3e5b95c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3e5b95c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fda693e47c4b3cc81ab54ff55d23b7812c2f31dd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3e5b95c.tgz","fileCount":24,"integrity":"sha512-T7jah+0Hps+z671MAwnk6cxjQvuGXI4dxR9yGap/om6SWMHCSZmEYaIMLpriS9WPQzJD+X2uPXUNxWe6qTpG0A==","signatures":[{"sig":"MEUCIGRSSdmBG5c4C9Tf9wc9kHTKK3reKxxBXWInu/+S6whGAiEA6bTdQFEAUG6ZSSG8PJVe5nUZFIDO5DB3/StLFtaTfks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3e5b95c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7f3b9e3172aa47d723f509ec22d207a3/solana-rpc-transport-2.0.0-experimental.3e5b95c.tgz","_integrity":"sha512-T7jah+0Hps+z671MAwnk6cxjQvuGXI4dxR9yGap/om6SWMHCSZmEYaIMLpriS9WPQzJD+X2uPXUNxWe6qTpG0A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3e5b95c_1687293235185_0.7575567797066449","host":"s3://npm-registry-packages"}},"2.0.0-experimental.de111d2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.de111d2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.de111d2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"64635a0d17e19bffd4a7eef07de7a42dedac4123","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.de111d2.tgz","fileCount":24,"integrity":"sha512-w5vuj7Fq9Too+lhsyXOoYFV/XhcbakQ59vCCgAUwCkXujPpbOvrilHU0mY5DlU7L7TVKP4LoyO7VlzUflC1/Tw==","signatures":[{"sig":"MEYCIQCRsns8IcAQBW5LFP42hwU0BrjnvnnZSovgSZYzrkFaawIhAKTnFGsnpmb39eIFVrCXGfL1hLppwDzk2w85BfH6+Jcd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.de111d2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/53a2ac615466d1c04cd396abfe9ee354/solana-rpc-transport-2.0.0-experimental.de111d2.tgz","_integrity":"sha512-w5vuj7Fq9Too+lhsyXOoYFV/XhcbakQ59vCCgAUwCkXujPpbOvrilHU0mY5DlU7L7TVKP4LoyO7VlzUflC1/Tw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.de111d2_1687293366176_0.9624936095511516","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2678c4b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2678c4b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2678c4b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1fa3817cedc5bce2ea4d749f77e1658012a8eb3e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2678c4b.tgz","fileCount":24,"integrity":"sha512-DfcDMitSCwzgUGmy3jGi3kqRENA+TA7OxutWEQqUVCHAsrm5CK+hkdTBD7qxMpGHBMJqtCQY9prRhBe8gipKMg==","signatures":[{"sig":"MEQCIF/iP7EyGQR+oTyQFkqdi59mX7sUc1QT2g30V3vweHnfAiBh7zVLhHRUX8ZVP3NDwuiZ7SUIJUqHKf1WGlLfkCFL4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2678c4b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7129f63aac24437c92019f12fe70af80/solana-rpc-transport-2.0.0-experimental.2678c4b.tgz","_integrity":"sha512-DfcDMitSCwzgUGmy3jGi3kqRENA+TA7OxutWEQqUVCHAsrm5CK+hkdTBD7qxMpGHBMJqtCQY9prRhBe8gipKMg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2678c4b_1687293377293_0.7815045313451603","host":"s3://npm-registry-packages"}},"2.0.0-experimental.eefafdf":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.eefafdf","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.eefafdf","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f5ba53095af681624eed50da021aaaba5e853e61","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.eefafdf.tgz","fileCount":24,"integrity":"sha512-Ykye2vO5w5GHjrubcCq8QVPlYlHD8FjdmXVUZZnk463tV9ktVydtqCTdXwj9tveKA4XETigchQVyoAN4V/mKuA==","signatures":[{"sig":"MEYCIQCZANJhSlznIGUSJC92fG8AP44/BC2xYTUCjS+ZsS5trwIhAJXqO4PdUf1TM5c7G39wdwDUk8dzDuHh9Sri/sEe17pD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.eefafdf.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9e9bd4dbf6faad98d908745f87e054eb/solana-rpc-transport-2.0.0-experimental.eefafdf.tgz","_integrity":"sha512-Ykye2vO5w5GHjrubcCq8QVPlYlHD8FjdmXVUZZnk463tV9ktVydtqCTdXwj9tveKA4XETigchQVyoAN4V/mKuA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.eefafdf_1687293384352_0.868709812907499","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8608356":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8608356","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8608356","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ccde9e575eb00172bad847d8596c22514e93a499","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8608356.tgz","fileCount":24,"integrity":"sha512-rxS5bA3HOai2aU6+e9DkFK7YSbAyeyOWEB/BWSTT0DCoh/1SzfK5UL0uJ7AWhek42rtQXkQPY5QbURW6l96hcw==","signatures":[{"sig":"MEUCIC9EprRB9+DGocP3QYJlY0KtBzoLNYjF6Ta4vsNf9CyRAiEA73iBR4L/VG5n+GJdPUEuNLQlcTpaUom7UBsNqCd2oFs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8608356.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a82a312bd531ab70d376b24137d91158/solana-rpc-transport-2.0.0-experimental.8608356.tgz","_integrity":"sha512-rxS5bA3HOai2aU6+e9DkFK7YSbAyeyOWEB/BWSTT0DCoh/1SzfK5UL0uJ7AWhek42rtQXkQPY5QbURW6l96hcw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8608356_1687293412126_0.5222968943399757","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4e091b2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4e091b2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4e091b2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f79f041362e47b0b6db9602dcc30d278a98e863e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4e091b2.tgz","fileCount":24,"integrity":"sha512-0BItv3+I9YcC91DjQicCmco7uCnVqzLNaQQY5j8XghluTIjPRh5O2chMacaSWm0Zrd45N1fTdBIed4YOQQNwFQ==","signatures":[{"sig":"MEUCIClPKIV5FLZwEKsOy/WmeTmkmmwsi7x0QobqlTREejVXAiEA4VuVMx5aHIBvBRgPMzxje1mRlvjtQP3pr5ncfG5n/DE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4e091b2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/21f9b50f44554164ddd155d9f24e7bb6/solana-rpc-transport-2.0.0-experimental.4e091b2.tgz","_integrity":"sha512-0BItv3+I9YcC91DjQicCmco7uCnVqzLNaQQY5j8XghluTIjPRh5O2chMacaSWm0Zrd45N1fTdBIed4YOQQNwFQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4e091b2_1687293505596_0.3910046155598781","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7d4c36d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7d4c36d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7d4c36d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6f9d5d63fb9f4300e95508392026470a92d699e2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7d4c36d.tgz","fileCount":24,"integrity":"sha512-MOfEid719pFDcdO+6FRQJgbX4YayYtUesaGMcXoSWe9+zn5qJ/TLpJ3qNSLHD/XQE7BMUlml9GufRwlQN4us+A==","signatures":[{"sig":"MEQCIC+p2imTGIqV2PtCbdXyJgh1UK2LJ+7zGmbPwFVNiqOhAiBgWHrfulaWk5fS8Uyr6ulUWC5g1Qo6PLO2vW5U11CbGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7d4c36d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/57aa7b3d3572e298fc8613f24b76a98f/solana-rpc-transport-2.0.0-experimental.7d4c36d.tgz","_integrity":"sha512-MOfEid719pFDcdO+6FRQJgbX4YayYtUesaGMcXoSWe9+zn5qJ/TLpJ3qNSLHD/XQE7BMUlml9GufRwlQN4us+A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7d4c36d_1687910303503_0.9608251516495157","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c9a65a0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c9a65a0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c9a65a0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"82b93abd27c8d243d714a449a04ffc27736d66ad","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c9a65a0.tgz","fileCount":24,"integrity":"sha512-ZNQKNSOsHPLbypwRk2W3nJ9Vxw4w7aGzDcQx1LBDokYAMLyNw3hK7jYBSHnQrQlOy2zcdJsEd+mXRf/nG4WENA==","signatures":[{"sig":"MEUCICPaPPNqRYn5sYHHjrpVSmaFIMiLBiNziSGUiqIXqTSZAiEAn56b4y0EP4gMNFJ7rH4YRcqTroc+F/yHd3cpCPmWLlQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c9a65a0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e045d073f53c532c00240969f599c588/solana-rpc-transport-2.0.0-experimental.c9a65a0.tgz","_integrity":"sha512-ZNQKNSOsHPLbypwRk2W3nJ9Vxw4w7aGzDcQx1LBDokYAMLyNw3hK7jYBSHnQrQlOy2zcdJsEd+mXRf/nG4WENA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c9a65a0_1687910388385_0.25532111078211717","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e264f4d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e264f4d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e264f4d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ff81591b93bd44ad6b86d5baaba76870a79c0b8d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e264f4d.tgz","fileCount":24,"integrity":"sha512-WxsbxHTXUwrNPQe7uUJcDNbc6csOMfcWwqfdwsyeZ+57mkLdUH9YdLDAN2VPevEwNHCOggidZnV5KQspvfU4PA==","signatures":[{"sig":"MEQCICbZhjrfyl6okqyVOnwIwx4ixPG8u+4+eOMSG52UG6G9AiBJYblZkbYd8Q50B9JtP+VBd5ai5G5AE6gI5KqqEyz8Jg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e264f4d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7be234f9f79d81877579da1b9a5b916d/solana-rpc-transport-2.0.0-experimental.e264f4d.tgz","_integrity":"sha512-WxsbxHTXUwrNPQe7uUJcDNbc6csOMfcWwqfdwsyeZ+57mkLdUH9YdLDAN2VPevEwNHCOggidZnV5KQspvfU4PA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e264f4d_1687910400740_0.8662353424240214","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8e1b3b7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8e1b3b7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8e1b3b7","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5b69d0030db13b994b6fb33983680d1868a66311","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8e1b3b7.tgz","fileCount":34,"integrity":"sha512-JXWxXiNKLNb6Zb+jlLZl5udw+ZZQqdybiWprFjYNQ9lHYpqWxEBWkL1B1MRUj84R6ttaiUGuVW6q1yS+roa/wQ==","signatures":[{"sig":"MEQCIDFLiyt1LP0g1jGayHixzme5DxVDsgzuaZZSgi9UY76wAiAM9/JwKtWqeaBNqICLTR56WtxTKutKIjjcZIAN2nPCvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8e1b3b7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/edf104fc4f591cc364727ac217557e75/solana-rpc-transport-2.0.0-experimental.8e1b3b7.tgz","_integrity":"sha512-JXWxXiNKLNb6Zb+jlLZl5udw+ZZQqdybiWprFjYNQ9lHYpqWxEBWkL1B1MRUj84R6ttaiUGuVW6q1yS+roa/wQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8e1b3b7_1687969659943_0.4680960195057162","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2989216":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2989216","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2989216","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6e522afd5203ab31aaf900f14d5c32a904b24afe","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2989216.tgz","fileCount":24,"integrity":"sha512-WaSwCvD9tph9zF/UQ0kFueXhIk2Dz2pL/1LkssJIXzPMjeuZ0CA5zLYssNY77qKsxmg9wS/Ie3FICgB22myXEg==","signatures":[{"sig":"MEYCIQDVoEUflAjFMHFXCRCr5wJFnukcGsSXFKcGqRZ0pmQ/TAIhAOHFYhDVhkdt/IrJRxmHq3SDkCzMaY8AXW6ZFMiOh0wI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2989216.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3cad6badbaedd605b07f5cd665f1e22c/solana-rpc-transport-2.0.0-experimental.2989216.tgz","_integrity":"sha512-WaSwCvD9tph9zF/UQ0kFueXhIk2Dz2pL/1LkssJIXzPMjeuZ0CA5zLYssNY77qKsxmg9wS/Ie3FICgB22myXEg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2989216_1687994711422_0.5923194361583506","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bcca4c4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bcca4c4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bcca4c4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2b84aef2fba499e054533856d054a1036ee8baf0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bcca4c4.tgz","fileCount":24,"integrity":"sha512-0gVueMdq6VHt6vSnWALTaDQcB5NcZWf/6rSzqPe0sXlgLZgM7zx9AUPrCug6bDz2MYHsnjYYklWTpgkowMU/3w==","signatures":[{"sig":"MEQCIFkUqRTl+iCn/3WEKjkIfNrd1Ak2DLKUry19lZyT7IhoAiAmWWFNMDnXygthiVr+KfSHjrfuScWaxpoDljU+Ni7FoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bcca4c4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1a72ff3a4280507567a466d0f67443c5/solana-rpc-transport-2.0.0-experimental.bcca4c4.tgz","_integrity":"sha512-0gVueMdq6VHt6vSnWALTaDQcB5NcZWf/6rSzqPe0sXlgLZgM7zx9AUPrCug6bDz2MYHsnjYYklWTpgkowMU/3w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bcca4c4_1687994725628_0.2049209432965493","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e7a27fb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e7a27fb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e7a27fb","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"aed72eb6cecb17f0751d9a18d7ccc3b60dba2c95","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e7a27fb.tgz","fileCount":24,"integrity":"sha512-IUqgUvwsN/ATeEHM5hXhJkAk94K2SL4Hyo0knt91ElBeRiIjU8k+eOZEuRL2zb7bi+d9d9TLD6vNHNEHEo3hEw==","signatures":[{"sig":"MEUCIEiXeHqrNDAR5ey1mXlswSppyPNr8EiAU3lNP342R1YhAiEAgXoH/19fzjSyV4JsNavMREDzhq13VqAY8C75KqYp2Ts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e7a27fb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7b1c6b8b1a74dbdf52cd14ca9b98bb4f/solana-rpc-transport-2.0.0-experimental.e7a27fb.tgz","_integrity":"sha512-IUqgUvwsN/ATeEHM5hXhJkAk94K2SL4Hyo0knt91ElBeRiIjU8k+eOZEuRL2zb7bi+d9d9TLD6vNHNEHEo3hEw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e7a27fb_1687994750448_0.9807550870975996","host":"s3://npm-registry-packages"}},"2.0.0-experimental.743e0a6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.743e0a6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.743e0a6","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b6b5fdfd4fa08513ac9b0764dac2aa85b4a1698f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.743e0a6.tgz","fileCount":24,"integrity":"sha512-VI2r8lcrK1F0UXXlUoP024r3IvspUPL8VNQSVv5RRsCg6psjS6xtpRtFI4F4ZstD1Cd0k1SlgfoIjMQDbo4OFg==","signatures":[{"sig":"MEUCIBGBM9T2xOz9nCodUEqdALdmWTlv7yLy73v1PsZD5yTvAiEA2A2eMViv8JADhvJeLAQaOYgiukC/wjmfkqyqm0HdJCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.743e0a6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/10f3103311daf96a8ae1761c84fc788e/solana-rpc-transport-2.0.0-experimental.743e0a6.tgz","_integrity":"sha512-VI2r8lcrK1F0UXXlUoP024r3IvspUPL8VNQSVv5RRsCg6psjS6xtpRtFI4F4ZstD1Cd0k1SlgfoIjMQDbo4OFg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.743e0a6_1687995098908_0.2898527343512458","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fbdf21a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fbdf21a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fbdf21a","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0d24d301f3cf43baa4c364c5d925442cac9c0cc7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fbdf21a.tgz","fileCount":24,"integrity":"sha512-4k51KnkF1I+zqJqZY4LzFDWGTe8AN+ya85RqAHoh77fushG5EcQECTEr3UnYg2hvODdvDc9v475uZ5cHmVq2dg==","signatures":[{"sig":"MEYCIQCIexSSqX5F4qWxg61C8tuGIiHrlNETxoqaVqtUtWJI8QIhAMRxb30Gw91gNX4Pq9fCh5v44Zh0E3B4CrmURbC0DcwU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fbdf21a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cb58469bb05825cac0000ebf2be14862/solana-rpc-transport-2.0.0-experimental.fbdf21a.tgz","_integrity":"sha512-4k51KnkF1I+zqJqZY4LzFDWGTe8AN+ya85RqAHoh77fushG5EcQECTEr3UnYg2hvODdvDc9v475uZ5cHmVq2dg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fbdf21a_1688012154593_0.6623611865296728","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7713bac":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7713bac","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7713bac","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dcff67f2b7bcf7c97daf23bf5fa9519417bb7df4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7713bac.tgz","fileCount":24,"integrity":"sha512-iVPGwGJvIdqfBuHW6TFUH4HAmRZFr+ULOyY3I7ox/dyUeO4ahSvMm6/0/ag7KQJeTCxBS5BPc+PSRibB4xPuJA==","signatures":[{"sig":"MEUCIQC6MwUWHP8ehKCR/QQXMG9bPnrSMW1vD4C+pUtENTnGHQIgJYbFsjFM4fO5SkLUNlc57JEH0y5zSZKzZZNjwiRwALg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7713bac.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7e7567922692702c0a49473d0e6c2656/solana-rpc-transport-2.0.0-experimental.7713bac.tgz","_integrity":"sha512-iVPGwGJvIdqfBuHW6TFUH4HAmRZFr+ULOyY3I7ox/dyUeO4ahSvMm6/0/ag7KQJeTCxBS5BPc+PSRibB4xPuJA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7713bac_1688057596586_0.2546426995422506","host":"s3://npm-registry-packages"}},"2.0.0-experimental.81a951a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.81a951a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.81a951a","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"503f7eee28df366260631013e0684b86b9d46316","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.81a951a.tgz","fileCount":24,"integrity":"sha512-tuLwveAmqmAkhOLtvs753RJXIW1o6uM3+B1ECTTQnHjOXrC8g+LRNGXGNEejS3952T/BeJpw5IicqP9RTNfOew==","signatures":[{"sig":"MEUCIQD7kmBE1ifW1a4RHB2eC49TLDCGM1Gx9FGtoUX315Z3gwIgEAOReHfQksp8xf+EzTBw7bQn1glh+BxwMrfaUCQWVVc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.81a951a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/00e1f6a167ed918956069b2fb0f711ab/solana-rpc-transport-2.0.0-experimental.81a951a.tgz","_integrity":"sha512-tuLwveAmqmAkhOLtvs753RJXIW1o6uM3+B1ECTTQnHjOXrC8g+LRNGXGNEejS3952T/BeJpw5IicqP9RTNfOew==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.81a951a_1688058161707_0.33447643947451056","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8d5318e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8d5318e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8d5318e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"880ac9aef73a10e2736bcc7c7bd17f220719456f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8d5318e.tgz","fileCount":24,"integrity":"sha512-pHy62LTGgB0Xd3/xnvbsBARDEzvMyqU15+Vvbkj6ln6Xo9opxP3weDXKyIItCcEYXzFVb8/645uEetwedQKhFA==","signatures":[{"sig":"MEYCIQD9tM2ej+32ADugQ4k+i8wUl/RmL3eneZp600Z7pd5YDQIhALcOezvvBLyqxwsgHly++JjXTH26QX1WlMQKb+1l34Q5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8d5318e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6ad28095d67314bfdb2bda20114ec47b/solana-rpc-transport-2.0.0-experimental.8d5318e.tgz","_integrity":"sha512-pHy62LTGgB0Xd3/xnvbsBARDEzvMyqU15+Vvbkj6ln6Xo9opxP3weDXKyIItCcEYXzFVb8/645uEetwedQKhFA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8d5318e_1688058169051_0.9057878797447969","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7b06723":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7b06723","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7b06723","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e1a1ce5273dbb59c87b6acf6e89b639771cfb74c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7b06723.tgz","fileCount":24,"integrity":"sha512-kaArzsJH7J7+bD5pu6GRLHvo1TPkO8S2f0oSg9/oc1Jy93Q+PvlAv/ev0W4hV9Gztm5J8tmixhYbuTD0GzLtMw==","signatures":[{"sig":"MEYCIQCF8BvAVCsJ/l2NlD4+N+AxSsS6Yr0OH9BPUCtRvOAnNwIhAPyKgGED1Q3gdBluQW1tnmsyEcI7cjk/a8ma8LHASFbh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7b06723.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3d44d1f4d274e6bedfb4b7e65ef81c1c/solana-rpc-transport-2.0.0-experimental.7b06723.tgz","_integrity":"sha512-kaArzsJH7J7+bD5pu6GRLHvo1TPkO8S2f0oSg9/oc1Jy93Q+PvlAv/ev0W4hV9Gztm5J8tmixhYbuTD0GzLtMw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7b06723_1688066128984_0.0997620415988707","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f291d36":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f291d36","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f291d36","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9c9f6794f5af3dea60a82ed5769457979d8c999c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f291d36.tgz","fileCount":24,"integrity":"sha512-qmbtfYSQg0lBkjz3QI+jcQb3aAcc0Jd3p9TK6AAFXSBe/oSa+8M2fnI6Nxjfyii3xWMSw1m8UV3KmZjfik+5jQ==","signatures":[{"sig":"MEYCIQCQLrsIRWqlHqsFnOpVKC4scSKX+XRyXXj0zikQM4dZTQIhANtQpK+jeKfwZwaps9X8KxhakjOkDZ1zBXhgbRkzPjU6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f291d36.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6249a7450fbf5029351a126c61a79de8/solana-rpc-transport-2.0.0-experimental.f291d36.tgz","_integrity":"sha512-qmbtfYSQg0lBkjz3QI+jcQb3aAcc0Jd3p9TK6AAFXSBe/oSa+8M2fnI6Nxjfyii3xWMSw1m8UV3KmZjfik+5jQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f291d36_1688066246669_0.009538254848616479","host":"s3://npm-registry-packages"}},"2.0.0-experimental.02a66ef":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.02a66ef","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.02a66ef","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"396c5a9bd7b7b547ec92633c1989a735eb545fb2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.02a66ef.tgz","fileCount":24,"integrity":"sha512-AHC0v3ZOpQkjJ5iS0rarOWvr//3TrWLNoqWM/xHgTNX8q1c3MKSG24ZaH3i7H6djU+2/ErDzBofLsonikl3zVQ==","signatures":[{"sig":"MEUCIQDNsAMZ3MwgpIJ0ZX9QOqEYqBfjolPoonshWwcEBuWEvAIgNzZSAXF1yGquIWa1rDYjupLVejOVgz7yP9hFVkjMoMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.02a66ef.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c22417588c8967721489aaec865e7166/solana-rpc-transport-2.0.0-experimental.02a66ef.tgz","_integrity":"sha512-AHC0v3ZOpQkjJ5iS0rarOWvr//3TrWLNoqWM/xHgTNX8q1c3MKSG24ZaH3i7H6djU+2/ErDzBofLsonikl3zVQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.02a66ef_1688066325261_0.17287521057330424","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3775937":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3775937","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3775937","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1eb12d2edcf5c077a41fb80c3cfe1bca80e95dd5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3775937.tgz","fileCount":24,"integrity":"sha512-qH5PzZUlaGAop6ZeO7yNWjuggLMCV9DFRHzvMabl6+4cXLfEbwpxsts10VZHQEqDlhnhKEgLcRoWL/LtSq0ZUQ==","signatures":[{"sig":"MEUCIDdwM05+tRGalP5QIavAU0QEgv9S5NgHfuLPVxSA7+X4AiEA1RqY/FX3XE8DLt/xISr7SVrwfmW38dKq/jieXpO8y7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3775937.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/fe9d03b3d462948088345022e6dfb8d2/solana-rpc-transport-2.0.0-experimental.3775937.tgz","_integrity":"sha512-qH5PzZUlaGAop6ZeO7yNWjuggLMCV9DFRHzvMabl6+4cXLfEbwpxsts10VZHQEqDlhnhKEgLcRoWL/LtSq0ZUQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3775937_1688066531856_0.81409902005286","host":"s3://npm-registry-packages"}},"2.0.0-experimental.874d89c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.874d89c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.874d89c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"84d64faede9370736962c252728329ae85878e4e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.874d89c.tgz","fileCount":24,"integrity":"sha512-BdC2+jRW47wSN6sv4axSFji2m9RZ7JTCNSgElE3mKJA53BFkFeU+OYLQnmrwfvlc14cdPYIH8fIGxxtsX2eerg==","signatures":[{"sig":"MEQCIGS4rvKKUFupV1YfGybA4xDqt9BTTAdARxfxvhy0NwK4AiAIN4MVTb0PGQh6gPSIv/F766aIUEzmuh5spsV6ZR4dKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.874d89c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3e79cca69565d9407e05ec0052e8a730/solana-rpc-transport-2.0.0-experimental.874d89c.tgz","_integrity":"sha512-BdC2+jRW47wSN6sv4axSFji2m9RZ7JTCNSgElE3mKJA53BFkFeU+OYLQnmrwfvlc14cdPYIH8fIGxxtsX2eerg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.874d89c_1688141368126_0.3238978278188793","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d1e0dc6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d1e0dc6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d1e0dc6","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6ef54d32a30611e1f5d50500f309551ac5d2412d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d1e0dc6.tgz","fileCount":24,"integrity":"sha512-YAKAzUbqZWC/ClXcxbA6aqDKrhPeZB8K4/GvmOYydg60aNnNVMP6V3SnTXpU9FzFpzMWJ1fUySZ+Lpky49qxIg==","signatures":[{"sig":"MEUCIEQd7SOoisGLqkFhrNGzjkce2cvqYtssluQoH84qZDQNAiEA/YQyP1CiiniYo2FWFm4cHHnFOmwGjVp7i3ORDsM4fME=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d1e0dc6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d26394c6a49d7d1bbbed1a04379e6de6/solana-rpc-transport-2.0.0-experimental.d1e0dc6.tgz","_integrity":"sha512-YAKAzUbqZWC/ClXcxbA6aqDKrhPeZB8K4/GvmOYydg60aNnNVMP6V3SnTXpU9FzFpzMWJ1fUySZ+Lpky49qxIg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.1","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.5.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d1e0dc6_1688590983456_0.08213467414956788","host":"s3://npm-registry-packages"}},"2.0.0-experimental.083ac3e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.083ac3e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.083ac3e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"20f86e320ed0ea37ee6eeef2d9de3759f67a10ad","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.083ac3e.tgz","fileCount":34,"integrity":"sha512-hsHpAOlEmObZGUNTZm9wjJaeo5ooo3TgYzeXgbk947eOx2LXy1sZ2jnWkOkMqmKJ5/8nS63/2qXsJ1XJ6oCqwA==","signatures":[{"sig":"MEQCIFBhw0Fx/zLT5Om04zZxtm8dwI+aZHvwyFPZ2+xm53D2AiA6FXSZIYG/IZPnh3m1MuTxwuK/2KaOPGrTFKvQQRFOAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.083ac3e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ee2bf910a90fa24cc7104ff8407e47aa/solana-rpc-transport-2.0.0-experimental.083ac3e.tgz","_integrity":"sha512-hsHpAOlEmObZGUNTZm9wjJaeo5ooo3TgYzeXgbk947eOx2LXy1sZ2jnWkOkMqmKJ5/8nS63/2qXsJ1XJ6oCqwA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.0","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.083ac3e_1688603512046_0.14340591460243068","host":"s3://npm-registry-packages"}},"2.0.0-experimental.444644c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.444644c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.444644c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0248408964e15d8a8b053187a14ea7208bfb6fac","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.444644c.tgz","fileCount":34,"integrity":"sha512-FEACrq9g55GcYzttWZU0usP0Ig/Xcbdt0n7dkSxZk/L5oKyxuVohmQwT+WGxp0LtTAT5YYhfGaPC/uegkuDnWw==","signatures":[{"sig":"MEYCIQCwXSwRtOhhogbLa0At9wxjUOa1cEvdwm4+Ws7iLwp3RAIhAI+BWGV5+M/K0dybofiptRppRToBRHbmTmzH0Hg0gTcm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.444644c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a1499dbc2df9809e66f95efaf3cf932a/solana-rpc-transport-2.0.0-experimental.444644c.tgz","_integrity":"sha512-FEACrq9g55GcYzttWZU0usP0Ig/Xcbdt0n7dkSxZk/L5oKyxuVohmQwT+WGxp0LtTAT5YYhfGaPC/uegkuDnWw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.444644c_1688675105314_0.2894005638664292","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ca5fcbd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ca5fcbd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ca5fcbd","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a92ceb133570a95ff0e54211eb8a4dc290a54005","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ca5fcbd.tgz","fileCount":34,"integrity":"sha512-5t7+5yrJi9Z1ZPqZdeCSS8d3dBXKponDXkTN/V2j5IBlWQQyl3+2v1DX6rEB1QcezR5moxHsooUEaEOk9DdJyw==","signatures":[{"sig":"MEUCIQDuj42MRyWIwInCq1lyNN+b/X8HvKYN2kLzfBW+qj6d7AIgCojZkKzaBou8usPYePpmA8qhLfztsJ8EZMQR40cNjLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ca5fcbd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a8bb8c1ace8918c0e07e9a1a74b39c0c/solana-rpc-transport-2.0.0-experimental.ca5fcbd.tgz","_integrity":"sha512-5t7+5yrJi9Z1ZPqZdeCSS8d3dBXKponDXkTN/V2j5IBlWQQyl3+2v1DX6rEB1QcezR5moxHsooUEaEOk9DdJyw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ca5fcbd_1688677324756_0.7748989688410073","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3b1c7d5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3b1c7d5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3b1c7d5","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"716ab3a66116f33699b62afc25e6a292106a5f14","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3b1c7d5.tgz","fileCount":24,"integrity":"sha512-Ufcyv3Ir6t2O4psv1Dg0xB6JF0llQZi5QheK+y9CVeMcnQXpA6/Z+0WSvYVReng3t8fEVKpXOIxRbQ9s0LjTRQ==","signatures":[{"sig":"MEUCIQCbeMrdv2ryXZcJfSZHZU5Q4LNdw6kjB1qJl2lTLrNuDAIgUtxQdaZH17H5gzYENzpOQPJuOyigujPbrSVX8x1C09g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3b1c7d5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ddca41da98bf3433f3caba4a40089cce/solana-rpc-transport-2.0.0-experimental.3b1c7d5.tgz","_integrity":"sha512-Ufcyv3Ir6t2O4psv1Dg0xB6JF0llQZi5QheK+y9CVeMcnQXpA6/Z+0WSvYVReng3t8fEVKpXOIxRbQ9s0LjTRQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"8.19.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"16.20.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3b1c7d5_1688677348333_0.3374635450697716","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4f36046":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4f36046","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4f36046","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4e043c760cf5f9ac3916fef28f5dfee12811b146","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4f36046.tgz","fileCount":24,"integrity":"sha512-KTBgfruDs7NRg59JhvGZaf+KQUyYyMS1aUHrJ7GBJ0oDo6eKlP8XdTnJUgFKyKRvr4jPLJ7cvAeEadjNAPh6Zw==","signatures":[{"sig":"MEQCICR5MzQ0BUgDwKCbb+WAZz7+gagG6IYv3z4hCLbOei5+AiADpH7buzceHj9bS3psyBaZ5Vo04cQlI4fobQZsPxcLQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4f36046.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9616d1c93f26c7c913f959aa50eb04c2/solana-rpc-transport-2.0.0-experimental.4f36046.tgz","_integrity":"sha512-KTBgfruDs7NRg59JhvGZaf+KQUyYyMS1aUHrJ7GBJ0oDo6eKlP8XdTnJUgFKyKRvr4jPLJ7cvAeEadjNAPh6Zw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4f36046_1688689412764_0.7434983892409237","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9232d2b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9232d2b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9232d2b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c8abda25778e8eb21c9827c8cbcb6087825b9e6f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9232d2b.tgz","fileCount":24,"integrity":"sha512-gTcHCJJ6wZeL2akMU5HUhGydsoFYRojW0X++JtAcW9d/+68NOrWMytvVnHMMICDrdQ7+QSi8sZc3xx1/L+/zMQ==","signatures":[{"sig":"MEYCIQCOhOmBho7Lq2Uv3TZT8aA/BRTg5Z8WKAPsBNgtxhvdRQIhAMGOUlK/0gKIWRfS/IDbJRpIzWjgbf3QAwPlXTm1stO2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9232d2b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3ee11c38628f3fa7132f71533fd27d2c/solana-rpc-transport-2.0.0-experimental.9232d2b.tgz","_integrity":"sha512-gTcHCJJ6wZeL2akMU5HUhGydsoFYRojW0X++JtAcW9d/+68NOrWMytvVnHMMICDrdQ7+QSi8sZc3xx1/L+/zMQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9232d2b_1688704946781_0.03767684348002165","host":"s3://npm-registry-packages"}},"2.0.0-experimental.49ed817":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.49ed817","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.49ed817","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3b46ed27b4c699412b9a9375a03e7ff427b9707a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.49ed817.tgz","fileCount":24,"integrity":"sha512-dWJ5aBp2rXO84KS83l1Zry7QRpzg0sTzhXcv2kp5NpTianKh+y3d95/F19u8W2s1Ww5+dnUtfaijGpAAioDGyw==","signatures":[{"sig":"MEQCIBUHCXT79DNh/tNg8RFrLjepJpKqBD+F1WnI+GODmvMUAiA81H19WrBQPE9pkoPu/OL1wan8PdG3DFxbq0v3k+YSFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.49ed817.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/263d35e65ccf89b573444fdad441a5cd/solana-rpc-transport-2.0.0-experimental.49ed817.tgz","_integrity":"sha512-dWJ5aBp2rXO84KS83l1Zry7QRpzg0sTzhXcv2kp5NpTianKh+y3d95/F19u8W2s1Ww5+dnUtfaijGpAAioDGyw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.49ed817_1688706647333_0.08177337584137145","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3d43623":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3d43623","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3d43623","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9078ab03ea02d339b19224e333391094ea34b18b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3d43623.tgz","fileCount":24,"integrity":"sha512-zpCV2lQB+c5cCevT/SgyZp86cRQNQpCqXOtt1y8y7dJKwQpyHCVdOZEGdUdTcuSjMTl0LQX+J1d20/3zP6zatA==","signatures":[{"sig":"MEYCIQDFEEfW4drZ0MbdLMWfKLjbzIpwJ6ZF3eznk4TuR80qLAIhANINBV0OasLGg83gFtWyZMiHvwMzScm/6l2Ofj3q2+6m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3d43623.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/82d0732ba8e158267e20a5412471d156/solana-rpc-transport-2.0.0-experimental.3d43623.tgz","_integrity":"sha512-zpCV2lQB+c5cCevT/SgyZp86cRQNQpCqXOtt1y8y7dJKwQpyHCVdOZEGdUdTcuSjMTl0LQX+J1d20/3zP6zatA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3d43623_1688726527935_0.5164399505197557","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4539c77":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4539c77","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4539c77","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"731c0655421fe144093fa6e7f5d26c5612a68589","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4539c77.tgz","fileCount":24,"integrity":"sha512-OhtJ/iWJm8yt95S67NCHOun+YX5nuTB7sstVdtkuwWKE3oSbu807D2UrWqHRLoy9hcOO3E8sMzEYa4B+yrLxbg==","signatures":[{"sig":"MEQCIDm4U5d6TcB2RRKeUDEL3stvCoj4cLIbQLRw9F30UE1/AiB0MF4XXloPV72CO8s1b2rawRPUgvWislBr8Pv8a1UoDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4539c77.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d3e68c525ce6f48da066b49c7e2dbf76/solana-rpc-transport-2.0.0-experimental.4539c77.tgz","_integrity":"sha512-OhtJ/iWJm8yt95S67NCHOun+YX5nuTB7sstVdtkuwWKE3oSbu807D2UrWqHRLoy9hcOO3E8sMzEYa4B+yrLxbg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4539c77_1688726603035_0.19354098849743417","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d79809f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d79809f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d79809f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a59b10870e21c88788d296af72004b2020d139b6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d79809f.tgz","fileCount":34,"integrity":"sha512-IfWxZrvVcSl7OAnkkby1S/7rnJ5N+pu2NhrKrkXCJLacyc0Z7gMVtLbBvWKysX9enDNHOy/JHLUi613dye5jhw==","signatures":[{"sig":"MEQCICGjP2qjQhlfUnq5Oh90J9+rmQ+3rl2Y8wzEpWGUVzx5AiALE9od9XqAFLNYSrGXye1wDNmREyj0fH4g78aE8oab+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129511},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d79809f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/60a364a635ec71df2822eae731915eb6/solana-rpc-transport-2.0.0-experimental.d79809f.tgz","_integrity":"sha512-IfWxZrvVcSl7OAnkkby1S/7rnJ5N+pu2NhrKrkXCJLacyc0Z7gMVtLbBvWKysX9enDNHOy/JHLUi613dye5jhw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d79809f_1689331986188_0.853964614501153","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c727961":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c727961","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c727961","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9b34fa28a7100813de667464867b29c011346c82","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c727961.tgz","fileCount":24,"integrity":"sha512-85cujijbU46AiFeIIlYDersJZ3eBfZFbuehcu8DGQe7hMQcIOQ7B0k81e4hxf4mYduswRhkCEytDNJCLq4+HPw==","signatures":[{"sig":"MEUCIBnSGd7TU4uBuU4FmXTNt33skaUpfygeoy9wP28Xy1ruAiEAr/JY/niVaBRcvBRo5sdHktzyYGECti27LuT4sAwoGLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c727961.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b85c909bbf8ab74a2af19cd752ca730b/solana-rpc-transport-2.0.0-experimental.c727961.tgz","_integrity":"sha512-85cujijbU46AiFeIIlYDersJZ3eBfZFbuehcu8DGQe7hMQcIOQ7B0k81e4hxf4mYduswRhkCEytDNJCLq4+HPw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c727961_1689376797071_0.3526766035250748","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9bf9fdb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9bf9fdb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9bf9fdb","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"73ab479c76312800acedbe1f1b76236e2768e1cf","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9bf9fdb.tgz","fileCount":24,"integrity":"sha512-gQF8yOFmnni/+decuPE+ElhkTeAt+pQxk8i4RaBObJfshETYFfGNbQQyMBfFa4DCHxsHlr06/Jp/FPFHLRYCug==","signatures":[{"sig":"MEYCIQCIcg3L2lUe+4n9Bz9Ww1l3+yVXOMcsRmhomPJrLflCxQIhANuyGF/zJBSswd8lRIeCSq6HBMhkdrjpnCaph4pynnAa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9bf9fdb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a83dbfd63a0c08ed4102fbe08b8afeb8/solana-rpc-transport-2.0.0-experimental.9bf9fdb.tgz","_integrity":"sha512-gQF8yOFmnni/+decuPE+ElhkTeAt+pQxk8i4RaBObJfshETYFfGNbQQyMBfFa4DCHxsHlr06/Jp/FPFHLRYCug==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9bf9fdb_1689376838796_0.5350700654271947","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cb1a5a0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cb1a5a0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cb1a5a0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e935075a91da5dc08fd42e2918b9da5ec60a5020","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cb1a5a0.tgz","fileCount":24,"integrity":"sha512-PAyyNChNMfk46s3zQjhqPpsubx0UEHo7HburMcScsGlCzueJzsiQt7p4Mamld6hWfVGgpTv5f1P/NlVmZ6M93w==","signatures":[{"sig":"MEYCIQCLJgoxqK5mQy8UQzpbZ5LM6Y7G0PKc/d1K4xX4R2gHfwIhAKPvC49hqqQIJkgG1hbEu6K1Q6D9X+ldrPMqyiduPuun","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cb1a5a0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8421c7291383cbd116f0352e244511a5/solana-rpc-transport-2.0.0-experimental.cb1a5a0.tgz","_integrity":"sha512-PAyyNChNMfk46s3zQjhqPpsubx0UEHo7HburMcScsGlCzueJzsiQt7p4Mamld6hWfVGgpTv5f1P/NlVmZ6M93w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cb1a5a0_1689376868809_0.1255250991896999","host":"s3://npm-registry-packages"}},"2.0.0-experimental.91c8b54":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.91c8b54","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.91c8b54","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5f863744167cfc8857ba964b0122fa3c129488a8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.91c8b54.tgz","fileCount":24,"integrity":"sha512-Xxtqj8+S31nn81r/qqDlXXaGtZ5kf8iFfyVLfUzPhhI+MP7iEqfnGlBlsSTpldZAkRDc369loLsTVrbpqHsNXw==","signatures":[{"sig":"MEUCIEEQqMIySMsqyP0HJw5s92YRPkqzj/T6zSEd8MHQfqoBAiEAlFgCFrI+WTyFbnAYw9cs2lT4gZjbBYaYAqHeIFniBEo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.91c8b54.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e682252eb40e6cf0b9de28e9bff9caf8/solana-rpc-transport-2.0.0-experimental.91c8b54.tgz","_integrity":"sha512-Xxtqj8+S31nn81r/qqDlXXaGtZ5kf8iFfyVLfUzPhhI+MP7iEqfnGlBlsSTpldZAkRDc369loLsTVrbpqHsNXw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.91c8b54_1689377598247_0.4749768849246998","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f0d60d9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f0d60d9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f0d60d9","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"16ba1b9ae0ea3095ece45594a9ff760fecb1bbad","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f0d60d9.tgz","fileCount":24,"integrity":"sha512-IMKrLTLZ9M96P0C8fTH43PciNOTIU64hMpJ4tLtYXeLnNMh7SCpMvfJPH5xzhVdV+T0gkLEI+QGzNdzm3Uvfjg==","signatures":[{"sig":"MEYCIQCW/SGb6XXHcuDw6ODmvIebOCov5pcfflPbrh3Glln5fgIhAJhcS6shBwe3xK9BuZs+hyZZMrCclaYWQDDqGKkw6xFe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122370},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f0d60d9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7f0a3d9ac7b0578cd9a9e05113581aba/solana-rpc-transport-2.0.0-experimental.f0d60d9.tgz","_integrity":"sha512-IMKrLTLZ9M96P0C8fTH43PciNOTIU64hMpJ4tLtYXeLnNMh7SCpMvfJPH5xzhVdV+T0gkLEI+QGzNdzm3Uvfjg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.37.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.0.4","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.1.5","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^5.57.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.1","@typescript-eslint/eslint-plugin":"^5.57.1"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f0d60d9_1689377979664_0.07580847045686157","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6cedd3a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6cedd3a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6cedd3a","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"117894a96d602513b5b243472bc94c3b46158bdf","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6cedd3a.tgz","fileCount":24,"integrity":"sha512-wlbeqH5MQUH5W0s6oth3CrIESvRJlF/xwrL/d7cpO7pyz4ghG26InnXZidy5ZWpuqJSMP4Y3leD7TEFnEzVCZQ==","signatures":[{"sig":"MEYCIQDl2n45/6Cq8M7GR8Hxl2oyFnNKV2s8EWIBlwcksoD84wIhAIBcaLKZfcO0Z2UI0H1op7J5wxfPL0zdl+nOF2ECD8Fs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6cedd3a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0b2fe88a62e2633217ccf56ba8b10973/solana-rpc-transport-2.0.0-experimental.6cedd3a.tgz","_integrity":"sha512-wlbeqH5MQUH5W0s6oth3CrIESvRJlF/xwrL/d7cpO7pyz4ghG26InnXZidy5ZWpuqJSMP4Y3leD7TEFnEzVCZQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6cedd3a_1689398069548_0.011961295900897229","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0e113c0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0e113c0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0e113c0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4b61517995bb21facd475bac0f9956e667c7efa6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0e113c0.tgz","fileCount":24,"integrity":"sha512-4n8xVJ4OFSk1WMIztzFgfNQGFwk+I2G0GLD/c2ka/Rw5XDhE/CR1kAz7OF/JFGl+JRseFPUdA3Cr6D4m2YMINw==","signatures":[{"sig":"MEUCIQC9IaMq4Y5Yk9D0zAiZnSwIvqympXP+/cnSVh6owzJqHwIgHgKmWb7cL3KV0wuo4JB1g0a1WvbVtgJcI4t51PAPbTY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0e113c0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/177001e2fadcf3b927f54acf6110d0e9/solana-rpc-transport-2.0.0-experimental.0e113c0.tgz","_integrity":"sha512-4n8xVJ4OFSk1WMIztzFgfNQGFwk+I2G0GLD/c2ka/Rw5XDhE/CR1kAz7OF/JFGl+JRseFPUdA3Cr6D4m2YMINw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0e113c0_1689398751643_0.5230181104455405","host":"s3://npm-registry-packages"}},"2.0.0-experimental.457d032":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.457d032","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.457d032","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"11f2fd9409bd831f3c1c9df89736ce8622feebfa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.457d032.tgz","fileCount":24,"integrity":"sha512-EGiQxjS0R8mbPdHHanDeVX7O6KKJhhsEs8m3ps2BLE4ZhXFoJSvWExkNO/OopjWp+gUNBc9g5j8V1yt5nsIz/w==","signatures":[{"sig":"MEUCIA0zq96ROejlr6JaCHMGs1rI3+v1C11GYMcHf46a0cXJAiEA6lCC7fnH32U/6RGA5pgDNe5kZ/3kkgL3/+xAglsseS4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.457d032.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a4ec9d2d72334b10752df49debcae42c/solana-rpc-transport-2.0.0-experimental.457d032.tgz","_integrity":"sha512-EGiQxjS0R8mbPdHHanDeVX7O6KKJhhsEs8m3ps2BLE4ZhXFoJSvWExkNO/OopjWp+gUNBc9g5j8V1yt5nsIz/w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.457d032_1689655967508_0.4679488545810331","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c29513e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c29513e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c29513e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f135a000994dd209017ecea00b2b764a7138771b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c29513e.tgz","fileCount":24,"integrity":"sha512-e2bEdciepFTSYcLMs+cxe9gcFgSkD0NeACzAv/vUNI6AAsShLS3h9yc1kFMwaTM6U7rs/ne1CDCedw3OImlRLg==","signatures":[{"sig":"MEYCIQDOXG0A7YNg+3unfPrXsLUt7Q6ioqsgh8nw53M65NcaSwIhALXqofIDmbBdVn7igptQCiJYimcOGyGionSIt46pyXz2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c29513e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ebf9384e9d6312a7d8808e9d099d032d/solana-rpc-transport-2.0.0-experimental.c29513e.tgz","_integrity":"sha512-e2bEdciepFTSYcLMs+cxe9gcFgSkD0NeACzAv/vUNI6AAsShLS3h9yc1kFMwaTM6U7rs/ne1CDCedw3OImlRLg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c29513e_1689658658353_0.28896611419019225","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6b66b7d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6b66b7d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6b66b7d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0350f67c63837788d2f141b1e6c34e2c7d065d85","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6b66b7d.tgz","fileCount":24,"integrity":"sha512-PbwrJrfJ+sW8AmuelYNo8oWBEVr+p65KCPb3bisfzI3R2vtnGkS8I8L4RJkTD41u29RIAVmxdDbGjet0T6BC8A==","signatures":[{"sig":"MEQCH31oOHejgLzueWEpsnkjAE25/hB8J+tH4sH1YlReeiUCIQC4hUiFJOpW5P8Lrsu3iEFdoK9hItnoKDHCtI1vvJw1xg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6b66b7d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b0f0c67187571da35085a532a5cabe64/solana-rpc-transport-2.0.0-experimental.6b66b7d.tgz","_integrity":"sha512-PbwrJrfJ+sW8AmuelYNo8oWBEVr+p65KCPb3bisfzI3R2vtnGkS8I8L4RJkTD41u29RIAVmxdDbGjet0T6BC8A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6b66b7d_1689692192785_0.7792079361445658","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ee9f3d8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ee9f3d8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ee9f3d8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7d7081127c6f2e919268ea95184e3df95e77f570","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ee9f3d8.tgz","fileCount":24,"integrity":"sha512-KqZDqHFQHch3fXBQGfF8zEpzDetBtLgJmErT4ovtZ3w4dZAeW7+6vYJawGgqaek6/Lp0cn4rYi0LXOX8fpLpFA==","signatures":[{"sig":"MEUCIQDJ6ymJp/yBDz921udKdOOfZM7XDiwq7Si2N1fJkGMvSQIgY5yEuKJWB7eJkcNfGuVewvxuVco0Ns9vFyiXwqNak2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ee9f3d8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/dc1db61f451b14a0aeee1f1344263823/solana-rpc-transport-2.0.0-experimental.ee9f3d8.tgz","_integrity":"sha512-KqZDqHFQHch3fXBQGfF8zEpzDetBtLgJmErT4ovtZ3w4dZAeW7+6vYJawGgqaek6/Lp0cn4rYi0LXOX8fpLpFA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ee9f3d8_1689816822897_0.3116593207977514","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9b5eac4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9b5eac4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9b5eac4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"bb05e4a7e711e417b67faa3cd93f05f3998cbfff","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9b5eac4.tgz","fileCount":24,"integrity":"sha512-1ywZod2hyQ9D6T3c8iC7Z6mSk7avldTCwDem9BbI6wJo5zwbeXk2VL3g+klQrkXJPt0Z3RYoRJn79myNwwQ6Kw==","signatures":[{"sig":"MEUCIQCvNNMCvIhRXmjNpUidtsXA1Z6YKrEZg0dUx23bWnoW8wIgBds/UR1HfnyyCiVx5s7wtQ9Hjy5gMxElO3F69NM2Kkk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9b5eac4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/4c379fcb164e4b29ab2600e5b8fcea8b/solana-rpc-transport-2.0.0-experimental.9b5eac4.tgz","_integrity":"sha512-1ywZod2hyQ9D6T3c8iC7Z6mSk7avldTCwDem9BbI6wJo5zwbeXk2VL3g+klQrkXJPt0Z3RYoRJn79myNwwQ6Kw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9b5eac4_1689960874159_0.735036904792286","host":"s3://npm-registry-packages"}},"2.0.0-experimental.24998c4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.24998c4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.24998c4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6c101adfd88c30b73585b6e17f94bed017ab0a09","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.24998c4.tgz","fileCount":24,"integrity":"sha512-hAL/6oxvN2SncCiYRyHNTQJYylQ3fLTKODE+nDDHsV/jl7yRx/u1jdfjmhI8sffsWOvDKuIO9FXu+T/MRpBGVQ==","signatures":[{"sig":"MEUCIHtHEjnONASvGhwYzriOeWqMKm5p3vW9758/wGy4EreGAiEA84TpC4/bgOgx7+fjvdl/CjANtBJKz+tJpKEd2saDXNY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.24998c4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5fd90b9630693238cec618475a3dacdf/solana-rpc-transport-2.0.0-experimental.24998c4.tgz","_integrity":"sha512-hAL/6oxvN2SncCiYRyHNTQJYylQ3fLTKODE+nDDHsV/jl7yRx/u1jdfjmhI8sffsWOvDKuIO9FXu+T/MRpBGVQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.24998c4_1689960883097_0.4572368514455054","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a7f0f86":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a7f0f86","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a7f0f86","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"02c5778110f45c97e5e41699e5ed86e7fb4299ec","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a7f0f86.tgz","fileCount":24,"integrity":"sha512-+kWpNTi2sFkKEEQw911wicVeF1Jl96zCHhaXHdqvNOiOls3goRC796wlXCbYalnHI/kMZF3nIANu6jD7K7a8Sw==","signatures":[{"sig":"MEUCIQCeCesECgRSXtzy/wECXBO9wqw6OZ1xnaRXLNUno2UVQAIgSeIDavn9wxfHM8aFtOTGepdjpP9wiPJHLnQrwIbzKCo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a7f0f86.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e286290d659ca3624ee99f7529c0d589/solana-rpc-transport-2.0.0-experimental.a7f0f86.tgz","_integrity":"sha512-+kWpNTi2sFkKEEQw911wicVeF1Jl96zCHhaXHdqvNOiOls3goRC796wlXCbYalnHI/kMZF3nIANu6jD7K7a8Sw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a7f0f86_1689960958941_0.165967066742573","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4f9ea6b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4f9ea6b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4f9ea6b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"446bbb06b8883f6149a241871debe0230f353102","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4f9ea6b.tgz","fileCount":24,"integrity":"sha512-rOUEEF7h7CjJ/YTyW/gJRailYwQpNJo2rEv4RmBD6usiq9yOC5NHNpdtMCbkbdqEGWNUCHQROfAoe4hDZW1Tmg==","signatures":[{"sig":"MEYCIQD065ycPin7hr4TQJWrlHKll5euXvzbACYCzROC1RH2jQIhAI6m8hB7pRybYTV5fZAdxz6EMsBWKUgSEQHgIOay4CyF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4f9ea6b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/06f4fbdba5f889d09d604559aebe4259/solana-rpc-transport-2.0.0-experimental.4f9ea6b.tgz","_integrity":"sha512-rOUEEF7h7CjJ/YTyW/gJRailYwQpNJo2rEv4RmBD6usiq9yOC5NHNpdtMCbkbdqEGWNUCHQROfAoe4hDZW1Tmg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4f9ea6b_1690003641814_0.27280479469790775","host":"s3://npm-registry-packages"}},"2.0.0-experimental.90d96dc":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.90d96dc","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.90d96dc","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"53b2b28d1d4da975f285147459c78b273a4471f2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.90d96dc.tgz","fileCount":24,"integrity":"sha512-g+II0pzUDZpORNSr4nQbgTbvO4zfvqwfyKJiI7FL56mxGu8NLmo1wrh/eqpOQ12YIjj46SksCi+YY/E7EoSQRg==","signatures":[{"sig":"MEQCIH6ahUhkQ9KM0WfP9gDOy5BbcUka1fWoD2hNqZ+XeDNBAiBQLNGlLBgVoHrRcVtHj/l2HdNtEGCH+DB5mV1IBprCWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.90d96dc.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0c36daa70f058eb127fd9ad132807f2b/solana-rpc-transport-2.0.0-experimental.90d96dc.tgz","_integrity":"sha512-g+II0pzUDZpORNSr4nQbgTbvO4zfvqwfyKJiI7FL56mxGu8NLmo1wrh/eqpOQ12YIjj46SksCi+YY/E7EoSQRg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.90d96dc_1690003913027_0.9853033171991907","host":"s3://npm-registry-packages"}},"2.0.0-experimental.71b920d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.71b920d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.71b920d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"facde01bc2e0eb56af6fe103930d7ddb282e4fb3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.71b920d.tgz","fileCount":24,"integrity":"sha512-wGBUxh7HsQ5bjp94nekPBEinOL61HiHo2ZI9YVsRauqjqb3tJgoI6kdSsN6Pvt/zhM+kvg2N9qCZsIJEayMbmQ==","signatures":[{"sig":"MEUCIQC3T8oePC4ARwf8AmEEqlrSln4UlTULXvj0/UhSDav8EgIgS2+jlBD6pjijFi7p3l9JWIqYCdsJ1VVKdxnQ9ejBoQg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.71b920d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/655ff3c467a8f0c654ad829211174e9b/solana-rpc-transport-2.0.0-experimental.71b920d.tgz","_integrity":"sha512-wGBUxh7HsQ5bjp94nekPBEinOL61HiHo2ZI9YVsRauqjqb3tJgoI6kdSsN6Pvt/zhM+kvg2N9qCZsIJEayMbmQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.71b920d_1690003939579_0.7093423552323794","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2bae733":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2bae733","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2bae733","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"487a4ccb173d30bf6740d4012901cc1ee2a2f1f2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2bae733.tgz","fileCount":24,"integrity":"sha512-/tLydwgmxWSRYUWDx8hO+lT+ct4v63y76JfSjxeuD+f8CQRIZKCSDED1DGcWiCeM56+CyfWKzkOfz2fxTCP3ww==","signatures":[{"sig":"MEYCIQCQoM2Zfc5QAQ2qVdrfWGWXKY+GXGGFxZ0EvHtDZeiwmAIhAIqVdlnidvW+zaIUsfKEEoynsji/c4vkmutD0oySnEmk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2bae733.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3cad8427a0de798e46ece71d002418e5/solana-rpc-transport-2.0.0-experimental.2bae733.tgz","_integrity":"sha512-/tLydwgmxWSRYUWDx8hO+lT+ct4v63y76JfSjxeuD+f8CQRIZKCSDED1DGcWiCeM56+CyfWKzkOfz2fxTCP3ww==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2bae733_1690003971582_0.26275606928490336","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5082935":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5082935","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5082935","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1d98d32ab7cf8f2687b39699dc8e33e1ee247405","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5082935.tgz","fileCount":24,"integrity":"sha512-HSY9ibrydoXIt93PM49UIL3N1riTaMvhPyJtoA8vIxccZYE1v2+DNCk3dWD1yHRiZRnSbmM5h94lvybrSkp6nQ==","signatures":[{"sig":"MEUCIQC1D+u5nhMZZ8jZsUHF4AK4MQZD6Rah9c0+B3z2N8bBRAIgQMpnaOB0paCfNQELo6aqwVDjOsJRrWla27kK+mrAH+s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5082935.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8d2cf8bb2e8851db8c44fd2b9da690db/solana-rpc-transport-2.0.0-experimental.5082935.tgz","_integrity":"sha512-HSY9ibrydoXIt93PM49UIL3N1riTaMvhPyJtoA8vIxccZYE1v2+DNCk3dWD1yHRiZRnSbmM5h94lvybrSkp6nQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5082935_1690003984894_0.13673813064878249","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0de6c3e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0de6c3e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0de6c3e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"805467fb11e66432c27165aeb6e02b35a5da1d41","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0de6c3e.tgz","fileCount":24,"integrity":"sha512-z8lZZ8enQeu/dKND//m/HftrW+nKDDoahQj4t7Zfo6Dj+6JhZ7urJ2VQNvBBCgGUGdwQ1TAkRBig66BRQt+icQ==","signatures":[{"sig":"MEUCIQDg5W1c6J/jSGJOMykm8B6B1VjEBS6Td7RXisCgbEq52wIgeBHxfIl+lS4LWL5znca475SKY3PobJrlm0tzwFYSrFc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0de6c3e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b4fdc102b0fe287546980ef8c1ca315a/solana-rpc-transport-2.0.0-experimental.0de6c3e.tgz","_integrity":"sha512-z8lZZ8enQeu/dKND//m/HftrW+nKDDoahQj4t7Zfo6Dj+6JhZ7urJ2VQNvBBCgGUGdwQ1TAkRBig66BRQt+icQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0de6c3e_1690004019593_0.0033410518262637634","host":"s3://npm-registry-packages"}},"2.0.0-experimental.32e3112":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.32e3112","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.32e3112","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a28d1f4d1ea9721dbc46f24f63764ca795cf1291","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.32e3112.tgz","fileCount":24,"integrity":"sha512-JDfiHnAnUMUqtT3i9hnAWM467ZIT3UdLz2SGUtUORwGtQ3Vzr2UI9DnAWDx1ILFIqWDYzph5O1B8qNUPjBCJdw==","signatures":[{"sig":"MEUCIFNbVxzndRVAKHU8UbOpzlmF7qf1TVTS5MdlB60ePgseAiEAmMmnZy7d5iAMecfgPjY9TN/J05BgtLPTCTewqxP2inM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.32e3112.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/779c7cb45eadbc8657af0bc2234310bf/solana-rpc-transport-2.0.0-experimental.32e3112.tgz","_integrity":"sha512-JDfiHnAnUMUqtT3i9hnAWM467ZIT3UdLz2SGUtUORwGtQ3Vzr2UI9DnAWDx1ILFIqWDYzph5O1B8qNUPjBCJdw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.32e3112_1690004049348_0.38157204030752023","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9300d8b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9300d8b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9300d8b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3e605c1f5fedc86f0fba85f20f2c9675a2aaa236","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9300d8b.tgz","fileCount":24,"integrity":"sha512-LbJ3BwWTlcRuOfbtoNZ+Dd8fwlFHNIeaFJdSDO5TQBXhLxFj4S/MIsG77z4SBCjJ02GRjt2PZOGzZuCaWowv6w==","signatures":[{"sig":"MEYCIQDC/xqgikRD/zl0SuOq0sVew2v0QTs9N0rYf3embcf/GwIhAMF23j42OJPWFfuuiqFvD5akVAJ8vzYGv2e6gh65fZkO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9300d8b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/4f09b45af3ae1bd7f959636aa8b9d638/solana-rpc-transport-2.0.0-experimental.9300d8b.tgz","_integrity":"sha512-LbJ3BwWTlcRuOfbtoNZ+Dd8fwlFHNIeaFJdSDO5TQBXhLxFj4S/MIsG77z4SBCjJ02GRjt2PZOGzZuCaWowv6w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9300d8b_1690004108702_0.3032911197004846","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4ec89a6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4ec89a6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4ec89a6","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a05882b260c1fcd1475e97f5ace4c190f9a8bf13","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4ec89a6.tgz","fileCount":24,"integrity":"sha512-OZJqjhBa+LzGzfNnIkXhCTdkjwMqyB8Dwv5Mge7lowpyBYmaH5m+AFSNG2aR3PEwN5y2YqPv6nn3rX8+/8fKyw==","signatures":[{"sig":"MEUCIQDp+OoeTMbt0iH1MNzUWiGRvlfc7oXtQwLKcOVDtYw0vQIgNq/L+YAWaWvJfYT4FOVAFiw23I3Yi+0TvvXUxbPmiIY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4ec89a6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7c8c8ed582654e0da2e8edd1cf5ff735/solana-rpc-transport-2.0.0-experimental.4ec89a6.tgz","_integrity":"sha512-OZJqjhBa+LzGzfNnIkXhCTdkjwMqyB8Dwv5Mge7lowpyBYmaH5m+AFSNG2aR3PEwN5y2YqPv6nn3rX8+/8fKyw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4ec89a6_1690004141004_0.20739196692111284","host":"s3://npm-registry-packages"}},"2.0.0-experimental.87c9652":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.87c9652","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.87c9652","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"08c7c685d3ccc97e70cd5d06e9479b40c8d4eb02","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.87c9652.tgz","fileCount":24,"integrity":"sha512-GJihT2TZ1znrCrIPfZE1nABNPRXaUsH2eXrT0N8BCcIYIYYVGdvJx5QoTDG2Cf0xxv+rNjacDBvXVLOjYhqe+Q==","signatures":[{"sig":"MEUCIGhumZEFTvy57B4TGR96Q+RIP48UwrfZAR3WHdZxws9fAiEA4AxI5K0DDvAiJs/XQ4nhed4C+eZwOJG1vwj0w0Uh5Lc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.87c9652.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a4374e8ed8d8f600c5761fd3230b1f08/solana-rpc-transport-2.0.0-experimental.87c9652.tgz","_integrity":"sha512-GJihT2TZ1znrCrIPfZE1nABNPRXaUsH2eXrT0N8BCcIYIYYVGdvJx5QoTDG2Cf0xxv+rNjacDBvXVLOjYhqe+Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.87c9652_1690004250510_0.3167372102000905","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f464b8b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f464b8b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f464b8b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4ddcd1deb673c39a5550553e1bc3b9cdf720d358","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f464b8b.tgz","fileCount":24,"integrity":"sha512-2sfB3iu0YWZYRao/NIMsIdUyubCXIqSFNHXWuNgMAKzIzK9WstYuKusp926kKZ+72TRwQb5gDlX3spPWci19gA==","signatures":[{"sig":"MEYCIQDEDNoC6cxbzhCBLdUblmgu8c06AXbadRUfLuuq6BpSKQIhAMlUK9RkHaUxYHqlwNfoXtwvd6bqjdkKXQyM/9DvMCXS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f464b8b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5077cbeabda2c36afdaa246eeb013f53/solana-rpc-transport-2.0.0-experimental.f464b8b.tgz","_integrity":"sha512-2sfB3iu0YWZYRao/NIMsIdUyubCXIqSFNHXWuNgMAKzIzK9WstYuKusp926kKZ+72TRwQb5gDlX3spPWci19gA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^16","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f464b8b_1690005875511_0.8351356626266486","host":"s3://npm-registry-packages"}},"2.0.0-experimental.95bfd9f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.95bfd9f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.95bfd9f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"058e089f41e458324b28d0f5bf3a8627b7d8c96c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.95bfd9f.tgz","fileCount":34,"integrity":"sha512-z3ikm6pyGdm5YE9c//2qR+jXAbQE2oEbAQVV+VzuKj0fIRxeMUqFDwgLpu1MRlgYtfFGJcKzpBA6Bv/6IreglA==","signatures":[{"sig":"MEUCIQCZf4Zcbgj00fxgACgWdwdeLEu9NfYA5hNEFyU0oqEQVwIgUOIGs6HQt71PCSJtbaU/0MgFuqzhvmnhlOkARdVu2ZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.95bfd9f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9b0092226367b51ee40a7ef9e77791c7/solana-rpc-transport-2.0.0-experimental.95bfd9f.tgz","_integrity":"sha512-z3ikm6pyGdm5YE9c//2qR+jXAbQE2oEbAQVV+VzuKj0fIRxeMUqFDwgLpu1MRlgYtfFGJcKzpBA6Bv/6IreglA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.95bfd9f_1690187646803_0.162183696039093","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9ea7d74":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9ea7d74","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9ea7d74","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"615f23383a09ed389270f874ea3e9179296c37d0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9ea7d74.tgz","fileCount":34,"integrity":"sha512-upOHDKr2wrwWpBfq91KaySJe00mpN3dvtkqVoHUk16mGmCIzka2SQ8AcYqvjUh7nYscEXjeFn5i/2GDZpaCyoA==","signatures":[{"sig":"MEQCIAUjUGLbwa9T3EDm7F6iwVnZojmtY0VaTXxO6kVadaEtAiA0bcG2OpKrQ6PTHh8X4H3oWK+AxytRZGTYijSqMn33Vw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9ea7d74.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3e007a47ea514ed5cf8c8eec09a1eba2/solana-rpc-transport-2.0.0-experimental.9ea7d74.tgz","_integrity":"sha512-upOHDKr2wrwWpBfq91KaySJe00mpN3dvtkqVoHUk16mGmCIzka2SQ8AcYqvjUh7nYscEXjeFn5i/2GDZpaCyoA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9ea7d74_1690188201203_0.678865676197113","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f07dced":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f07dced","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f07dced","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2ef9929389225eebd5318075ddbbda946ff6a40a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f07dced.tgz","fileCount":24,"integrity":"sha512-j5To7636ltP5KxLquUY06MnKOtrnqBUYKeSJIE/CdPO1b8iuG3tu+wa069XG0eTqTQSmw02uX+nwgk0UyFAYwQ==","signatures":[{"sig":"MEYCIQCQ5hxq8E3mbE7P/hyM4bRixW5FnNLW729fRte2aJ+nsgIhAKfQy0sHCOAX0/IYCYb6pAJ9uLmlnrUVqG3jOWiZuQwQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f07dced.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/94a28c136df48d966dc04b7dbbb067aa/solana-rpc-transport-2.0.0-experimental.f07dced.tgz","_integrity":"sha512-j5To7636ltP5KxLquUY06MnKOtrnqBUYKeSJIE/CdPO1b8iuG3tu+wa069XG0eTqTQSmw02uX+nwgk0UyFAYwQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f07dced_1690232552252_0.9900743162405719","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d554dd4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d554dd4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d554dd4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0730251c518ec34ebe358bfa232e929efa3c0b77","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d554dd4.tgz","fileCount":24,"integrity":"sha512-F13fcafbAxE4aokcRv2lIxShstYlOyixnD/wh3h8y6s2iVDZZ5JDpxdm/Z9ukPYia5gZt2QizlR0Bn2K+hhAgA==","signatures":[{"sig":"MEUCIQDy4vN0pGfqOWKG0Q4vPqVrHJZ2/DI541fQxV9BursZ6wIgYHyGchVcoe32p3D59YNTBhmTf6rer1P5THb+2e2vZOM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d554dd4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1fe2b1d722ca7b4b4d7e4f68930804e5/solana-rpc-transport-2.0.0-experimental.d554dd4.tgz","_integrity":"sha512-F13fcafbAxE4aokcRv2lIxShstYlOyixnD/wh3h8y6s2iVDZZ5JDpxdm/Z9ukPYia5gZt2QizlR0Bn2K+hhAgA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d554dd4_1690270177808_0.012678338985984139","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c2d0ddc":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c2d0ddc","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c2d0ddc","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"90d81da52019ee2c0f3a35262cee33833cf801c0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c2d0ddc.tgz","fileCount":24,"integrity":"sha512-LbVEpZSIdWQYc/38mTm/b/NQGY4F6PcMcsG55caJN/A4yJAthu+0TU6ah0O4Y7PTfUR0Saqkq6yQm4IPt8TJtQ==","signatures":[{"sig":"MEUCIE9FDMNaTFoceLVABcg2O2iEP3w4mwCgxBFhrflGl5uUAiEA+WaTsxL0SJicsEhA+7DKB67wplhinQHVlvZHezSHjjI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c2d0ddc.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e8567fe4e3bfade1140f9d1ac306c21f/solana-rpc-transport-2.0.0-experimental.c2d0ddc.tgz","_integrity":"sha512-LbVEpZSIdWQYc/38mTm/b/NQGY4F6PcMcsG55caJN/A4yJAthu+0TU6ah0O4Y7PTfUR0Saqkq6yQm4IPt8TJtQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c2d0ddc_1690274338916_0.8873663886074008","host":"s3://npm-registry-packages"}},"2.0.0-experimental.98b85fd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.98b85fd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.98b85fd","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"63cb77bd9de9507d901f9f5d8095102f22d6e031","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.98b85fd.tgz","fileCount":24,"integrity":"sha512-oLf6wgbrNMCrY0ndZV/UapHn6AyUF+0fzxfBRc9H1lqcQeAaDGbWgqf9y8B0ljXkXpyw2IFNDcPAERE8irvF+w==","signatures":[{"sig":"MEYCIQDOlVKRt4R3op+ZIe6ToWo2k6TVChmEq4zpbD20SkbMXwIhAPUHvKN6+Fmz7kMVUoEzCRndv6XSOZxwq+pXh9XIsb2/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.98b85fd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/be265481f4298f167d082bff95346fe5/solana-rpc-transport-2.0.0-experimental.98b85fd.tgz","_integrity":"sha512-oLf6wgbrNMCrY0ndZV/UapHn6AyUF+0fzxfBRc9H1lqcQeAaDGbWgqf9y8B0ljXkXpyw2IFNDcPAERE8irvF+w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.2","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.98b85fd_1690274425425_0.2129620629231228","host":"s3://npm-registry-packages"}},"2.0.0-experimental.784f248":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.784f248","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.784f248","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"13c2c43b1a558afa8202c6909469a909f60d2fa8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.784f248.tgz","fileCount":34,"integrity":"sha512-JTBCe2mviaIaDVJVrPuZeBIRYB+8+7rJOZJAppQEkGmMIHae9deYRAp9rX/XFSgeSpVXMfGNoV855schELNjvw==","signatures":[{"sig":"MEQCIHW0XbuueVvuU9S26e2yeF/wBSLynE3iotYlmjbPwiCgAiAnzbwuJLbwyo3wTkSVbJTwGX2wKftHJv2w8vKNJLbRwg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.784f248.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/4d18af104b5b7dacfe7c84ce68ab4a18/solana-rpc-transport-2.0.0-experimental.784f248.tgz","_integrity":"sha512-JTBCe2mviaIaDVJVrPuZeBIRYB+8+7rJOZJAppQEkGmMIHae9deYRAp9rX/XFSgeSpVXMfGNoV855schELNjvw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.784f248_1690274569592_0.736490523105777","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1584fe6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1584fe6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1584fe6","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"50b681e0f23027a195601316850dc1ad1352f425","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1584fe6.tgz","fileCount":24,"integrity":"sha512-02qpKPX1rEfUlGOKGztbGZKbLf12vn6/kX0DqB7TBePIvEwrDhIuAA+HexPmd5U+UDSjEImXzZ5b3rEwpNs8aQ==","signatures":[{"sig":"MEYCIQCDDT7KBcBHz46mMOrFLXfu8voOMtnFSIgABuGPnwbAaQIhAMbXOxLADA5vn1wOw2loTWTe/lPo8a21Aab6UXFzG05s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1584fe6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b84175a324488b6767dce5b15f86bfd9/solana-rpc-transport-2.0.0-experimental.1584fe6.tgz","_integrity":"sha512-02qpKPX1rEfUlGOKGztbGZKbLf12vn6/kX0DqB7TBePIvEwrDhIuAA+HexPmd5U+UDSjEImXzZ5b3rEwpNs8aQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1584fe6_1690315542434_0.832325528023407","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c5061ae":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c5061ae","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c5061ae","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3a3806a18cfa48020ff715c457702f539aa35b3b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c5061ae.tgz","fileCount":24,"integrity":"sha512-uK26u7ZjVFzISVLUiEsTFx/ycblBQUqBdr42egd6rHmAJLRJmAHcS5fLTEbkMbS3MlpvNkunflRIK5gn6PIAaQ==","signatures":[{"sig":"MEYCIQC2ow8zAJ7hIHe84csbiPqqMb4H99POenBbcv8QRotijAIhAIX+z8+DeOfgOik5YyN8f2u0HQUJ7y3RrF4SKheqDce/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c5061ae.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9cbc3ffcd0d19d61b6b90c0afacce79d/solana-rpc-transport-2.0.0-experimental.c5061ae.tgz","_integrity":"sha512-uK26u7ZjVFzISVLUiEsTFx/ycblBQUqBdr42egd6rHmAJLRJmAHcS5fLTEbkMbS3MlpvNkunflRIK5gn6PIAaQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c5061ae_1690324612364_0.38459328245103186","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0a6605f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0a6605f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0a6605f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"96b0c8413aae9737d57da56446a00689a215500c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0a6605f.tgz","fileCount":24,"integrity":"sha512-clLTD3ojmW0Jjm52EL0xsBeDzlY6DznPggcZsYR62K75sLw+KC8QRoYb3YxszatMeYgscTJUBWHA4HxvXI4nWQ==","signatures":[{"sig":"MEUCIF2dwu2qtSSoeU/QcEizo2rTr4sRvtv8Cs4g0lpoQRK8AiEAhsvxmijAXAEYe9DYVhGHEJ/4+cOcee63oyTaKJXYYa4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0a6605f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/86af8b2018245e8887a2a0cb4b26119c/solana-rpc-transport-2.0.0-experimental.0a6605f.tgz","_integrity":"sha512-clLTD3ojmW0Jjm52EL0xsBeDzlY6DznPggcZsYR62K75sLw+KC8QRoYb3YxszatMeYgscTJUBWHA4HxvXI4nWQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.5.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0a6605f_1690324666275_0.4535626774196999","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2491912":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2491912","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2491912","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"80cb0c38013078f7d0263a4408da36fe77a2cf3f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2491912.tgz","fileCount":24,"integrity":"sha512-Q0IzCdwxgXH+lnTliEvEtOuVb5ETQjOS0SRptjbfh7Qj49i9kzbKyoe6RqoKrpfxWG16kDfDcTRt2fyyhuirAA==","signatures":[{"sig":"MEUCIQCHU976Urt1HLwJ85CrJbBCsUcPbwWpcAKjmUfLsdWcMAIgRQdixREl2a5orOO0OP6joXTzhBCRWgEPje/TaX7fuR0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2491912.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/bad9b6de169d9ed1c26baa8d23ce82f3/solana-rpc-transport-2.0.0-experimental.2491912.tgz","_integrity":"sha512-Q0IzCdwxgXH+lnTliEvEtOuVb5ETQjOS0SRptjbfh7Qj49i9kzbKyoe6RqoKrpfxWG16kDfDcTRt2fyyhuirAA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2491912_1690362337337_0.2065570679446136","host":"s3://npm-registry-packages"}},"2.0.0-experimental.835e62f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.835e62f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.835e62f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"826ebd2ba4abdfe944f6cefdf9a2a82a63bd8b12","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.835e62f.tgz","fileCount":24,"integrity":"sha512-tzPv61M6hFsV6smGNzdc5l5/9Hg+gKuL37AdoEPpzH81YGN5DLNRLwFvOhZ+TYh5uiUmYRCKL0VGi0ZGmK1EYw==","signatures":[{"sig":"MEQCICcBSU3fkFT1GmnUmCeA8hM/qFVquu9TWntjLp5mfoLTAiB2jDFOD78e2SREzAKkczfdMNCcWXUVcEn9Eb2MZ9qj9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.835e62f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3a775afed792c05ed332cdb4ac9632e8/solana-rpc-transport-2.0.0-experimental.835e62f.tgz","_integrity":"sha512-tzPv61M6hFsV6smGNzdc5l5/9Hg+gKuL37AdoEPpzH81YGN5DLNRLwFvOhZ+TYh5uiUmYRCKL0VGi0ZGmK1EYw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.18","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.835e62f_1690362404737_0.4533459129175381","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2a97655":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2a97655","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2a97655","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"807278c510a24cac96c785fa7ea1bd7a83ef8018","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2a97655.tgz","fileCount":34,"integrity":"sha512-hSOCh3nuGfI4TNZteDAlO2Lq1Ig828hGa8RPYUURj5E0Y062wdESsVkkAuxiCxrutARYfR+hdNc8YFWTOJ0kXA==","signatures":[{"sig":"MEYCIQDYaHqsv+szyPZf5DT15JZsZJsKgU7M/T1YpIqe4EXchQIhAJv2yWLI2mrr9T7Qso8WhHUSG4nLL281sGu2XLtIFCDn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2a97655.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ab71a4e998749a85a2100478b99b0089/solana-rpc-transport-2.0.0-experimental.2a97655.tgz","_integrity":"sha512-hSOCh3nuGfI4TNZteDAlO2Lq1Ig828hGa8RPYUURj5E0Y062wdESsVkkAuxiCxrutARYfR+hdNc8YFWTOJ0kXA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2a97655_1690362649867_0.9757833060556476","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b927e84":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b927e84","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b927e84","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4fd64b474994f48f957cce86609dcc8510cbf5ca","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b927e84.tgz","fileCount":24,"integrity":"sha512-t9tQvomongehVXJ0CdJZbL1LWOUtCfPfCUtlCVBBGf9vKbi/hyCuZl/YZvDMomcmSQi1j4uVnN1h4qUyc6gC5g==","signatures":[{"sig":"MEQCIF1mPcT7NjokbZDIOQCGtQaLjVWdrIzpQDFrcKWKccM5AiBiBO/3/9mvLapcltMJz4zuo2JnRrNH8GpAeZzMQ0kZcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b927e84.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f50366ded1ed4ceacc6721323b4e9bce/solana-rpc-transport-2.0.0-experimental.b927e84.tgz","_integrity":"sha512-t9tQvomongehVXJ0CdJZbL1LWOUtCfPfCUtlCVBBGf9vKbi/hyCuZl/YZvDMomcmSQi1j4uVnN1h4qUyc6gC5g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b927e84_1690448521614_0.7974889853446134","host":"s3://npm-registry-packages"}},"2.0.0-experimental.211879d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.211879d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.211879d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f7452161effd60bfe48fb63a8f521817ed4957d2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.211879d.tgz","fileCount":34,"integrity":"sha512-jS3F1+Fj+jpXHNmGyEDUBSuYNfaUQ7yLipoCopFZycGoobt6cQ0t96ONpyW5aFlJ9HGiJapSuvFQhE9jCUpPWA==","signatures":[{"sig":"MEQCIB1bEQa1aWzbxB2gEk84yHwzGmQFDEt53QlR3v5oJ4VxAiB+MHyV0ODgCqLICCm5ZsF6Lk9uJq25V3C8S/H0s9Ywdg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.211879d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f7f1b61192909fc0831738bbbe709585/solana-rpc-transport-2.0.0-experimental.211879d.tgz","_integrity":"sha512-jS3F1+Fj+jpXHNmGyEDUBSuYNfaUQ7yLipoCopFZycGoobt6cQ0t96ONpyW5aFlJ9HGiJapSuvFQhE9jCUpPWA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.211879d_1690448650468_0.4766839759362336","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2a425db":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2a425db","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2a425db","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d7b372330b9dfe8aa0ab9efa470cb804a11fa612","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2a425db.tgz","fileCount":34,"integrity":"sha512-qeiRm6QfjoTnAKqtKSbPVN3VC74MIWyuV84yFpzKmVO31gjs783bnyV/la89XqyTwDUVGnN7WvgX6BOa3wEZOg==","signatures":[{"sig":"MEUCIQDbp56flZEFZ4PxETaUkrt7o8djSxULSzbxiQxOTRokFAIgcqPcOQPZ/pBPRVv43CeS4wRq4KCTfL634cYULPjscvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2a425db.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b72ff4654190ec756b9800f4857f562a/solana-rpc-transport-2.0.0-experimental.2a425db.tgz","_integrity":"sha512-qeiRm6QfjoTnAKqtKSbPVN3VC74MIWyuV84yFpzKmVO31gjs783bnyV/la89XqyTwDUVGnN7WvgX6BOa3wEZOg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2a425db_1690448805922_0.13821347106087511","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8936f2f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8936f2f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8936f2f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d8791fc9a0206e4925818ccc5997ae20d1a9fb76","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8936f2f.tgz","fileCount":24,"integrity":"sha512-lYxEfinc710XZSPynhpN1nQA7d79k9GbttX7YcDojIeou36kelUvc0DPNElh+jF1WKWiw1i+FpAIpJIJDbT6lw==","signatures":[{"sig":"MEUCIQCSmi5COHk5ku1jR5HsuPUq8D/9JgQzyh2gw2t5dpAwVwIgf7ylkdeiQ3RnzGqq1wKBgjbbLhJ7/pkxTlC7ASbgQpw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122368},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8936f2f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f782512dbbe26ae9f6244522b3282186/solana-rpc-transport-2.0.0-experimental.8936f2f.tgz","_integrity":"sha512-lYxEfinc710XZSPynhpN1nQA7d79k9GbttX7YcDojIeou36kelUvc0DPNElh+jF1WKWiw1i+FpAIpJIJDbT6lw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.26","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8936f2f_1690532953952_0.9662973208191252","host":"s3://npm-registry-packages"}},"2.0.0-experimental.305b060":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.305b060","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.305b060","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3b366f15e4de9dded26826694f9921774df5b2af","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.305b060.tgz","fileCount":34,"integrity":"sha512-CxdQRVXqqYvo1WpifMJo80i+Q/B5oHpUx4cY7krCAcfZmaQZSI8Luh0jUoRi3J3jTGT5TWq1SBQ9jE7HsU8Efw==","signatures":[{"sig":"MEQCIArVaYsuxQUulWhDfLT+BK8CLyGsqs58g3Asi90W7J0JAiAlPZZL5STj3axgzJj1tNsKz694VmuYVJJERIzj0hZlrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.305b060.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/bbf4c8f9b901f4f7d9f1ded2010a37c3/solana-rpc-transport-2.0.0-experimental.305b060.tgz","_integrity":"sha512-CxdQRVXqqYvo1WpifMJo80i+Q/B5oHpUx4cY7krCAcfZmaQZSI8Luh0jUoRi3J3jTGT5TWq1SBQ9jE7HsU8Efw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.305b060_1690533109224_0.5189773409591321","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7000add":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7000add","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7000add","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"eda79287883a2ab52f8797d5fa92a6c7e31fac70","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7000add.tgz","fileCount":34,"integrity":"sha512-W3rw3/SB/dHerTBpqYe3v/N9DCi7Cgg1mqGnGtzmnJYOmpfBzYhfQMbDsdUvtQ6Ig3z83crXHMhR6koiInf4+A==","signatures":[{"sig":"MEYCIQDF3QBi/2RyKpc1YcR0/drDlubj3Yp33M87G691q/7RBAIhAJgf/t6ybU2kLl/5Jiqd0Zf/L0STsieA1vASzX9lpQEr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7000add.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c711cc1dd00e0ca116094ee4a39d24c8/solana-rpc-transport-2.0.0-experimental.7000add.tgz","_integrity":"sha512-W3rw3/SB/dHerTBpqYe3v/N9DCi7Cgg1mqGnGtzmnJYOmpfBzYhfQMbDsdUvtQ6Ig3z83crXHMhR6koiInf4+A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7000add_1690533348498_0.5887585854686599","host":"s3://npm-registry-packages"}},"2.0.0-experimental.91405cb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.91405cb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.91405cb","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"58d279d80f4d61f41254b1dd315212d2a7eaf016","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.91405cb.tgz","fileCount":34,"integrity":"sha512-WzlG1XAeZcUnN2tX88FVIMplLDD7ZlmCDrObiAK1xVd/81DaxACediFlG0/z8FTUxd6MRv9AehE6XRVLBaSyzw==","signatures":[{"sig":"MEYCIQCNHFhs9m7mVvseNPEN9fnC8RanLOdTzMaUaaxSKwYBYAIhAP8a5t53Xpzv75YLZHQ2T3Z7ZOXgxRPiPtZd/F7OQmrn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130086},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.91405cb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/db8be571b8a79f01d2850335f42fc18d/solana-rpc-transport-2.0.0-experimental.91405cb.tgz","_integrity":"sha512-WzlG1XAeZcUnN2tX88FVIMplLDD7ZlmCDrObiAK1xVd/81DaxACediFlG0/z8FTUxd6MRv9AehE6XRVLBaSyzw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.91405cb_1690587042959_0.6110128462330977","host":"s3://npm-registry-packages"}},"2.0.0-experimental.52f0956":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.52f0956","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.52f0956","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fd6ae32efd30c94e47fdeef023b6bec82fb2c984","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.52f0956.tgz","fileCount":24,"integrity":"sha512-hba6067QznZBdf2NTiwlDWXYy6nrrrztphPVGnXZgn3Zva8j9u7mOfEjfVOBsicJe8cC4rWDuja6+WogtXJE0w==","signatures":[{"sig":"MEQCIDdXSWrDi9pN+rnAW2qmnARMwVu62Rp4U/GLbcYiubSrAiA8X4Dd08AmZbBp8Jxw/T2jCiEtbj38I1rd8oWWpEA17A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122945},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.52f0956.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e03e477ecc52555868437ada6da926e9/solana-rpc-transport-2.0.0-experimental.52f0956.tgz","_integrity":"sha512-hba6067QznZBdf2NTiwlDWXYy6nrrrztphPVGnXZgn3Zva8j9u7mOfEjfVOBsicJe8cC4rWDuja6+WogtXJE0w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.52f0956_1690602890744_0.26090347770499167","host":"s3://npm-registry-packages"}},"2.0.0-experimental.08302e8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.08302e8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.08302e8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"17c3b63e7ce1180815348e896000708c1f6ac40e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.08302e8.tgz","fileCount":34,"integrity":"sha512-uY1TAw8xBktIclP4CHPuryDMhYspqKruCbdkF7yqfWT3cX0a4whYX5kHY8rmxHh13h0mqs0PWdoapekiqAHUcA==","signatures":[{"sig":"MEYCIQCXWctYWv+lt7bY/BxKfxiqC6GD9ibrklF+COClXfPwoQIhAKcS4qybO10nS5UcNoJ5cVsI/jj6uFKfpn7O61HPQDci","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130086},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.08302e8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/32419e427a50a00ec41bc9e47cfd9430/solana-rpc-transport-2.0.0-experimental.08302e8.tgz","_integrity":"sha512-uY1TAw8xBktIclP4CHPuryDMhYspqKruCbdkF7yqfWT3cX0a4whYX5kHY8rmxHh13h0mqs0PWdoapekiqAHUcA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","postcss":"^8.4.12","ts-node":"^10.9.1","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/core":"^1.3.71","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.08302e8_1690603466015_0.11791915098106887","host":"s3://npm-registry-packages"}},"2.0.0-experimental.91615fc":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.91615fc","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.91615fc","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"eeff9b9e90a35cf5b38c97f0aa8a4f70cec0d9dc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.91615fc.tgz","fileCount":24,"integrity":"sha512-qLoSUatAxEPuwP5LoAAMNNK/8lL5IffKu+rzXO5fG7g39eu8DLq749+Yt7eV1Iuo4fIEvuXbmxGyDeufze9Chw==","signatures":[{"sig":"MEYCIQDXf0pjxwMlzo5S+FfTqHhu8kNTnXfB65z0HGAF7v4kEgIhAIPxa/W43P/582bH02YdcK7ZIHLSXjBR7Klc7fxmeAYA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122822},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.91615fc.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/91d131dae70234b7015b2786ed95269b/solana-rpc-transport-2.0.0-experimental.91615fc.tgz","_integrity":"sha512-qLoSUatAxEPuwP5LoAAMNNK/8lL5IffKu+rzXO5fG7g39eu8DLq749+Yt7eV1Iuo4fIEvuXbmxGyDeufze9Chw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.91615fc_1690607519484_0.351386629255811","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d49fb7f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d49fb7f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d49fb7f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9b5f502c993f81989830d68a33e7a3c243c2346c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d49fb7f.tgz","fileCount":24,"integrity":"sha512-8PnOpJ//F3KdyHg+8prEf7fUm27UMQcVydI7/MVAlyCT4Ws4LT7H4KJjeo0YpXl9r72VfBbP02kKmstqizMksA==","signatures":[{"sig":"MEYCIQDh9xH2WgJTATsDQg+utfFYsM7axysbNuwmG0Z2u5lArQIhAIc7yNnWO+6LAlZF2GqhRnC2nNVE/DF5rWj3X0G7IKVl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122822},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d49fb7f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/fbd79608acca20c60be2b4f7a242a805/solana-rpc-transport-2.0.0-experimental.d49fb7f.tgz","_integrity":"sha512-8PnOpJ//F3KdyHg+8prEf7fUm27UMQcVydI7/MVAlyCT4Ws4LT7H4KJjeo0YpXl9r72VfBbP02kKmstqizMksA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d49fb7f_1690792652772_0.91096143772352","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fcae73c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fcae73c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fcae73c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"89c9cb93e96243c8af0ee039ac9a40d70a67c620","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fcae73c.tgz","fileCount":34,"integrity":"sha512-9A1lAHfR8aKRhyqhblOV1ahauvgJEXMPc17iFj3PtL3g+IbGB/IX3b+PJgpjY7Ki4fTguoJLlXrdesM1Xx06FQ==","signatures":[{"sig":"MEQCIHoCONcf70FV9MyT9BO31MgTvygqcYfHft7JvcmxvC9oAiB/S8TSU76IuAJ01moz4Qrct4uW7qYlppWw/rip0wYaJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129963},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fcae73c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0a91b4b84165616b7b23d64c4e5ce995/solana-rpc-transport-2.0.0-experimental.fcae73c.tgz","_integrity":"sha512-9A1lAHfR8aKRhyqhblOV1ahauvgJEXMPc17iFj3PtL3g+IbGB/IX3b+PJgpjY7Ki4fTguoJLlXrdesM1Xx06FQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fcae73c_1690793136643_0.44139899234905533","host":"s3://npm-registry-packages"}},"2.0.0-experimental.324614":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.324614","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.324614","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fee5f7e963a770ebca56030a6f17e5d82d672c74","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.324614.tgz","fileCount":24,"integrity":"sha512-sC6ciNfJs+PRBK448lbSOrcEl2LRs4V/3Nunbp875pCT2yfd3/KMohTFkLflmNRrSrQN4Pszzg7La4hWPcUuXg==","signatures":[{"sig":"MEUCIQCcy6/8m0Apk95SwFCFbdRutfS1Yb9D+Ndrc2sIU0F9UwIgf++lkPVE8u6ockFlhVKqJeSeM+TEL4sJt2lAbxczrdo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122821},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.324614.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2aac74c27a05e017063b96bdba356811/solana-rpc-transport-2.0.0-experimental.324614.tgz","_integrity":"sha512-sC6ciNfJs+PRBK448lbSOrcEl2LRs4V/3Nunbp875pCT2yfd3/KMohTFkLflmNRrSrQN4Pszzg7La4hWPcUuXg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.324614_1690799967765_0.7445210063443664","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9f0ae41":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9f0ae41","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9f0ae41","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"805794c4aa221f5721055db62ef8fe6c48d729bb","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9f0ae41.tgz","fileCount":24,"integrity":"sha512-hYe5t2SqH7NmT7FE9JUK43f4N9wInz73YsCBnS7pjLimkpMycRjPOQEVZWs3eYz0aU/SrCavt8f2pMj2eFadMQ==","signatures":[{"sig":"MEUCIQDslQ2BZz35gEyY2A7I74OH73J8/0ht2x9ZvlGN061EwwIgHfHY/Nze4CxNGLr7YpfmYTG73qjMqc7VEWxbfHEDSSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122822},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9f0ae41.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6b0b86b5223d4687a41f8b32c3d8db4d/solana-rpc-transport-2.0.0-experimental.9f0ae41.tgz","_integrity":"sha512-hYe5t2SqH7NmT7FE9JUK43f4N9wInz73YsCBnS7pjLimkpMycRjPOQEVZWs3eYz0aU/SrCavt8f2pMj2eFadMQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9f0ae41_1690820559539_0.752002199194808","host":"s3://npm-registry-packages"}},"2.0.0-experimental.63423f2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.63423f2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.63423f2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6680656324c0c0922907d85ebd4c689cf7bd5527","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.63423f2.tgz","fileCount":24,"integrity":"sha512-WciaO6pLElqPgvu7KOSmib6s/wp6t4urGAe8ET6Ko5gZarsswCAdRaLccTo2cTIt2MD1vkMT4lGErh8bMmsyng==","signatures":[{"sig":"MEUCIChIYlJQotwc7imlNytFJhvGp5yQVGDhc7vrSt5VfZtiAiEAyvq2C5hpHc/QP92KKqY9xWn/8ROlLKyq2sKwPOg/NRY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122822},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.63423f2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/600145d477bc2e7afbc05637d1e5d42a/solana-rpc-transport-2.0.0-experimental.63423f2.tgz","_integrity":"sha512-WciaO6pLElqPgvu7KOSmib6s/wp6t4urGAe8ET6Ko5gZarsswCAdRaLccTo2cTIt2MD1vkMT4lGErh8bMmsyng==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.63423f2_1690878958575_0.98051865171883","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6cdcd69":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6cdcd69","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6cdcd69","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a8ceda32594d963149c502b790830b9b3b17151b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6cdcd69.tgz","fileCount":24,"integrity":"sha512-+zDXwEA3PiVKQQpY3GKkEVsfficLAGVE7Hur4W4w+3ZvfS0IwtGEbLUhQseSdVqf5iWNMrrqB3OVaA4zZqLpfA==","signatures":[{"sig":"MEUCICpylzvCjmH/ESAqhFIZScMgqFE9XjUSuI4wpB/mYFz5AiEAvLhaFLXqRtkSx+gRWNcSREUbmqx6bEp4zGMWDBuOgkw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122822},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6cdcd69.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/edcbbb019a9509c5c68890f9b9a822c3/solana-rpc-transport-2.0.0-experimental.6cdcd69.tgz","_integrity":"sha512-+zDXwEA3PiVKQQpY3GKkEVsfficLAGVE7Hur4W4w+3ZvfS0IwtGEbLUhQseSdVqf5iWNMrrqB3OVaA4zZqLpfA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6cdcd69_1690879167892_0.6987254398264318","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f3eba18":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f3eba18","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f3eba18","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1e2136af9b30babe04136d28db8314d2c2378931","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f3eba18.tgz","fileCount":34,"integrity":"sha512-s3OTjNBlCGEDRlj1E+Sm4c9Ygwyqw7w2g3N8qIdoi6OtF3KSPYc16eRdqC5t3NsYkDXzj6GV3W67wsdfk2CzdA==","signatures":[{"sig":"MEUCIQD75Jw2hW5lkYbViyiqJEIEMP/XPA0VMqhksfw8ok7YgwIgQ7jHG/GLz8e0iq1hBq9NO7rOE2TfEkXN4qrIbYGhAkc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129963},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f3eba18.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9ae31fe3b270c9318ff8f230bdb237f6/solana-rpc-transport-2.0.0-experimental.f3eba18.tgz","_integrity":"sha512-s3OTjNBlCGEDRlj1E+Sm4c9Ygwyqw7w2g3N8qIdoi6OtF3KSPYc16eRdqC5t3NsYkDXzj6GV3W67wsdfk2CzdA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f3eba18_1690879680000_0.7341967880131939","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3e920bf":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3e920bf","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3e920bf","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"789a5f48bd0e2a4b76a2d785d57ae4c057ac302e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3e920bf.tgz","fileCount":34,"integrity":"sha512-fRXZBHULhfLOhZXpODkc6iRQJWGJ+duqK4r12m7LntyyKWjm1W9LiwuW4QVk30YhS1L1gRe9unpq9+x3nJ2GIg==","signatures":[{"sig":"MEUCIQDX1fVE8FUk/JXuBPIcVirN5xsV2fpTUBLvee41lpJ9+AIgXN1UYpt4wqTIXW2mMVamkn8ureKSqvD7914cQ4rFnj0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129963},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3e920bf.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2f10153813b626973af383d1125dcf8e/solana-rpc-transport-2.0.0-experimental.3e920bf.tgz","_integrity":"sha512-fRXZBHULhfLOhZXpODkc6iRQJWGJ+duqK4r12m7LntyyKWjm1W9LiwuW4QVk30YhS1L1gRe9unpq9+x3nJ2GIg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3e920bf_1690965106778_0.11521189840951918","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8fc0f6c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8fc0f6c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8fc0f6c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0ca6680d3092fade3e920871c1a4c0a5826ae92c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8fc0f6c.tgz","fileCount":34,"integrity":"sha512-13D1LRO5QuKg/KBvcugapZdTyAvN1w5MNg5bYNh9e91TXi2etPkz4URe97O3FLPjd0ChAmgj1CJeSvOCMI2gLw==","signatures":[{"sig":"MEUCIQC1wBAC+ukYG8lLLm8sTfFCWb0t+JT6wVfW1hvOg7gPiAIgT6uRdHdJnZx49i09+O4xG7hdJkQcWrTfakIcr5yVrj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129963},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8fc0f6c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ba13657a2af16c22d5e8b94f84c09ee5/solana-rpc-transport-2.0.0-experimental.8fc0f6c.tgz","_integrity":"sha512-13D1LRO5QuKg/KBvcugapZdTyAvN1w5MNg5bYNh9e91TXi2etPkz4URe97O3FLPjd0ChAmgj1CJeSvOCMI2gLw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8fc0f6c_1690965117311_0.8352343367501585","host":"s3://npm-registry-packages"}},"2.0.0-experimental.89b2a1e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.89b2a1e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.89b2a1e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f045b5f472c84fe48826f32e34f52be5b7656d57","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.89b2a1e.tgz","fileCount":34,"integrity":"sha512-cIdhsRRc2glOXFJLgfth4v14MHE4Eg2wmEg5aw/pXNDCslUL6uEykM+OcDJAQR30j9vUsjzlFVcJHz/E5dfj8w==","signatures":[{"sig":"MEUCIGURIHdUAOpwUSJf/jX+9MrWrsuVI1Dnqj7abwT1xpA5AiEAzqrptkfQp5OSmvt13CXSUVmeSjPYlKmc5ay3lzgSyjM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129963},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.89b2a1e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2e4a9b5064606064401e786444e0bcc6/solana-rpc-transport-2.0.0-experimental.89b2a1e.tgz","_integrity":"sha512-cIdhsRRc2glOXFJLgfth4v14MHE4Eg2wmEg5aw/pXNDCslUL6uEykM+OcDJAQR30j9vUsjzlFVcJHz/E5dfj8w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.89b2a1e_1690965617358_0.5464790696776014","host":"s3://npm-registry-packages"}},"2.0.0-experimental.11658b8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.11658b8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.11658b8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5a55bfd737c959ff68d2ab23abd4fe5977aed81f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.11658b8.tgz","fileCount":34,"integrity":"sha512-xETH1WZsGgeA22puXBg4rQY/Dkvd2WSS4adwH6YOMTJb4qMqlvXEYILv8M55qY858r29/l0Sxun6td+sdaDG1w==","signatures":[{"sig":"MEUCIBTO99HQXvD+3fiu7Qq0nV7VGTpaBkLhcq/qy7/waw9IAiEA8/hcb+UzlBjsmAQX6MzJctDCjSnIIiVstJ2V0Z+FOWo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129963},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.11658b8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7a90bc3e1f95ee4d2f7cc63eeeb34223/solana-rpc-transport-2.0.0-experimental.11658b8.tgz","_integrity":"sha512-xETH1WZsGgeA22puXBg4rQY/Dkvd2WSS4adwH6YOMTJb4qMqlvXEYILv8M55qY858r29/l0Sxun6td+sdaDG1w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"6.7.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.11658b8_1691023000508_0.3011869954603956","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ca7c151":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ca7c151","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ca7c151","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"aecc4f37a3db514bc669ee38aeb44aea5a00c21a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ca7c151.tgz","fileCount":34,"integrity":"sha512-YJauWvVDP0BXeRcja2Omtmk7yprwvIlKipFDIcOUD8ied+QIbEgc2sRj8itBnEiNtwApZLsDSkaB0hHfF3WbBg==","signatures":[{"sig":"MEUCIBxLpPkSxB8Jje4d2fC6TpU1wNWvHpIOCexi06aKa96aAiEAjXqesaUZMgi1BMMkH2Wdw7tOUht7YvnWFhbsQpBG/5U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ca7c151.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7921b6281fe15c902c33c651cee104f3/solana-rpc-transport-2.0.0-experimental.ca7c151.tgz","_integrity":"sha512-YJauWvVDP0BXeRcja2Omtmk7yprwvIlKipFDIcOUD8ied+QIbEgc2sRj8itBnEiNtwApZLsDSkaB0hHfF3WbBg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ca7c151_1691053237690_0.46078607908402436","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7539d42":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7539d42","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7539d42","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"128fe6a60bb15f1878d532a5348730196070fa70","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7539d42.tgz","fileCount":34,"integrity":"sha512-0NMmE/4241DjOQJHPiFZy4Ty1KhkbOGiob8vyv8KWEzZ6n0kp9BGDzo3kJF2cbPy0MeIK/CdbsA2hlb5EE09CA==","signatures":[{"sig":"MEUCIFoBXMPx18iHwOJTfh2jjuFk1zJcdC2BzI+9aWY5owmSAiEAuZHKGjS2A/PlPzTd/Bi+HqGuHVG6U0G8V5ahu2hwlJQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7539d42.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a8eaefa0d1a281c43eff89925143fddf/solana-rpc-transport-2.0.0-experimental.7539d42.tgz","_integrity":"sha512-0NMmE/4241DjOQJHPiFZy4Ty1KhkbOGiob8vyv8KWEzZ6n0kp9BGDzo3kJF2cbPy0MeIK/CdbsA2hlb5EE09CA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7539d42_1691053742762_0.6719879889244813","host":"s3://npm-registry-packages"}},"2.0.0-experimental.68d1443":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.68d1443","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.68d1443","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dbebc872c81269538e9391eedc7736418552bb32","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.68d1443.tgz","fileCount":34,"integrity":"sha512-mlnuUuQQ19i3nyfGWNKIm8hKSkH/cOKvdsmtwBXMvvFkffWeW/bMX9UCHOCzd733UUK2xFrEwI/8RnKV+G2ZWA==","signatures":[{"sig":"MEYCIQDojfli6Ef0hr6JisNPtDxFrwkmr1Bp1Qu4bQn68NmfTgIhALUnVoIyA1HHap4YOpLJCUheoQXgn/noruoMYPX+J6tX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.68d1443.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/4705d789e0e21c2f765536aea322e97c/solana-rpc-transport-2.0.0-experimental.68d1443.tgz","_integrity":"sha512-mlnuUuQQ19i3nyfGWNKIm8hKSkH/cOKvdsmtwBXMvvFkffWeW/bMX9UCHOCzd733UUK2xFrEwI/8RnKV+G2ZWA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.68d1443_1691092239492_0.0054931479991287","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e36f58d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e36f58d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e36f58d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6f03232b001bef36796e2cf292fd0cc58bc8d7a7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e36f58d.tgz","fileCount":34,"integrity":"sha512-8xsdVcNKEj+Cy3SUIg6EjoXnm5nofkIyS4nfUuRsFN1PeWD5zZTEHBhBz68PEKZnz8glyj8LJtbATrJQO0SYbA==","signatures":[{"sig":"MEUCIDsdJFntUzLmTeJgnm6yjhyvZzc05QRx/ddwJ/0EYumjAiEAj2ISIci1CE7y8tRE18xbgk9wg6WRF5aUqUCTEOUjlwY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e36f58d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3200917a874f600b6a3d6f56bc25bd13/solana-rpc-transport-2.0.0-experimental.e36f58d.tgz","_integrity":"sha512-8xsdVcNKEj+Cy3SUIg6EjoXnm5nofkIyS4nfUuRsFN1PeWD5zZTEHBhBz68PEKZnz8glyj8LJtbATrJQO0SYbA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e36f58d_1691092261591_0.6082120453055297","host":"s3://npm-registry-packages"}},"2.0.0-experimental.585314d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.585314d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.585314d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4fbfcf73b01eeff652ea6bb090f270c3a3a18511","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.585314d.tgz","fileCount":34,"integrity":"sha512-Ph70sZcfLUEwuuKrtIVxcZIWYJy3GyslA+JV/uhKJtJUnFOChmubdiP9qHNGiTJKEH+sm/W8ajY3TDWHvAo2YA==","signatures":[{"sig":"MEQCIGoknZnhAImQNIChh5x06qdAm6zYQzkF0P+/MVaPWMgyAiB8eTxILMJcbEqmD3Q+D4tdxLDh6aG1/QkDotqSneloyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.585314d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/114f776e649d9fa57744bc1c458aa9b2/solana-rpc-transport-2.0.0-experimental.585314d.tgz","_integrity":"sha512-Ph70sZcfLUEwuuKrtIVxcZIWYJy3GyslA+JV/uhKJtJUnFOChmubdiP9qHNGiTJKEH+sm/W8ajY3TDWHvAo2YA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.585314d_1691137742852_0.955477405778383","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1720f87":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1720f87","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1720f87","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e2ecbe4f227f7b783a387778a70e70f68d72d0e6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1720f87.tgz","fileCount":34,"integrity":"sha512-3Lw388vwNRqCCaPS2D4HTfypeyr2tMcdqxev7F+Sp50YSO6bTJ8Rxe9cbS94BwPZvRe6fpkL6swZYefD8qFzGg==","signatures":[{"sig":"MEUCIA3UaUWbJuMrHaBI+WVQ00yQN3hDb1n0BGu/1iIy8HGeAiEAlbZPBfm1nIW+Frqc3C/wqp8B9/3orIzZjJ0qjH50mfo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1720f87.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6b0402286dbe4dcd7cd5a069d9bb2a58/solana-rpc-transport-2.0.0-experimental.1720f87.tgz","_integrity":"sha512-3Lw388vwNRqCCaPS2D4HTfypeyr2tMcdqxev7F+Sp50YSO6bTJ8Rxe9cbS94BwPZvRe6fpkL6swZYefD8qFzGg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.0","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1720f87_1691138232278_0.7917829213261667","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f8b14a7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f8b14a7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f8b14a7","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ff3ff7c430b2d467a8409883f4779c6eff6b07ba","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f8b14a7.tgz","fileCount":34,"integrity":"sha512-8k3zbhXYX2KqIAMTMnXmNxGxuAkXLTOAFU1heM0AodIX42CBUwf+fYoY40DddzCjbSla+Ic1CFdSvBLQnE3OLw==","signatures":[{"sig":"MEUCIDGdWJY6zSC36pozdXY/rJA7JJ8febjxWnWLBX0PHPxyAiEA+PJ+ulBqbuv/ZG/ol5/Yd/ykpbQpp7j56I/3VqyWhko=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f8b14a7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a33073e33bd7828bfece5df4e21cb478/solana-rpc-transport-2.0.0-experimental.f8b14a7.tgz","_integrity":"sha512-8k3zbhXYX2KqIAMTMnXmNxGxuAkXLTOAFU1heM0AodIX42CBUwf+fYoY40DddzCjbSla+Ic1CFdSvBLQnE3OLw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f8b14a7_1691138901534_0.4242769804294404","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4ca2749":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4ca2749","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4ca2749","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"81544dd376efddb7c9651b8def8a57a9cd6799b6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4ca2749.tgz","fileCount":24,"integrity":"sha512-HFRn7OwCSGty01DETV9ATILfMk5ct7OOgkbzD8rwNqoBNdgUxFVA+w8AUgGg9+bI3uaPoqVhGigPDvRr4JBtLQ==","signatures":[{"sig":"MEYCIQCRXk4kGdo2ZB3k6TW92caO0j3jBigF2zcfqFM6CAjrUAIhAOkFDbHwkfjO+27ukJhdDH/qySLEBUiHVQhyaDl3Or+H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122972},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4ca2749.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2000cc6b85e3d40813c27ad44b72be9a/solana-rpc-transport-2.0.0-experimental.4ca2749.tgz","_integrity":"sha512-HFRn7OwCSGty01DETV9ATILfMk5ct7OOgkbzD8rwNqoBNdgUxFVA+w8AUgGg9+bI3uaPoqVhGigPDvRr4JBtLQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4ca2749_1691166702341_0.048445773689799854","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e97e6ed":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e97e6ed","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e97e6ed","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"91554c08e5ac97de637f0a36402eca79f4f0e567","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e97e6ed.tgz","fileCount":24,"integrity":"sha512-tGH1K0Gpk7fOlWQl3C+15HOAlDSs4PY9TpBdCMdfcgVP0qlX/New08DYjBsVbF/7mV31nLIAvcrES2OenfJAYw==","signatures":[{"sig":"MEYCIQDxbvV4o3zs/nopsE3o46EhP6AISVD9iU1yjfVf7LLZbQIhAL9PxEgWW4EAVmJNtdQjccmcgOJK9TDQBRQg8lhUcpAe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122972},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e97e6ed.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0f512b00581339e1531c18081673bdc4/solana-rpc-transport-2.0.0-experimental.e97e6ed.tgz","_integrity":"sha512-tGH1K0Gpk7fOlWQl3C+15HOAlDSs4PY9TpBdCMdfcgVP0qlX/New08DYjBsVbF/7mV31nLIAvcrES2OenfJAYw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e97e6ed_1691171272534_0.03655740053613821","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1ea234d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1ea234d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1ea234d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"80a8e8fda42805e8fd340f91cc8796b700046e7f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1ea234d.tgz","fileCount":24,"integrity":"sha512-7w74pOjSBIwizVgGXZ7WosgTxWWfVEVMnNllh/zoBawQNhhnBwX0kBTS23hgC1QOiGleSL6czmjRusiw+j46xA==","signatures":[{"sig":"MEQCIQD0rLVmu1O0aX5L26mNiONZXoxmFtQ0pzB3TqY4jRK7mQIfRydmXDCNitC2ppdg9628tOBCaMkvvfB7l1HoqQ6U6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122972},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1ea234d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1d996d465ba0db5a6b42f2f26d50bcd3/solana-rpc-transport-2.0.0-experimental.1ea234d.tgz","_integrity":"sha512-7w74pOjSBIwizVgGXZ7WosgTxWWfVEVMnNllh/zoBawQNhhnBwX0kBTS23hgC1QOiGleSL6czmjRusiw+j46xA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1ea234d_1691171740178_0.7099110033186198","host":"s3://npm-registry-packages"}},"2.0.0-experimental.daad0b8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.daad0b8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.daad0b8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"018f03249e3c1de47e7b02a9c4a8b3e4e76588be","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.daad0b8.tgz","fileCount":24,"integrity":"sha512-goD/E+pP19LLCLwBGPisy0Ai6ssTkskTcniUt4Z1NOyvcLv7rMEUcVquWVCOiRPXka5UajLrGlZiKCBqUaVF8w==","signatures":[{"sig":"MEUCIQCfuG35CnpqM9Fhb044sBOHva7meRqCaUl47wnov8jDUwIgcf3y6jH3PUEoKSbfJ6OINvokTpqJQwO3pukrq8ob/t8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122972},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.daad0b8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/268f02bb261579bf1a8ef96d0bb087b0/solana-rpc-transport-2.0.0-experimental.daad0b8.tgz","_integrity":"sha512-goD/E+pP19LLCLwBGPisy0Ai6ssTkskTcniUt4Z1NOyvcLv7rMEUcVquWVCOiRPXka5UajLrGlZiKCBqUaVF8w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.daad0b8_1691311733912_0.08426542544099691","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f5c87d2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f5c87d2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f5c87d2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"78dd2cb089399a0e8b7ab02aebb325a7a163a9fc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f5c87d2.tgz","fileCount":24,"integrity":"sha512-R81cLzEJlVxPc0SQaoPpFUK1NBWnQqah7iY7wYHTTYGCraAG5gtb1iVhtAUCvkagBFaUgyCLSD0WaKLUohe4FA==","signatures":[{"sig":"MEYCIQDwy2qtMmkgqrLgmQpFo6hvRgUjFCFaA0uQocjEt5qVJwIhAJ+QAWzn4xdc8pAEB+KxXEIzaAq6gUAFG6JYbnB3HDx8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122972},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f5c87d2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/51c5d7eec669d1ab4fbae14eaff33ed7/solana-rpc-transport-2.0.0-experimental.f5c87d2.tgz","_integrity":"sha512-R81cLzEJlVxPc0SQaoPpFUK1NBWnQqah7iY7wYHTTYGCraAG5gtb1iVhtAUCvkagBFaUgyCLSD0WaKLUohe4FA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8.8","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f5c87d2_1691382414885_0.5963927078733198","host":"s3://npm-registry-packages"}},"2.0.0-experimental.910eea0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.910eea0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.910eea0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7863303ccc37ff89be48760f3284b8f94049112c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.910eea0.tgz","fileCount":34,"integrity":"sha512-bZlDs6JxfBsYYZYVp74Mi1+GHtRTXLTvV6g40UIEh7gRGgXnDHawQllLu0fLjK6bPolWlrGpcJDzuQxNUP9iDw==","signatures":[{"sig":"MEYCIQCSKXdK/ST0E8wR+6vt5RpWqd/CUGRuhnz3Cr45UdaaAgIhALqRMg08CYvwh+R5XQqlh1HQEs/DE8cNMl26i1dKqQRS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.910eea0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a4ef7781e10466eaf6a4e870dca7c46e/solana-rpc-transport-2.0.0-experimental.910eea0.tgz","_integrity":"sha512-bZlDs6JxfBsYYZYVp74Mi1+GHtRTXLTvV6g40UIEh7gRGgXnDHawQllLu0fLjK6bPolWlrGpcJDzuQxNUP9iDw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.910eea0_1691398936225_0.03617328371049977","host":"s3://npm-registry-packages"}},"2.0.0-experimental.805f482":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.805f482","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.805f482","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"75848926b3c64fd20bda8e1df53815933cdbc6e4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.805f482.tgz","fileCount":34,"integrity":"sha512-jZv8aChlwHbvE/4COaAK6cJ55rfYS/P3dFFBTGaZ73NkLIrThKF49jL0Rwqx58pWcFR2OeQfRzQjmkPs6xBxaQ==","signatures":[{"sig":"MEYCIQCGwnflQu22rpwVaZWxuOQf1V21fzRlr8GPTuUeUAiJLQIhAP8fuBou2fP06jFWlCahTLh1Q6WoZFwBMp8/+RDixE4h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.805f482.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2c491c032d6edd5ffa420ef1b52961dc/solana-rpc-transport-2.0.0-experimental.805f482.tgz","_integrity":"sha512-jZv8aChlwHbvE/4COaAK6cJ55rfYS/P3dFFBTGaZ73NkLIrThKF49jL0Rwqx58pWcFR2OeQfRzQjmkPs6xBxaQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.805f482_1691424811282_0.28464495475183504","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a624877":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a624877","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a624877","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d645395ce1ae918b7c6a433b7819d668d59b2958","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a624877.tgz","fileCount":34,"integrity":"sha512-MsGD1GgyLFGCZXPCGymbOlMymR0dx0oU9NRKAtE2nB0tIjzzXnBp4qPpry+aw/ySvdHueTNsBwPU7tNRe6iorw==","signatures":[{"sig":"MEUCIQCTh1Xdeu0PCqIhejFTnoFR/TCosNEQwYRjPCZb7PJ/jAIgL30gbOUkT7L0Mr0kNd8ZwRSH95DsOM87zgG89gkz7x4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a624877.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8e44e80933f9b1d43ea1f80e8832b96d/solana-rpc-transport-2.0.0-experimental.a624877.tgz","_integrity":"sha512-MsGD1GgyLFGCZXPCGymbOlMymR0dx0oU9NRKAtE2nB0tIjzzXnBp4qPpry+aw/ySvdHueTNsBwPU7tNRe6iorw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a624877_1691425655189_0.6423641953770391","host":"s3://npm-registry-packages"}},"2.0.0-experimental.659134e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.659134e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.659134e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"88bc1824fe6e259bafe3e6ff78adf4ff88dd029e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.659134e.tgz","fileCount":34,"integrity":"sha512-4MmJmR9V/WmrsNjbitb7QrBsefhOZJUYUSOFs43WhJIzBevRUUjKRaabbBMWH8dtqt9X94ASt+TF2Lhz7X+i2w==","signatures":[{"sig":"MEUCIAnHS9RHf48c76VXT2hI0biZjaa0vCjl3dI3H9RUD0EUAiEApN5DU4ivefY9DQlbsGsmvx614yp5Le1W+ctVmcps6KM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.659134e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/16d1e09c8983c093c0e85681ec48d969/solana-rpc-transport-2.0.0-experimental.659134e.tgz","_integrity":"sha512-4MmJmR9V/WmrsNjbitb7QrBsefhOZJUYUSOFs43WhJIzBevRUUjKRaabbBMWH8dtqt9X94ASt+TF2Lhz7X+i2w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.659134e_1691427166189_0.11950617875480374","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7b76300":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7b76300","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7b76300","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"155e5ffef3d77077e68696d7c9cf2e08dc984aaf","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7b76300.tgz","fileCount":34,"integrity":"sha512-H7Nu5O9rfHx2JJrrtk48n7okwCmdd2SV3arg7guO6OjbHY80mxIOLK1aZJFvaAKTYqXhv33jdaypl2UDXYMquA==","signatures":[{"sig":"MEQCIG/g6J2LXf5GTqCA2zonIo2DUYqealX3yVvf+hNLVcd2AiBDKmXADz846KKQqqOAy+SVy6x2dOLJTNiOpOZgwIp1Sg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7b76300.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/23a1b1ba7bff9678bdc22c1a378e995a/solana-rpc-transport-2.0.0-experimental.7b76300.tgz","_integrity":"sha512-H7Nu5O9rfHx2JJrrtk48n7okwCmdd2SV3arg7guO6OjbHY80mxIOLK1aZJFvaAKTYqXhv33jdaypl2UDXYMquA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7b76300_1691427789287_0.27059048771765704","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8f594ac":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8f594ac","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8f594ac","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6f99c27a3de0b20ac22ff574f4db0f53382915cd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8f594ac.tgz","fileCount":34,"integrity":"sha512-XHdkb9G/xhuxrSwFNKd8nHj3W9yy1Ku74uH4m59ySehRekLSgJdYvDVdJyXqr2liH/m1gu+vcS3vpzKaiY0P1A==","signatures":[{"sig":"MEYCIQDVib0OhmDo7rIF5hQ4gaH4mhXrFBoHkPtXw8EJpH8fZwIhAORKXisUocipnZ0qGrMkxtaMTYLqkTNnZeoNzWap4WLD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8f594ac.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0d3155e056454e376fd76a1e03c10c8b/solana-rpc-transport-2.0.0-experimental.8f594ac.tgz","_integrity":"sha512-XHdkb9G/xhuxrSwFNKd8nHj3W9yy1Ku74uH4m59ySehRekLSgJdYvDVdJyXqr2liH/m1gu+vcS3vpzKaiY0P1A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8f594ac_1691428090125_0.06173782472034861","host":"s3://npm-registry-packages"}},"2.0.0-experimental.893be25":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.893be25","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.893be25","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0fdc43d0265f75ee16c658619670e34f7e20e559","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.893be25.tgz","fileCount":34,"integrity":"sha512-WqHKBYpX4AmEA+J9jvQUnz50dW1zrVb3wHW48CTy5ekSCTdzBwhUrz/Te/VHDA2TIa4z5xa8zr8goO/On5ZUGw==","signatures":[{"sig":"MEQCIBwn3Ry5vYVbsFfvbw1RFxLhrrwSEQR6W7LC7zMUuvNHAiBRP8styNAANdWbGoHvD1/zM8ESrX3b/6D7zlOXNA+wig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.893be25.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c93c1e8cc487e07b60ab57bc49e210fe/solana-rpc-transport-2.0.0-experimental.893be25.tgz","_integrity":"sha512-WqHKBYpX4AmEA+J9jvQUnz50dW1zrVb3wHW48CTy5ekSCTdzBwhUrz/Te/VHDA2TIa4z5xa8zr8goO/On5ZUGw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.893be25_1691428468187_0.7549571014760008","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cb41f36":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cb41f36","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cb41f36","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"31637303f103ee48ad4ce006db2714a53e443871","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cb41f36.tgz","fileCount":34,"integrity":"sha512-Ng74lNJ/AStAfxI9R/EJHuP3+NxJFA4eUqZgcbtRFBRRKKBvLdeE2jgUnY5SbHK5skzTx3uAitO9266yPd3OBQ==","signatures":[{"sig":"MEYCIQDJfc17Ea0V5702XetXY5/1ChFPNStrZ8W+1zXiUQAgEwIhAO6jWqDwinZFyNfQcMlJGKtErC9Raczn4r6GB4JffWcy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cb41f36.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d2fcfe1578324a778c301ae4b4f64e16/solana-rpc-transport-2.0.0-experimental.cb41f36.tgz","_integrity":"sha512-Ng74lNJ/AStAfxI9R/EJHuP3+NxJFA4eUqZgcbtRFBRRKKBvLdeE2jgUnY5SbHK5skzTx3uAitO9266yPd3OBQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cb41f36_1691429486831_0.8816224125594174","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7e66ec4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7e66ec4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7e66ec4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6fd4a55da4e4f83f25e4e95d677b2aaa5f25b0d4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7e66ec4.tgz","fileCount":34,"integrity":"sha512-Nhvb3CZ9mdJWW0YWVId83vyyOLH74zH1Gt1dnXrWfmN85y6/iZkuVF5LwO1KlbU+tfykfuzgF/l8D1lcLaxDdQ==","signatures":[{"sig":"MEYCIQDynCP4aQIG0fcA2iawQaeqkTRdAPwrcv7qXDys0RvYfgIhALipIjRb4tLCqFtmIcRL1/hwhTwJ01vtB6inbVLLnERp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7e66ec4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/032a6f81bb75b0e4da14518736e3f2a9/solana-rpc-transport-2.0.0-experimental.7e66ec4.tgz","_integrity":"sha512-Nhvb3CZ9mdJWW0YWVId83vyyOLH74zH1Gt1dnXrWfmN85y6/iZkuVF5LwO1KlbU+tfykfuzgF/l8D1lcLaxDdQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7e66ec4_1691429534841_0.13481431042100311","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7a52c02":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7a52c02","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7a52c02","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ac619eebe09980d9dd3c56e539375a6902ee6155","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7a52c02.tgz","fileCount":34,"integrity":"sha512-svxr4hedhyySwwDoqOpdFv30ksMPFegSBUmndmQmED2E0PlSKHKQSaLnAsWrkJU1sr2Qqyd0Q/MM9LL1LzxvqA==","signatures":[{"sig":"MEYCIQCG4QMRaDmTh5yvip/K1I0uYTEk9xshd6k89wsXu73zYgIhAM9/i/gIfXx0EcpwlZ9exxzg+iRfyQrGLXk9rngeJtPc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7a52c02.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/afeaa2f193574d1faeda68f45b61c034/solana-rpc-transport-2.0.0-experimental.7a52c02.tgz","_integrity":"sha512-svxr4hedhyySwwDoqOpdFv30ksMPFegSBUmndmQmED2E0PlSKHKQSaLnAsWrkJU1sr2Qqyd0Q/MM9LL1LzxvqA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7a52c02_1691429734984_0.7013807741432243","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c194560":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c194560","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c194560","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ad6d20c3063162e00a5ddce780276ccbdfdef1bc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c194560.tgz","fileCount":34,"integrity":"sha512-RE7LLSENMoMN23VLu5oLgvc/TjOxHtEfdZPyhymrF9gYNT7Z2RKUCy07dgVwjRvQK70lB5FqAMdtMxdF7J950g==","signatures":[{"sig":"MEYCIQCBP8guwqHSZs4dCkIbfGerX/xsvfJiStpCIgA28YMZqwIhAJoovtN0Qi2NuUGJriG/J2UEjvlRnafGYjlDE1xPPWcw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c194560.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7f6c80a6d4415f3d0ceee13f02cffd9c/solana-rpc-transport-2.0.0-experimental.c194560.tgz","_integrity":"sha512-RE7LLSENMoMN23VLu5oLgvc/TjOxHtEfdZPyhymrF9gYNT7Z2RKUCy07dgVwjRvQK70lB5FqAMdtMxdF7J950g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c194560_1691430188034_0.8304246562911353","host":"s3://npm-registry-packages"}},"2.0.0-experimental.dffb4b6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.dffb4b6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.dffb4b6","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"84c293a3f3c70e4ef4b14435d0e9a60be34c9b4a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.dffb4b6.tgz","fileCount":34,"integrity":"sha512-EsbtJERxsma+Agu/ayb6LBqmVneTJF5iK/ugsQptscAbGz9s6U4gqqe+kyo00Hr6ZIOxGsySBhKYzeLf2iXU9Q==","signatures":[{"sig":"MEUCIQDlSbVBLcu4/MOhcBDnC3YYm59u1ErVe0Tj+NrSP8mIdgIgVGLIsYvEHmwyrYfm7ns/ICso8oW59iuxiTPKRwulmmA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.dffb4b6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3300077cca06d2beddbe9a825a967c5f/solana-rpc-transport-2.0.0-experimental.dffb4b6.tgz","_integrity":"sha512-EsbtJERxsma+Agu/ayb6LBqmVneTJF5iK/ugsQptscAbGz9s6U4gqqe+kyo00Hr6ZIOxGsySBhKYzeLf2iXU9Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.dffb4b6_1691430634657_0.4931821731735444","host":"s3://npm-registry-packages"}},"2.0.0-experimental.129c601":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.129c601","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.129c601","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"aa0f80e311ed3c9000800c1fef981c33457b34fb","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.129c601.tgz","fileCount":34,"integrity":"sha512-rsDIaxZrxhzj9ijlIb/Szr/NXMLPAIImBAIltJMQMyHtDc/Nj/eQpu70sIb2+jtSxEbAlDlafWt5EqVno5cpYA==","signatures":[{"sig":"MEUCIQD8LUzIT2eERvqzPLEzFyDZq4N3o6ZjF4vs1D0mFw5onwIgNSqjyE5j7rryWOiRdwOtHfTjETOzDwztydRlapB1G/c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.129c601.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/26838cb15752986de6c415bcfe6bb3bd/solana-rpc-transport-2.0.0-experimental.129c601.tgz","_integrity":"sha512-rsDIaxZrxhzj9ijlIb/Szr/NXMLPAIImBAIltJMQMyHtDc/Nj/eQpu70sIb2+jtSxEbAlDlafWt5EqVno5cpYA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.129c601_1691432906219_0.6858696275981455","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7e91143":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7e91143","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7e91143","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f06cfd20aff7a7e8781214a7741b32680b131eb3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7e91143.tgz","fileCount":34,"integrity":"sha512-rD7xsgCBofn0zStX3cMfNFtF7cA1MvWVdt7EXYW3papz/ei6AE9xS4U7UHVDoB7yMHbAkAamDn5p8U05bbj6/g==","signatures":[{"sig":"MEUCIQDD4u80eQ1xx2V7h9jOSgG+ebVB4voTfRDTlfZ0hdyXaAIgAZZhEgomY/h+xs+6DGoCiBT5PVfR551TfCwTnvFgsXM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7e91143.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/22aed5c5dffc395cae3a6a5d5e7b5891/solana-rpc-transport-2.0.0-experimental.7e91143.tgz","_integrity":"sha512-rD7xsgCBofn0zStX3cMfNFtF7cA1MvWVdt7EXYW3papz/ei6AE9xS4U7UHVDoB7yMHbAkAamDn5p8U05bbj6/g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7e91143_1691436230569_0.8169886225566834","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0b7eadc":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0b7eadc","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0b7eadc","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c70a8aae5b1effa1d5b66d2b3f79b7f0e1e3f95c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0b7eadc.tgz","fileCount":34,"integrity":"sha512-CPsy19jyAu1ilQz7I+846RMcYLe+cKauVcXEKdz53661dmfLaJ4C+tdH61wf6bxiACcctWzvwVOUwWdDYUjmEQ==","signatures":[{"sig":"MEUCIF09faGQQw9Tc5qmS2K0+TWgvhJ3XYEHNSQ1YM/wpsWwAiEA4lOdSxNJusFSOgfaBYhoaDHm+o+ew0mpFZ1KuLgHPTk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0b7eadc.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/349fdb22a57fcf5573a5e2b5375745b1/solana-rpc-transport-2.0.0-experimental.0b7eadc.tgz","_integrity":"sha512-CPsy19jyAu1ilQz7I+846RMcYLe+cKauVcXEKdz53661dmfLaJ4C+tdH61wf6bxiACcctWzvwVOUwWdDYUjmEQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0b7eadc_1691439210847_0.5459050400719827","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1411638":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1411638","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1411638","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0e5db36aa1ee0dbcb30c6b876a860480225d074e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1411638.tgz","fileCount":34,"integrity":"sha512-biAUTI1Kdc2TaGv2yXBbAkbVMBxUHwD4L94Q/DiSKf7AB5QKqFnivhN78JkSsr5wuw0jR1wdnnigGKj8SEZ1rw==","signatures":[{"sig":"MEUCIQDwSYYO81krPrQo5Bd/z4jDFcSLtNDAp5vWpC/cptKO/QIgWmN+sgRzsSukZMjYcNdzVPgreCRHyUNwvGZUfUA5jkA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1411638.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/353f2baccb65f748f22bc6a67cba8001/solana-rpc-transport-2.0.0-experimental.1411638.tgz","_integrity":"sha512-biAUTI1Kdc2TaGv2yXBbAkbVMBxUHwD4L94Q/DiSKf7AB5QKqFnivhN78JkSsr5wuw0jR1wdnnigGKj8SEZ1rw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1411638_1691485070524_0.6429290236494789","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6ec1b2d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6ec1b2d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6ec1b2d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b784894cc39b33c0933afdce8507cc7cf5677e3b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6ec1b2d.tgz","fileCount":34,"integrity":"sha512-es9+AO4MgN2FCI2QKwaubPEGX3qYdW13UmRENVS3SZXF8k+uaLQA+WyATBQz66MoKPbxHWVC8gMGrizCcUqQrg==","signatures":[{"sig":"MEUCIHLd/nPqWbYRDQ/FWdA9H0RdjUr2K9+hyJ+2xhYWjw56AiEAtrobEp6GHc2OFA+kyilED+ZBxhy8fARZRs3RbTBHTYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6ec1b2d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b97f7b0ac246f8b0d90a6767a625d887/solana-rpc-transport-2.0.0-experimental.6ec1b2d.tgz","_integrity":"sha512-es9+AO4MgN2FCI2QKwaubPEGX3qYdW13UmRENVS3SZXF8k+uaLQA+WyATBQz66MoKPbxHWVC8gMGrizCcUqQrg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6ec1b2d_1691485513214_0.7744428595458737","host":"s3://npm-registry-packages"}},"2.0.0-experimental.88e1eaa":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.88e1eaa","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.88e1eaa","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"298cbd6efe1c7bbb910bc3b254878fcd66848150","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.88e1eaa.tgz","fileCount":34,"integrity":"sha512-8p1kBkcxWbJU7aHhSFv/szsdsXfhqHLykjtFN3HrrWUqcmcu+KbVweoSOFVeZVeqjkKHrC9mPaWuwBus1Zpr7Q==","signatures":[{"sig":"MEQCIBxufV/hVwR0IdtKxlFIrNaQp0P1fD1uXPHIw3vpTzjnAiA6L6s9e+zLQLrPjWBy/N+jUZjNnHdz69vs6HQ3N+i2mw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.88e1eaa.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a6be0dfb90e87fda878060c9376c2f0d/solana-rpc-transport-2.0.0-experimental.88e1eaa.tgz","_integrity":"sha512-8p1kBkcxWbJU7aHhSFv/szsdsXfhqHLykjtFN3HrrWUqcmcu+KbVweoSOFVeZVeqjkKHrC9mPaWuwBus1Zpr7Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.88e1eaa_1691500819273_0.14388883484169224","host":"s3://npm-registry-packages"}},"2.0.0-experimental.baadda0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.baadda0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.baadda0","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dee67f9b8801f03e068f281a3d07e263f133294d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.baadda0.tgz","fileCount":34,"integrity":"sha512-f0oYhSdi9BoKwGKMWbliOCX3O02kzWLOi3hh77LMb8SSf0+GK19kIFt+FQAP2aT2JMr7rPXprKz36Iagm9Slyw==","signatures":[{"sig":"MEUCIBqkBYdQXlKtdtBVW+FPfGu0wHbZWnX/UONiwqVQ+e70AiEA8C9jkfpHS553ggO++ecx7bzCiMUNZMG5+b0YqWKLz28=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.baadda0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/bd14662ff58083c05b777356d316de3b/solana-rpc-transport-2.0.0-experimental.baadda0.tgz","_integrity":"sha512-f0oYhSdi9BoKwGKMWbliOCX3O02kzWLOi3hh77LMb8SSf0+GK19kIFt+FQAP2aT2JMr7rPXprKz36Iagm9Slyw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.baadda0_1691508762313_0.9645373099879009","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0a0651f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0a0651f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0a0651f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"13d88524524a1a6fb78e7abf3cca61ce3acc402d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0a0651f.tgz","fileCount":34,"integrity":"sha512-q/LzVgpI3G3+Biyh9jC/ihAHaqBUSNaBa+GvYMrvxR1SxXijxVTKWjPNOXVVrEVSqIVHrs0ZtVXQChZbWoycSw==","signatures":[{"sig":"MEQCIEguNdXNcxKbSSlKwBiqqG4p8R0h0LlH7fO96zmmcWT+AiB5jT8FtGlypfRZyz8RzHow+hQaJFhQXGSehnRoqY73zw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0a0651f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0d9b43a00025b5b885cc2742e4b5cb3b/solana-rpc-transport-2.0.0-experimental.0a0651f.tgz","_integrity":"sha512-q/LzVgpI3G3+Biyh9jC/ihAHaqBUSNaBa+GvYMrvxR1SxXijxVTKWjPNOXVVrEVSqIVHrs0ZtVXQChZbWoycSw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0a0651f_1691508838831_0.5355663090698157","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0108bc7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0108bc7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0108bc7","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d36e38cd4ae7fb5e109dba852a5ea2f71a5f01b2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0108bc7.tgz","fileCount":34,"integrity":"sha512-fDf6On+4GbrSZ07HK7+oNJn9loZMQioyzxXyspQZDzIoXX4OnmjmP3jUKSZFxsMzZnKZu1Imt1RJpINRm5dg+A==","signatures":[{"sig":"MEQCIHweCGRwFqA1oeoOnbrbpGafVm6qsH0o7S44O2UeUbX9AiByetlhEE/ZwHJoX6IzWOJU00vmNqee4TTNUjtegFzvtA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0108bc7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/80a5eb3a5d0db180ece17ff57bce11a1/solana-rpc-transport-2.0.0-experimental.0108bc7.tgz","_integrity":"sha512-fDf6On+4GbrSZ07HK7+oNJn9loZMQioyzxXyspQZDzIoXX4OnmjmP3jUKSZFxsMzZnKZu1Imt1RJpINRm5dg+A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.27","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0108bc7_1691570329257_0.8737865240192777","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4a829b4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4a829b4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4a829b4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e2cbba20b7dbdd7c14db546e37ff3201855a6a37","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4a829b4.tgz","fileCount":34,"integrity":"sha512-0iS8kfnFM5YvXzevFm8HApALl0i1LakzXghxYHLIpNI8/VS4rCG8AqzzRgLQ3MsqKv9xBIO6CzNddcJ+NnX48A==","signatures":[{"sig":"MEUCIQC9hnIy9AJelF3m3n9AQMSEzrquVM5dwT474OzHA3vHNAIgIV0W9frWqVsxdGQ+VrOkIbUsn6UEIo4RN8bas5+ChOg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4a829b4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e1f04c8cb68af7706a681f01a4974904/solana-rpc-transport-2.0.0-experimental.4a829b4.tgz","_integrity":"sha512-0iS8kfnFM5YvXzevFm8HApALl0i1LakzXghxYHLIpNI8/VS4rCG8AqzzRgLQ3MsqKv9xBIO6CzNddcJ+NnX48A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.0.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4a829b4_1691570702966_0.03956978903812547","host":"s3://npm-registry-packages"}},"2.0.0-experimental.25ec508":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.25ec508","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.25ec508","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1bdcdb4e3103740b5982fd108844b3babde950cc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.25ec508.tgz","fileCount":34,"integrity":"sha512-t+X+4d68M/LLE8hxLixB5Eyd79XKuhLEmz0l5+Ryo2TI+FkGcMYsfMHLpKKrBQlybE4ItfyvdqN7cJJd+RuWOg==","signatures":[{"sig":"MEUCIFnJQ50myx7YM+cBg+sWyofYXmlcIkSB0qaVCjtdelpYAiEAy63Y6wFedKpYMNsP8GObvLNgnm8358J/lBHKvCK8r3E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.25ec508.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/fc5bde1bde3c980532bd7b6fdd3e83ed/solana-rpc-transport-2.0.0-experimental.25ec508.tgz","_integrity":"sha512-t+X+4d68M/LLE8hxLixB5Eyd79XKuhLEmz0l5+Ryo2TI+FkGcMYsfMHLpKKrBQlybE4ItfyvdqN7cJJd+RuWOg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.25ec508_1691571440102_0.9374112220582049","host":"s3://npm-registry-packages"}},"2.0.0-experimental.86594f2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.86594f2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.86594f2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4ddac602727c70ae28ed9d834a4d37c5079d7742","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.86594f2.tgz","fileCount":34,"integrity":"sha512-k8O0af0e8eTYBwCVzRVyk0QFMwZy5s7cZSRyvRER1RTS+awPS2MJnZoLaj1YOoU95Vo82xdq78QPJo7OMzYHAA==","signatures":[{"sig":"MEQCIB1Q56yc1WuFktCIsraiYtw7qgwJSMAcVL50yQiC6OZzAiBwsKzN0BbstUeW8NjhzeRDNmrHWT3lU4D7eQHkTxqPDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.86594f2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/02a5878fb9d4701e03108272e8f4d754/solana-rpc-transport-2.0.0-experimental.86594f2.tgz","_integrity":"sha512-k8O0af0e8eTYBwCVzRVyk0QFMwZy5s7cZSRyvRER1RTS+awPS2MJnZoLaj1YOoU95Vo82xdq78QPJo7OMzYHAA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.86594f2_1691656625369_0.94141059936304","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bb6ba5b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bb6ba5b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bb6ba5b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9ff63125af3107f3f6924ef38bdd384f1ec3da10","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bb6ba5b.tgz","fileCount":34,"integrity":"sha512-/AVlHd3WQk638HCBFSjbwOyEjKGuna9KyIaiXf9vXTno39FStJS2PL6fbLUUTN7kJsC0UQ+apSNmano2HUnngw==","signatures":[{"sig":"MEYCIQC2BZKlOqhsGecWX6ozqdYtEGkLFY10AUI86uW+cki59AIhAKcYF/zEdJkh9Gx5ns3vubwho3SH7RsD1go3u1ewx28j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130113},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bb6ba5b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/72a04db430b6396c154c3514aa2ac38a/solana-rpc-transport-2.0.0-experimental.bb6ba5b.tgz","_integrity":"sha512-/AVlHd3WQk638HCBFSjbwOyEjKGuna9KyIaiXf9vXTno39FStJS2PL6fbLUUTN7kJsC0UQ+apSNmano2HUnngw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bb6ba5b_1691657297845_0.08370482544226254","host":"s3://npm-registry-packages"}},"2.0.0-experimental.658ab03":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.658ab03","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.658ab03","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9e2ad25c601f6f619b3858079ab0964fcacd058c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.658ab03.tgz","fileCount":24,"integrity":"sha512-Rx9BVs4RIyuT/yyEFYD38FxP/tG3aI3Dex+cfbuzZ/siCK0sWrEAoSFzPIi7q2LMxkKwfIl5GYgpBocDhyuFfA==","signatures":[{"sig":"MEYCIQDCkqXi96sH/JtecQITH5erfLnFTfvIPsVlIjUnWKkOpgIhAJadRR9qlRjkDtpdXbTLI9Q01l5PjssLqsrPF5mWVlYU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122972},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.658ab03.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/285e94c980041045d1ef3ebec673c5f7/solana-rpc-transport-2.0.0-experimental.658ab03.tgz","_integrity":"sha512-Rx9BVs4RIyuT/yyEFYD38FxP/tG3aI3Dex+cfbuzZ/siCK0sWrEAoSFzPIi7q2LMxkKwfIl5GYgpBocDhyuFfA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.658ab03_1691657686171_0.10885539666804056","host":"s3://npm-registry-packages"}},"2.0.0-experimental.954995a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.954995a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.954995a","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7d03a2040ae7465c40bdfb35793c2d2bd3ab3612","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.954995a.tgz","fileCount":24,"integrity":"sha512-ofi7j95k1nWG9xqk5XcbW62Nuw18bjJASldkd2F6wngzVE1xOkPvr02cLm+QCxYJzskR4YtAuVpzaH7bQ4gVjw==","signatures":[{"sig":"MEYCIQCh+WuoGRiPNwh+QC0lweIdl6Y57XTrSlyJkMOkOZ9agQIhANUlsVKwk06hI7khwC3/4gTfFaX6D47i6UmTrArurdg2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122972},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.954995a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c23da9a442ecc2f6883e537172546b0e/solana-rpc-transport-2.0.0-experimental.954995a.tgz","_integrity":"sha512-ofi7j95k1nWG9xqk5XcbW62Nuw18bjJASldkd2F6wngzVE1xOkPvr02cLm+QCxYJzskR4YtAuVpzaH7bQ4gVjw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.954995a_1691680414530_0.6135477024792446","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a22700c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a22700c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a22700c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"365450983e02716b93cfe08602cff03fd3d828aa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a22700c.tgz","fileCount":34,"integrity":"sha512-Bfm/0ddxZP73Jyd99hC+RDeHIaVw5Du1XLUSm/thMvg2GhWs5C0imcYq1Ofc60PMwdpnZqor+dU1JcmHo7Bf0A==","signatures":[{"sig":"MEUCIAJSKao6z9kdcEBtIJk8CJRrC1B6LOFG7iQdg5+Va9u7AiEAnpYXsSau840X+x5z9RJxTAam1NBWlwbej5Bw5Zikhk0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136446},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a22700c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e5aa1ad02d4bea5962dbdad6b2ed8740/solana-rpc-transport-2.0.0-experimental.a22700c.tgz","_integrity":"sha512-Bfm/0ddxZP73Jyd99hC+RDeHIaVw5Du1XLUSm/thMvg2GhWs5C0imcYq1Ofc60PMwdpnZqor+dU1JcmHo7Bf0A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a22700c_1691747468195_0.20074867748195913","host":"s3://npm-registry-packages"}},"2.0.0-experimental.03edc6f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.03edc6f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.03edc6f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d3d7232a1c42b03331804aea1d52f6eebecc377b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.03edc6f.tgz","fileCount":24,"integrity":"sha512-TiqIMT4izfdTQNyaqBVH9xf6Ffq6wPhFUmYQrvxm4ouYpyVzkXy4x4sN0hvFi6mU1xC5MXSVXQhp3zzt0o56jA==","signatures":[{"sig":"MEUCIQCArkHpQ3gSyuVNksCr0UChSD6eKbmwPC5UT94idB8kIAIgELf/8g2a3cLm42IwhbsspFN00p4rfqfdi++R5N0QtDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125311},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.03edc6f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b69937d7c476dec9ed42599cb4398953/solana-rpc-transport-2.0.0-experimental.03edc6f.tgz","_integrity":"sha512-TiqIMT4izfdTQNyaqBVH9xf6Ffq6wPhFUmYQrvxm4ouYpyVzkXy4x4sN0hvFi6mU1xC5MXSVXQhp3zzt0o56jA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.03edc6f_1692088988148_0.6358560944507345","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b787f32":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b787f32","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b787f32","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"17cd2a42b3cc7a0dea969ffe40aa2f3373d730f4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b787f32.tgz","fileCount":24,"integrity":"sha512-3ys9ctgPoOmoteAB5+uDYQxitN1Thn4L6D7RmTOKQ6vLfJe4abgtJUvZwX5jF1rYeYXs/cPxMofijXI0FNTFtg==","signatures":[{"sig":"MEUCIQD/QdUOMQ/JJk9RQqoLyWnFIZ2K4Zvx/FS3iBmw7zlOywIgcbhzhY+APS3dT66zD9KuLhTMsoYRsdf9TvCGZVnOM5k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125311},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b787f32.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c070ca7e8f6c941ee3f7ecb2d25cfd43/solana-rpc-transport-2.0.0-experimental.b787f32.tgz","_integrity":"sha512-3ys9ctgPoOmoteAB5+uDYQxitN1Thn4L6D7RmTOKQ6vLfJe4abgtJUvZwX5jF1rYeYXs/cPxMofijXI0FNTFtg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b787f32_1692219453621_0.7791893886378154","host":"s3://npm-registry-packages"}},"2.0.0-experimental.958cc6b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.958cc6b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.958cc6b","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2ee632fdeaeb92b5ecc366ddc3f9c9aee648b8d1","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.958cc6b.tgz","fileCount":34,"integrity":"sha512-RhDloSxzlciCKIuzXuErreRcKqo899GHwzPj+2iwnjMlezzCBA8Jkm7HHfnFWkFvlntM4viySfloeQ4wy+etTg==","signatures":[{"sig":"MEUCIQCOSETXbwMxzFX//lt3mYUyF9+rc04v5gd8zjNQSNZJHwIgRo7vXmGagAKPDwXi86LXbXtbZ24Yhc252qBFMc1rqfg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136446},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.958cc6b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/499729a3bc19bd5ba8f9c943d9c2ce99/solana-rpc-transport-2.0.0-experimental.958cc6b.tgz","_integrity":"sha512-RhDloSxzlciCKIuzXuErreRcKqo899GHwzPj+2iwnjMlezzCBA8Jkm7HHfnFWkFvlntM4viySfloeQ4wy+etTg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.958cc6b_1692243026530_0.09710636818211626","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5f8bf71":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5f8bf71","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5f8bf71","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1d64a9bb8cc3d44c7994aa203ff61e0152f2e949","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5f8bf71.tgz","fileCount":34,"integrity":"sha512-Hz00sB8V8jul4pDeHdmTmi333QKs8aaBdajfxS3aYpzzaYemDKzqj/fMsD0okg7+BqhNgNms3slJM8KiYpC7xw==","signatures":[{"sig":"MEUCIQDxnX5GwfUP+lengj/IeOy1mkDVak3BiMn8fmZxzzUofgIgL2H2o7xpAAIyUxgBr/ocj4fSV95qy5ZYLFQAefZjOGU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136446},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5f8bf71.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/bc155a88b62aafcfc629f2a1bbece931/solana-rpc-transport-2.0.0-experimental.5f8bf71.tgz","_integrity":"sha512-Hz00sB8V8jul4pDeHdmTmi333QKs8aaBdajfxS3aYpzzaYemDKzqj/fMsD0okg7+BqhNgNms3slJM8KiYpC7xw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^3.0.1","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5f8bf71_1692717825275_0.1141762478262025","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4183479":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4183479","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4183479","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0ac8c86fe1aaffde57bc0fb6c15bcd780f360d12","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4183479.tgz","fileCount":24,"integrity":"sha512-+9Xhg2HuqsVYpNBW/XHHPg9bPu5AscwkYjX4UOhVJ6zxRkc9jCS61OuhYOl4kwk65JBda8H3VYpRsMs6dru57A==","signatures":[{"sig":"MEUCICUUaOSAsQK1UiAHcCoIokENFs1X8wjHFs1hbox4cPlqAiEAprDaZiQc41ZxIrLM7n97df3fzV0AN6fINRkH2q6l2zY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4183479.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/762de42124ee8c17dada390103f8845a/solana-rpc-transport-2.0.0-experimental.4183479.tgz","_integrity":"sha512-+9Xhg2HuqsVYpNBW/XHHPg9bPu5AscwkYjX4UOhVJ6zxRkc9jCS61OuhYOl4kwk65JBda8H3VYpRsMs6dru57A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4183479_1692765422745_0.793570967948225","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bac4a66":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bac4a66","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bac4a66","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9a28256c38b5c52bfbb8d75a0e4cfb8600b5721b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bac4a66.tgz","fileCount":24,"integrity":"sha512-HDdpGk7Lhef7wwmllWeQ96L85nD+gxk310anE5dsuEqSQ3xwvaz6vYQqlnA/SDiKhcVjHaardxXRrtLYJUKFZA==","signatures":[{"sig":"MEQCIESjoyoldHeVNtIpPncmzNzrtC5dF78awiib7DsWYx0GAiB1Dyeh7ZR4qtsmWDQdlwCFTRQBgBHz3aCHwgqzFziHDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bac4a66.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/77baa903452e6faa911fef64cf479be2/solana-rpc-transport-2.0.0-experimental.bac4a66.tgz","_integrity":"sha512-HDdpGk7Lhef7wwmllWeQ96L85nD+gxk310anE5dsuEqSQ3xwvaz6vYQqlnA/SDiKhcVjHaardxXRrtLYJUKFZA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bac4a66_1692766776340_0.03566628174958608","host":"s3://npm-registry-packages"}},"2.0.0-experimental.71ce0c2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.71ce0c2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.71ce0c2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8dd9bac4f27968e689444f26effc0992b8c5c49d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.71ce0c2.tgz","fileCount":24,"integrity":"sha512-5XXStUUvirW+zoWLv+U8wMM1jERVXV13ZQzDT/SVfVhIYr0I0KKDPrHxnfTmHgjlBxgacATVHZHeDoUVZrMz4Q==","signatures":[{"sig":"MEQCIFYpsDDZGRAzqvzic0KSdluRMpI4VoEYwup8yARb5QNaAiBU7YrQ2SJ61vX6SQ+XqORK9AgG6miLxxK7oG0QTznVXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.71ce0c2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a3efb652d0a7185984d00fd5a9e27b51/solana-rpc-transport-2.0.0-experimental.71ce0c2.tgz","_integrity":"sha512-5XXStUUvirW+zoWLv+U8wMM1jERVXV13ZQzDT/SVfVhIYr0I0KKDPrHxnfTmHgjlBxgacATVHZHeDoUVZrMz4Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.71ce0c2_1692766819340_0.32446643458937574","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ec2d4a4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ec2d4a4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ec2d4a4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8fa344a48778d14e853603b409e8ab7a0602fe14","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ec2d4a4.tgz","fileCount":24,"integrity":"sha512-p1Bs87ezW6VXnWI7nR4KWB+epmyzNKd0jDRI2BEzCaIzY/7RX5Iu/+GZAnizWb73Um81Fpq/udhLk7r2okCfKQ==","signatures":[{"sig":"MEYCIQD3K3VWQXYhaMvM4am9WsVUvtfemRV/09FEVFlNr5LNbQIhAJPycvrQsX7vus/fLPKhdNOZMGqNWNPalICHNhFcSjNQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ec2d4a4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/985aaabd2649ab0ea31dd797756cd463/solana-rpc-transport-2.0.0-experimental.ec2d4a4.tgz","_integrity":"sha512-p1Bs87ezW6VXnWI7nR4KWB+epmyzNKd0jDRI2BEzCaIzY/7RX5Iu/+GZAnizWb73Um81Fpq/udhLk7r2okCfKQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ec2d4a4_1692767636045_0.9583971270465812","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b9efb9c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b9efb9c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b9efb9c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d9ea438f54cf1e4dfbd2fe331e1f6b08ab5ad9fa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b9efb9c.tgz","fileCount":24,"integrity":"sha512-pU0Ix2GVkJAPWv/iu84E6S/ERjKkfiWzAMVFoGfoL4HTPPdSMCynI0ogarL4dj9YminfoPgo9iDpVS25ntQ52w==","signatures":[{"sig":"MEUCIDSZjhldp8MkzEiKkXobpd108GgWUoH6GT0n9S+19W05AiEA2V7hWBrWhQ5et4RgjdxI6blueTUQOEOGM1YHCqbMeXo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b9efb9c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a5d2b7643b4b5f118e5dd2fbc356d9c1/solana-rpc-transport-2.0.0-experimental.b9efb9c.tgz","_integrity":"sha512-pU0Ix2GVkJAPWv/iu84E6S/ERjKkfiWzAMVFoGfoL4HTPPdSMCynI0ogarL4dj9YminfoPgo9iDpVS25ntQ52w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b9efb9c_1692803611672_0.26802933885158753","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bfb1537":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bfb1537","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bfb1537","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2f7a8ad4ab558cc939344355ccc8ab72b3e84a64","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bfb1537.tgz","fileCount":24,"integrity":"sha512-wzYsRAsZy1iGuqadNuLNPbXpl1YqVKQ00lZRAx/cek0gUB1q9Zkg7ACKgQkr2wI12N8FAowi/MWatSCMyVUdig==","signatures":[{"sig":"MEUCIQDnbfpnr1qUeYeKfrfpoRPQfuISy2rvtnQzW7OMLrXOrgIgchtWCDQcfAcPh8wqsVg2Do8PbEAYGXEkMLRhyNBGfRU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bfb1537.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/04634896fafbef50f05815d1490ec148/solana-rpc-transport-2.0.0-experimental.bfb1537.tgz","_integrity":"sha512-wzYsRAsZy1iGuqadNuLNPbXpl1YqVKQ00lZRAx/cek0gUB1q9Zkg7ACKgQkr2wI12N8FAowi/MWatSCMyVUdig==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bfb1537_1692812236859_0.98734081036233","host":"s3://npm-registry-packages"}},"2.0.0-experimental.dc614af":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.dc614af","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.dc614af","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c3671cd843a1e13878a07c57abf47df1a9ffc6ad","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.dc614af.tgz","fileCount":24,"integrity":"sha512-zH2kPG3sW5nQriujL8HXbbMXCvLa+CrZGcx/ot2pZid4zHRma43v/ExWv8mku3kn0sjd/toTgbhCEpWpGaYpZQ==","signatures":[{"sig":"MEUCIQCj/gTeW4RkZ32PbwPaKLb8wjjIV9pZ2AfAnfq4yg5GhgIgGYumBfnjjWG9MAVw0BPXzlNl82fqcAUpr3gbGIlUjvo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.dc614af.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f22a8ed19d2ae49643473f0ddb4e510a/solana-rpc-transport-2.0.0-experimental.dc614af.tgz","_integrity":"sha512-zH2kPG3sW5nQriujL8HXbbMXCvLa+CrZGcx/ot2pZid4zHRma43v/ExWv8mku3kn0sjd/toTgbhCEpWpGaYpZQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.dc614af_1692911412594_0.5783188340875665","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2a5c909":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2a5c909","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2a5c909","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5f702cff5697bf2b0ef275f73bb857ed590f3dc8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2a5c909.tgz","fileCount":24,"integrity":"sha512-gx0FvTAMRIxVDxgPRqSmnyd4FV2BEwlW84cu66cinKcxDh+fOCOJLa9joCj0DbdCBa367QAa8P6ZZcU8vmBb8A==","signatures":[{"sig":"MEQCIAxdpep4R6NqM9gnbTW2vWw0mViX7blaK9gQUq5S/6eXAiAmshAE8PxGP9BPftFfJGU2s6GjSDNcZQJr4ErcZmMHLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2a5c909.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ce561a50b41e0df8d1ad45f42a1f3710/solana-rpc-transport-2.0.0-experimental.2a5c909.tgz","_integrity":"sha512-gx0FvTAMRIxVDxgPRqSmnyd4FV2BEwlW84cu66cinKcxDh+fOCOJLa9joCj0DbdCBa367QAa8P6ZZcU8vmBb8A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2a5c909_1692941906370_0.8152670278556526","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3b49e8a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3b49e8a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3b49e8a","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"23ba5e3983b33c186e673c72d0010f5c1063e930","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3b49e8a.tgz","fileCount":24,"integrity":"sha512-w4tRyKeXDDVevhMwlO6J9frfu9icIXrZ0Ue8kqb/akz9itB0yBHVPlv2BElnRp/rpgEJJTxSC3o2WDqSnTYmdg==","signatures":[{"sig":"MEUCIAEIRZF+p6lAx5jRhK3gQJyTsEIwZCccsrwMf3YrYdvZAiEAt+LhQ0qb1kSbjyZ6keWM4PGz6NSsTUbT8GFWiStLIDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3b49e8a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c46f77999d35f8937f19c96d62c65ec9/solana-rpc-transport-2.0.0-experimental.3b49e8a.tgz","_integrity":"sha512-w4tRyKeXDDVevhMwlO6J9frfu9icIXrZ0Ue8kqb/akz9itB0yBHVPlv2BElnRp/rpgEJJTxSC3o2WDqSnTYmdg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3b49e8a_1692941937012_0.9668059425546078","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5c3e7e8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5c3e7e8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5c3e7e8","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b2766ed79c7ad59c958c4bb07ba000455743a930","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5c3e7e8.tgz","fileCount":24,"integrity":"sha512-eZesyzSqIemX0nZVY1/ozgPFNGt8FyELn5wbGZkEqavGRJlfFnr4LYkYyJIlAAafnwecbTD8+wA2Me8QK+s7+g==","signatures":[{"sig":"MEUCICpZD9lph6MZ+JYocFOkpGwme2Fy8hsoK0ccjg9T+Wj0AiEAqC84hmHG5BO2CvDP+MNjixnRWUeyvYKDEiz/9Yxxox8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5c3e7e8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/53f52132f2e1c10c27fcf1302ab30205/solana-rpc-transport-2.0.0-experimental.5c3e7e8.tgz","_integrity":"sha512-eZesyzSqIemX0nZVY1/ozgPFNGt8FyELn5wbGZkEqavGRJlfFnr4LYkYyJIlAAafnwecbTD8+wA2Me8QK+s7+g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5c3e7e8_1692983774650_0.794069593293224","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4f2f123":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4f2f123","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4f2f123","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"39a08cfa29ca663a87b41369212d80a0074eb1c3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4f2f123.tgz","fileCount":24,"integrity":"sha512-xUEQAfGI4/yOG5CCyT9AKvk/dJ/tUabOtcEcVsqxwa86mp4DCvxVtiOlZnKs2mys7qJMOtR9WYRmNIznrX6r7g==","signatures":[{"sig":"MEUCIAWHYDuQ280YClasHYb36UDL8b9EaZeD2kGFo6ztSS//AiEAxtAiQK4DumhmkO4d2YtJMfMfMbKoXl2bcJFlwNg4wM8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4f2f123.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d03fa84f98da1c5a46bb6bb628bd30dd/solana-rpc-transport-2.0.0-experimental.4f2f123.tgz","_integrity":"sha512-xUEQAfGI4/yOG5CCyT9AKvk/dJ/tUabOtcEcVsqxwa86mp4DCvxVtiOlZnKs2mys7qJMOtR9WYRmNIznrX6r7g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4f2f123_1692983791917_0.9074240783991048","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d0412ab":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d0412ab","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d0412ab","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4ec59fc39843a987bfe973402ce0dee20ffe028e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d0412ab.tgz","fileCount":24,"integrity":"sha512-ExzTR4WDjz8lIv2/a77nE0MARBWkHc9aTcCfZP3UMRV3rmJCnuXrKpTa0x5rxlPphZOK3T00BVy1Cs74RSLyBQ==","signatures":[{"sig":"MEYCIQD1BQHso1p41FS9rMwubZ0DpgXjUEQttSaVZTye0ZoWwgIhAPDc282ETviEpTMfvttFlTOd/lfMVWIaGi6bB30HWbS6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d0412ab.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d75bc2c679476862a84aabc03f248376/solana-rpc-transport-2.0.0-experimental.d0412ab.tgz","_integrity":"sha512-ExzTR4WDjz8lIv2/a77nE0MARBWkHc9aTcCfZP3UMRV3rmJCnuXrKpTa0x5rxlPphZOK3T00BVy1Cs74RSLyBQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d0412ab_1692984540338_0.09862802212023247","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7192f3d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7192f3d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7192f3d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1df85a436374ccaf535cf9e6e078e949eba73cea","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7192f3d.tgz","fileCount":24,"integrity":"sha512-m+rQOU1QLbROTL1o2XLP1sW1JVxkxHX0RN0GGO5RpzvEmZuMSjjYXQ1Y7XWvW1aH9DtrjpX0rlRD7HI96mFwqQ==","signatures":[{"sig":"MEYCIQCNKdD6Ru5XE1lsPewxL5xTFnJ8P5sncx9X0y4iy/uX4QIhAIjIziZQWyKM7TRCbgSZCtCQZukmbvezzTagzouAtG8K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7192f3d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/005f76020a586b9bde1696fe5c3aa71a/solana-rpc-transport-2.0.0-experimental.7192f3d.tgz","_integrity":"sha512-m+rQOU1QLbROTL1o2XLP1sW1JVxkxHX0RN0GGO5RpzvEmZuMSjjYXQ1Y7XWvW1aH9DtrjpX0rlRD7HI96mFwqQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7192f3d_1692987761819_0.4424385978868892","host":"s3://npm-registry-packages"}},"2.0.0-experimental.58cbeb5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.58cbeb5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.58cbeb5","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b0c39c171827caea55805ff5387d6a727124c628","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.58cbeb5.tgz","fileCount":24,"integrity":"sha512-DyrYCTFIm2XH3HlPxtGd8mXQUA5bmPAIizAqaKZjLnc9VZODcrH7qijGCe2GArlwZy1grQLz8G3DFrxMGJRUGg==","signatures":[{"sig":"MEUCIEtNcG+cuw9K0J57abV2Qiqa0FKUwbc3NDKTb2CKdokbAiEAxDTX2jYemtXtoxwPrj6Imz3zG8ExijhSFxzVP0iSB60=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.58cbeb5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7c6a15b0c3eaa598d0c31ef73248b889/solana-rpc-transport-2.0.0-experimental.58cbeb5.tgz","_integrity":"sha512-DyrYCTFIm2XH3HlPxtGd8mXQUA5bmPAIizAqaKZjLnc9VZODcrH7qijGCe2GArlwZy1grQLz8G3DFrxMGJRUGg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.58cbeb5_1692989299360_0.8371898035259009","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d4938f4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d4938f4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d4938f4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3d72a09b3ecdbeb5fa75c7de8e21f7a6514d9a68","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d4938f4.tgz","fileCount":24,"integrity":"sha512-aWImpd15LYrFO5eJRTvi7lqUiIFNs+Yq6tmeE2pVFoSNrszLlnWBrE86Ib3xC6htW969AL5xWXr1irlKMN/yaQ==","signatures":[{"sig":"MEQCIBtWcMe3RJODMpfWvy2jMYaMuvdkg2FIL1Izbr/A96Z0AiAwT/oz/ULY8TdSLwdZbQtJQm3j/qgfhzTz0fdc/IiH4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125479},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d4938f4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c6983fc84a7a07112f4c4591435540c2/solana-rpc-transport-2.0.0-experimental.d4938f4.tgz","_integrity":"sha512-aWImpd15LYrFO5eJRTvi7lqUiIFNs+Yq6tmeE2pVFoSNrszLlnWBrE86Ib3xC6htW969AL5xWXr1irlKMN/yaQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.2","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d4938f4_1692991197635_0.20416105804845164","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2f6fdd4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2f6fdd4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2f6fdd4","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a6b5d8f8d609f9a7dbc8fae5fa51d576afc3329b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2f6fdd4.tgz","fileCount":34,"integrity":"sha512-gjNpMz3iUx1ILJ7K9OXNAKVYAB7Eh9k//yOBJnrUC/LU/TLhjJEOgnivQMdVPDPwGbRYCW5pINBEClloHfEgEQ==","signatures":[{"sig":"MEQCIDy4jINYqu+oSfzV7zAUxmZE/dZtv888ccR2nUXNu5a2AiAlGig4bDgdaBS9WqWfTGrdLjb4gcKfp29SHtmPG0YgAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136650},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2f6fdd4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8dac71d0405f3c0ca1c68dd174aa9e72/solana-rpc-transport-2.0.0-experimental.2f6fdd4.tgz","_integrity":"sha512-gjNpMz3iUx1ILJ7K9OXNAKVYAB7Eh9k//yOBJnrUC/LU/TLhjJEOgnivQMdVPDPwGbRYCW5pINBEClloHfEgEQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2f6fdd4_1693123019862_0.7847563945847602","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0556eb2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0556eb2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0556eb2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"71d3a76be9113246737cf699085a48b7e761202d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0556eb2.tgz","fileCount":34,"integrity":"sha512-FLbENeQnCsKRv8uZwI3YgdA0DONMMpqt4+JnFxZFyI9Tsf00XwBGNrdJ6XEPnc91iuCGGP5dYpg7FCtcwObgpQ==","signatures":[{"sig":"MEUCIQCYeU/OcyVW/tFuFGnRVOmMbxLXBK8uBPh5Ja2N2QwbpAIgafa0URJ1/9lc3z139m6ecH06Hf6mbOVT9DphPpnH1pU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136650},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0556eb2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c49c1a3591b4fae4ece92612ecccddd7/solana-rpc-transport-2.0.0-experimental.0556eb2.tgz","_integrity":"sha512-FLbENeQnCsKRv8uZwI3YgdA0DONMMpqt4+JnFxZFyI9Tsf00XwBGNrdJ6XEPnc91iuCGGP5dYpg7FCtcwObgpQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0556eb2_1693123601733_0.9849813490504269","host":"s3://npm-registry-packages"}},"2.0.0-experimental.630f6d2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.630f6d2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.630f6d2","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"93728d80e1d6bca09f91cfcd6d503c6298e54e81","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.630f6d2.tgz","fileCount":34,"integrity":"sha512-xpIEae4MmbWFuFBUkvh6Ikqk0+lncJWv0DIHKYCg6Boebe7dcj3e74u9px9dQFR6th/2MhOZt8nDqKymY/bEYA==","signatures":[{"sig":"MEUCIQCZqFFNiyW7EkfF2uoZmutLpri1n/d9bRM+CeIloT9B0gIgZrT2vwZG2TcocTly25yItZzz32iQQrRy4KoyWdFBxYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136650},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.630f6d2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/38d7401e445b02f44c1f0d8df9f5fa6a/solana-rpc-transport-2.0.0-experimental.630f6d2.tgz","_integrity":"sha512-xpIEae4MmbWFuFBUkvh6Ikqk0+lncJWv0DIHKYCg6Boebe7dcj3e74u9px9dQFR6th/2MhOZt8nDqKymY/bEYA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.630f6d2_1693332830186_0.19745346497616456","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f4281a5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f4281a5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f4281a5","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"29bd2536c9a3f6976ac2898f0a3b3e83746ce2e5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f4281a5.tgz","fileCount":34,"integrity":"sha512-XzPKrV7rj0Ajzcdc1AF73uafqO92oSPuF756Ip+EtUn9V+tVhbInh0I/o6qveaufQ00GPOj8qaeuCTktkWhPXQ==","signatures":[{"sig":"MEUCIQDCqa6fXwFH6R3fqM3v3wWnGi2L5rb0OPVBh9FdDWpj1AIgKl3jTjQ/z2cy8sDy3bt5qfFnZTAi1KXNGip5xo1r27c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136650},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f4281a5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/10c94c1463d80ab8d7394aed53c945c7/solana-rpc-transport-2.0.0-experimental.f4281a5.tgz","_integrity":"sha512-XzPKrV7rj0Ajzcdc1AF73uafqO92oSPuF756Ip+EtUn9V+tVhbInh0I/o6qveaufQ00GPOj8qaeuCTktkWhPXQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f4281a5_1693347501444_0.37559832016987116","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6ed2091":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6ed2091","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6ed2091","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"607c168f57c74b4976c8c282ea00a31d4f97f4ea","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6ed2091.tgz","fileCount":26,"integrity":"sha512-+6KM+41dFcIvSOaQJF6q2DmQiwHuq8PBCqByw8pLX5zFFBjTtlSmDX7zamknrMBNSfqbE4R1GWeqjpXNrjcLRw==","signatures":[{"sig":"MEUCIDCaUyd9xqdCub4EUjZkN4AAZhPmo3ss91zJ57qqZlg4AiEA014SzNhBaDDZsS54Ik6iZwGeezs8hrf3pZu0vgcAN7o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197436},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6ed2091.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a9c3f63f4b0c0a7551347b67147c0120/solana-rpc-transport-2.0.0-experimental.6ed2091.tgz","_integrity":"sha512-+6KM+41dFcIvSOaQJF6q2DmQiwHuq8PBCqByw8pLX5zFFBjTtlSmDX7zamknrMBNSfqbE4R1GWeqjpXNrjcLRw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6ed2091_1693378999921_0.8758736037084631","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a27face":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a27face","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a27face","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8c70d28c2d5457ef48624bd7959061efbbc850e0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a27face.tgz","fileCount":26,"integrity":"sha512-XNqhp0jhJGWrhQ1fpyUEuNkWL0bJScRZrE0WdMCV3jWd6y+rdfatYQ4fLU6QENYMJd9XLfB98IjuhYbXxDZE/w==","signatures":[{"sig":"MEUCIQDjDm4r3Zpyyr2zF7KnHgZ7na3vOPcpbtJJQey9UE8w7AIgQ2gqrkVLN/Z91Sk+1gToissZeDhrWunbmhKDICJL5rU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197436},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a27face.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3225ebed53008f5691233109618030bc/solana-rpc-transport-2.0.0-experimental.a27face.tgz","_integrity":"sha512-XNqhp0jhJGWrhQ1fpyUEuNkWL0bJScRZrE0WdMCV3jWd6y+rdfatYQ4fLU6QENYMJd9XLfB98IjuhYbXxDZE/w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a27face_1693379028596_0.8600219962557072","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2a6cc4f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2a6cc4f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2a6cc4f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e7b215e8a4539e8c5dc91b9a271539536aae9419","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2a6cc4f.tgz","fileCount":26,"integrity":"sha512-nIFCDjwKD55loieqlhw7xtsxOSaRzlGyPPC5wob0sKvaicajDwd+vlVxvC2t3stP3n4s9dVF0X2B+gzZj8dJ7Q==","signatures":[{"sig":"MEUCID2DXt8iu1qYZXY+PblIXEZXhJQZHwaiLXw0JDoNzelpAiEA0C+voZobNzHV1Ev0hymJWZVf1X5eHCwxcYmV2omjchM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197436},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2a6cc4f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/4c497e0d5f4be29f6be0bd7bc1869533/solana-rpc-transport-2.0.0-experimental.2a6cc4f.tgz","_integrity":"sha512-nIFCDjwKD55loieqlhw7xtsxOSaRzlGyPPC5wob0sKvaicajDwd+vlVxvC2t3stP3n4s9dVF0X2B+gzZj8dJ7Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2a6cc4f_1693379075031_0.9764101153587852","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8c9cacd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8c9cacd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8c9cacd","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3d71b905e2abe99800576b45e4512b0f2563c978","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8c9cacd.tgz","fileCount":38,"integrity":"sha512-MYvm5urVoJKY5vk9JotmLVOKvkZV7vZS+zHIJ+Dl28ibMINtG718XLPmFpLEDHm5Dw8+oMNmtrc9lwt7IHrxjg==","signatures":[{"sig":"MEUCIGofut8cYaKg9KGIQIPHGexFQCKcPI1wNx/aXJqZG4sXAiEAo9n3ltdJlbG/vcM9hXNosyjNKADaukPIVB7HajMq+sA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209709},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8c9cacd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2ffdec1d6bdf33ce86e1b268d4650646/solana-rpc-transport-2.0.0-experimental.8c9cacd.tgz","_integrity":"sha512-MYvm5urVoJKY5vk9JotmLVOKvkZV7vZS+zHIJ+Dl28ibMINtG718XLPmFpLEDHm5Dw8+oMNmtrc9lwt7IHrxjg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8c9cacd_1693379300840_0.11641031651918499","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ab8b149":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ab8b149","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ab8b149","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9870a9db1fd0710a762360d8cb222b35f3140ad8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ab8b149.tgz","fileCount":26,"integrity":"sha512-4g85+wauMguBWiPOhbrgik+aORgOOPq7ZnX8M2s49CBp0HZSNjLFpYojJ9SvIoC2eHeni0Xft+HgdKKBLVFSGw==","signatures":[{"sig":"MEQCIHkMzaweKRP0+uZpJZuCSm+wFjWRg1gvT4i4UdJA6NMzAiAaaETQy24kSBorVTKOoE7TFGC0GXvKMFLHcUA8tqrVGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197436},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ab8b149.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/81523abf4d657e2dae67c568cb86bad3/solana-rpc-transport-2.0.0-experimental.ab8b149.tgz","_integrity":"sha512-4g85+wauMguBWiPOhbrgik+aORgOOPq7ZnX8M2s49CBp0HZSNjLFpYojJ9SvIoC2eHeni0Xft+HgdKKBLVFSGw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ab8b149_1693380415039_0.4470088878170284","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0c52530":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0c52530","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0c52530","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"515714fa24e3175e5013e9ae3af51e1f01d9eecb","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0c52530.tgz","fileCount":38,"integrity":"sha512-3zZ0lf7kMM59fCGBGabrqB9qCf2gz/YWgAIJjsscM/0JZ8UnmfTqId57WvzG0yhCnlPo3cV3F/tQpCyvTZHFqQ==","signatures":[{"sig":"MEUCIGjWBB128aXJ6P1LniPJKXpetttRAl8J/Db9KYqWvALXAiEArV11l1qkyrHkUDowJVZnVAZEhYSvu0Ya56RPSCF+zuw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209709},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0c52530.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cb4e5b72b86cfcc96fe2dde83defd278/solana-rpc-transport-2.0.0-experimental.0c52530.tgz","_integrity":"sha512-3zZ0lf7kMM59fCGBGabrqB9qCf2gz/YWgAIJjsscM/0JZ8UnmfTqId57WvzG0yhCnlPo3cV3F/tQpCyvTZHFqQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0c52530_1693384159319_0.3896123969513232","host":"s3://npm-registry-packages"}},"2.0.0-experimental.320ccbb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.320ccbb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.320ccbb","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1898a0b7c68630b37def0552835d19e280ef8e3b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.320ccbb.tgz","fileCount":26,"integrity":"sha512-T0VdKc4lcWYuvW4rMrAjf+/ef/u8SnZbGUB+RHO8TdCLnIg000ET+UjWo3BrtbP0gSNUm2SUzxMMp5Fg4oP8Iw==","signatures":[{"sig":"MEYCIQCdBggJ7dMKoWyPTSIN2JbX2iOhiGmZiNKVsP53nG/8bgIhAKC18su+cwiJgIGPQ/GnpsNgTesTwucXzD0ArSzsgP0G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":197436},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.320ccbb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b28f938b8348209c3a0da359b38c5469/solana-rpc-transport-2.0.0-experimental.320ccbb.tgz","_integrity":"sha512-T0VdKc4lcWYuvW4rMrAjf+/ef/u8SnZbGUB+RHO8TdCLnIg000ET+UjWo3BrtbP0gSNUm2SUzxMMp5Fg4oP8Iw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.320ccbb_1693384416234_0.5875973494388884","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d48113d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d48113d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d48113d","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"76344c98f3bd0f463eefe10e9b5162cddcd178e9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d48113d.tgz","fileCount":38,"integrity":"sha512-7JBReCJma0yABD0fxS1akVJx7wsTNWKDdM+UqIkmDWVQrgv+Vt0m8s0B8nF/udpnYJhK+SHOQKpudKekGxF0YQ==","signatures":[{"sig":"MEYCIQDpSS3dp99SeBl8l9N6CTyjOpJ+SWkuINDd8Yb2nWheVwIhAPNoPRIT+22D0E4btwP+oZtMlrQpbcgm8mbtajfWOqNI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209709},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d48113d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/be245a721091b505c23706ed473339c5/solana-rpc-transport-2.0.0-experimental.d48113d.tgz","_integrity":"sha512-7JBReCJma0yABD0fxS1akVJx7wsTNWKDdM+UqIkmDWVQrgv+Vt0m8s0B8nF/udpnYJhK+SHOQKpudKekGxF0YQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d48113d_1693472008761_0.2982291088706268","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b83b7ee":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b83b7ee","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b83b7ee","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"26e7818e0fc76c398ff3ed51a795e99f3424847f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b83b7ee.tgz","fileCount":38,"integrity":"sha512-YQ9uvoR8aTW1LWzHqt0GbNjHYUY7O3LTiBSyQBOBnv8Ep2ru0SQq3+oSWhNprKN8ZYKDZhBKEbBTxoIf+2FhMQ==","signatures":[{"sig":"MEYCIQCF1Q+A2b/vPew9jYg6kdx0V/e+WNwvCbsVmgKqWxbJ9gIhAO+sFle0kuOW5KcYTD62lkZlLGWZTSMOdexkKwk4wmnz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209709},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b83b7ee.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/84dc4dc1391919b432decff2e148c52c/solana-rpc-transport-2.0.0-experimental.b83b7ee.tgz","_integrity":"sha512-YQ9uvoR8aTW1LWzHqt0GbNjHYUY7O3LTiBSyQBOBnv8Ep2ru0SQq3+oSWhNprKN8ZYKDZhBKEbBTxoIf+2FhMQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b83b7ee_1693472055376_0.5400760198020058","host":"s3://npm-registry-packages"}},"2.0.0-experimental.11d7d74":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.11d7d74","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.11d7d74","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9a680d2027366b96ce4b7af7ae3dbc371cee8a62","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.11d7d74.tgz","fileCount":38,"integrity":"sha512-8sEgmi7iIb6iU7+NWGSFgB+Ezxsc8oOLXPcmqVVIJ93xm5VpiJe1STSiYCQUcX2zMyGe9OrexP0LdXTX3/DE6w==","signatures":[{"sig":"MEUCIEvCJstpWEnoGN0TcR2sBT9TohY6/kbvTHlvd4Xvr+vwAiEAxoZ0WWZtbVtXOr5F4PYfdlpu9n8mykPEtF/Qc6bwWWU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209709},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.11d7d74.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cbfa985261785712ad8e367cac07f3a5/solana-rpc-transport-2.0.0-experimental.11d7d74.tgz","_integrity":"sha512-8sEgmi7iIb6iU7+NWGSFgB+Ezxsc8oOLXPcmqVVIJ93xm5VpiJe1STSiYCQUcX2zMyGe9OrexP0LdXTX3/DE6w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.11d7d74_1693472122989_0.7642481237432159","host":"s3://npm-registry-packages"}},"2.0.0-experimental.78768fc":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.78768fc","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.78768fc","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"48064301331d56aa1251e2fc0972665b37e6b477","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.78768fc.tgz","fileCount":26,"integrity":"sha512-wuRtcT6Mck7hjOlU+b3oS4ga4zP+4mpcs3QfH+yw4/IOrD9g1kaVLWYNvKZLCgffseGRSZmMTcBAoiplK39LqA==","signatures":[{"sig":"MEYCIQD112E3TVd5PGXZQZ4pGheCAjTu0t6RulucdbRD3mce7AIhAJg3WSX7MG++Zv00mtr0ZkpZKVQiWYu/2W8kGOSWHsFP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219750},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.78768fc.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/03406eb72f06eeeb9390c186a78dd955/solana-rpc-transport-2.0.0-experimental.78768fc.tgz","_integrity":"sha512-wuRtcT6Mck7hjOlU+b3oS4ga4zP+4mpcs3QfH+yw4/IOrD9g1kaVLWYNvKZLCgffseGRSZmMTcBAoiplK39LqA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.78768fc_1693499556741_0.3384365576641295","host":"s3://npm-registry-packages"}},"2.0.0-experimental.860959f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.860959f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.860959f","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c05fbffb9b36966e2a39764260b65e9c026f668a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.860959f.tgz","fileCount":26,"integrity":"sha512-pTl5EpFQ1Is0N61IsbVFCInbY6b8Mxq5uIg12ouUMEdowtTWig4auv+GYImYJh+/t2qgfb21aQyyCeQLf6stxQ==","signatures":[{"sig":"MEYCIQDQI9Y/LmMV0CkaWGrmD3Qt2TwQTvWrbdmbJSEGB8f1IgIhAOmSgfKZiyRw57cHukKVwzPr6Vj+8dHkoFrSlwH4/Abu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219750},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.860959f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ead2aa5d1cac4e168e97b197ba42a028/solana-rpc-transport-2.0.0-experimental.860959f.tgz","_integrity":"sha512-pTl5EpFQ1Is0N61IsbVFCInbY6b8Mxq5uIg12ouUMEdowtTWig4auv+GYImYJh+/t2qgfb21aQyyCeQLf6stxQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.860959f_1693557901560_0.07725430686632206","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d6c3cfe":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d6c3cfe","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d6c3cfe","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"80e1e727023aec91101996bbaa2b398b840eaa77","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d6c3cfe.tgz","fileCount":26,"integrity":"sha512-qutGJDDAd3nHC43IgzKEfa0dHunixK3TxUZjLdAcIdzLK3wUpx9sdMTUc+jbGKfoPfZc898y0qqvq75XI/nKzg==","signatures":[{"sig":"MEUCIQDCUwhPYTggC9MvnjP2tsn9GWw0fp0OpJgvGf5mtnindwIgSuScgzu6OIdVyw1gukDWqR7SpIrJaRXe5ZzWkqerwWY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219750},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d6c3cfe.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e6e8b20c61606f66aae3ce7c89026460/solana-rpc-transport-2.0.0-experimental.d6c3cfe.tgz","_integrity":"sha512-qutGJDDAd3nHC43IgzKEfa0dHunixK3TxUZjLdAcIdzLK3wUpx9sdMTUc+jbGKfoPfZc898y0qqvq75XI/nKzg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d6c3cfe_1693558038771_0.583082538781279","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cf6545e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cf6545e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cf6545e","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b669ea3e4bef100ca12c9349df8bf52794223781","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cf6545e.tgz","fileCount":26,"integrity":"sha512-AUNF4NPUH+JS1I9Y2MobtMTdy4xD4NgRicm018mD0EMRWzzwF40Fbz8qOZLfImJjUb6dW8yrMUOPSq4/SZvGqQ==","signatures":[{"sig":"MEUCIGOPiXggXPJWTM1LCFNv4hYxyv+0n63E9MZ74OsFpRODAiEAghbfy1v2F7CAtaqBDB/WAWjvjJPUzYzs0heN6dlzdqk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219750},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cf6545e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/68b7918eb0bf758a593655e376678ec1/solana-rpc-transport-2.0.0-experimental.cf6545e.tgz","_integrity":"sha512-AUNF4NPUH+JS1I9Y2MobtMTdy4xD4NgRicm018mD0EMRWzzwF40Fbz8qOZLfImJjUb6dW8yrMUOPSq4/SZvGqQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cf6545e_1693816492912_0.8917113007705058","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1ddb6b7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1ddb6b7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1ddb6b7","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fb089c46cda2cb8b387a1ad5f8657a376a1e9fd3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1ddb6b7.tgz","fileCount":38,"integrity":"sha512-7OURh5dD4/CeHMlzWp7xkOBE/gfI2zseBC2hbfo4731Lbs9vg25DnPzpxDbcVm/3qhsQsNGh6sQgRk+LDn227A==","signatures":[{"sig":"MEQCIHWxxA372BEsyVcvRwO+R3iAjBz3Xp0KAfPGPEBsVYasAiABiuBttPt8h+hvUmY+e4lUqoCBRL/oW/0ISY/tbCyPYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232105},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1ddb6b7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a9167092e39d644fd6e7dac6117fbef5/solana-rpc-transport-2.0.0-experimental.1ddb6b7.tgz","_integrity":"sha512-7OURh5dD4/CeHMlzWp7xkOBE/gfI2zseBC2hbfo4731Lbs9vg25DnPzpxDbcVm/3qhsQsNGh6sQgRk+LDn227A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1ddb6b7_1693816773054_0.8074214515076854","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6a124b1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6a124b1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6a124b1","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8dde8095cce83c0457abb980b86130745ed2bb8a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6a124b1.tgz","fileCount":38,"integrity":"sha512-rQUjRlCP2s68i2uS0H9pRStCaxh/8A0SL3XDOC1yCW0JF/8ske4eVcoK1WHY39Ix4N0r7j70y1EQ8H2MmJQC5Q==","signatures":[{"sig":"MEUCIFuRwa3qhyxKX8l6ObhABy0IU+jpUL18uU1uKt4lv/zWAiEAnyOFEJJ3Nm0r/S0yrGMNCGezaMp/Vfp44teYYTvJHnY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232105},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6a124b1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/735d7f1eb4449bed969c82767606779e/solana-rpc-transport-2.0.0-experimental.6a124b1.tgz","_integrity":"sha512-rQUjRlCP2s68i2uS0H9pRStCaxh/8A0SL3XDOC1yCW0JF/8ske4eVcoK1WHY39Ix4N0r7j70y1EQ8H2MmJQC5Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6a124b1_1693817154470_0.46536981093121566","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5030000":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5030000","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5030000","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"56c4f49113c576ed5114e4c936b1757f57fddbd9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5030000.tgz","fileCount":38,"integrity":"sha512-R9rDBJrp/dh8wK+Jjj/vd5Asfb8c8j1YKoAVgbJ6MqRBnTN+/CcF5SWTq5EBYh3F3Vsn7HgCf3q/V8/hTByQEA==","signatures":[{"sig":"MEUCIQCvrnLP/ShtAjXh6UHxgZVz413+H4Zu2INRMeR3qiDi/AIgWsaYS9sQQRvQOmnO8PjdW+tf5bL28hkO4ACQuDH3DhI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232105},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5030000.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0ff787d64d3bc36c02ad79540da80803/solana-rpc-transport-2.0.0-experimental.5030000.tgz","_integrity":"sha512-R9rDBJrp/dh8wK+Jjj/vd5Asfb8c8j1YKoAVgbJ6MqRBnTN+/CcF5SWTq5EBYh3F3Vsn7HgCf3q/V8/hTByQEA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5030000_1694122703049_0.28797991286291746","host":"s3://npm-registry-packages"}},"2.0.0-experimental.94b4d49":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.94b4d49","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.94b4d49","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"58655e9f5bac23d0d7ebacaae4f7d0022682c5fd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.94b4d49.tgz","fileCount":38,"integrity":"sha512-TSC9WxXQY/tiurVX6g9RfTKWiszcN3GCuUyM046pj1+Zg5HXfIhDVSbvT+FWrrJyNQkGg3xu+8b7YLM6D3AK0w==","signatures":[{"sig":"MEUCIQDFd56AObslSnX1hzQshVtX2CRX6aOGeCFB43QfK7s1cgIgFXidO3X5fJcDJmGadxAaiLoOx779cuuFK5vFypGcefs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232175},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.94b4d49.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/de1ac00c84204e6bad4d5b40b967ac76/solana-rpc-transport-2.0.0-experimental.94b4d49.tgz","_integrity":"sha512-TSC9WxXQY/tiurVX6g9RfTKWiszcN3GCuUyM046pj1+Zg5HXfIhDVSbvT+FWrrJyNQkGg3xu+8b7YLM6D3AK0w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.94b4d49_1694123130689_0.9590424138123579","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e09b513":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e09b513","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e09b513","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a2fc3abeadb3b7ec05615077728677d8d791b8b6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e09b513.tgz","fileCount":38,"integrity":"sha512-dTD9gDH+N81gqc1FtJd0x7N+/GBUNNH0xiLxfxICtuzOhfVLonJBIUB6GeEYat4Z2BJxfnnt4b3PAsbsES4XwQ==","signatures":[{"sig":"MEYCIQCpamyGvTGljfRU5KkUcpwY9tXx2mm8uc9TjOF0UdUzUAIhAJGYgBEzpE9rzJJXPitsmm8IcG6AMrKsR/Nqp0y/W+uy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232175},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e09b513.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b153037466ca8dab717c24b63bfcc987/solana-rpc-transport-2.0.0-experimental.e09b513.tgz","_integrity":"sha512-dTD9gDH+N81gqc1FtJd0x7N+/GBUNNH0xiLxfxICtuzOhfVLonJBIUB6GeEYat4Z2BJxfnnt4b3PAsbsES4XwQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e09b513_1694207943460_0.9051007009664773","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8ecb622":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8ecb622","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8ecb622","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d279c2f3e066dced3c86177a3ced806def09f0b9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8ecb622.tgz","fileCount":38,"integrity":"sha512-xfPSXGhXP6li0i7TzPR1WjVSuWrv4tTv9XmzhekjsO1yoOhcC0WTXfGPXk/VqnKd8GQBf53uMJwHLXm51ZTFsQ==","signatures":[{"sig":"MEYCIQDC7qLij9MLrHwwF+l41CdgPYp4RSIeLKKiykBZx+VQTwIhAJeJrKAVO76/kf0+3+wg0MaKID0gox2UF/n8kqxMXbZR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232175},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8ecb622.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1e5e59e371210b803e41eb7fbedd2ade/solana-rpc-transport-2.0.0-experimental.8ecb622.tgz","_integrity":"sha512-xfPSXGhXP6li0i7TzPR1WjVSuWrv4tTv9XmzhekjsO1yoOhcC0WTXfGPXk/VqnKd8GQBf53uMJwHLXm51ZTFsQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8ecb622_1694517178340_0.905106100075227","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d26eeae":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d26eeae","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d26eeae","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b7959aa7b674f88d782ba69cbc025c3fd98e86c5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d26eeae.tgz","fileCount":38,"integrity":"sha512-vcIKVvU5/v6n+IXUyeKrLcerDTrI5uKMn0/v19lr9ZOyF0ajjlV515WMq2IYlTZ6qPLk4s1RdirWXb47SNYtaQ==","signatures":[{"sig":"MEUCIQChAKNzG6UrtvLavM+xYJpZq45JfGhGPUx8rXB3nZkwCQIgfl8afGpbe1cvlF0zKr3PoAyBbYUWf73zzfkzSaUR55I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232175},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d26eeae.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e229cbd9141a1e30909e6291e0c3a799/solana-rpc-transport-2.0.0-experimental.d26eeae.tgz","_integrity":"sha512-vcIKVvU5/v6n+IXUyeKrLcerDTrI5uKMn0/v19lr9ZOyF0ajjlV515WMq2IYlTZ6qPLk4s1RdirWXb47SNYtaQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d26eeae_1694531649177_0.8553703465685789","host":"s3://npm-registry-packages"}},"2.0.0-experimental.38decd1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.38decd1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.38decd1","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b709154c3810c109f7f4ae13773259ae25fd07cd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.38decd1.tgz","fileCount":38,"integrity":"sha512-IoMsiAjcxt2mf2O9205ow7Vt3GkEuYxoteQ3AqYETFop6Du5YT13wgeZ/iw9Kl6YdSypuPUd5AyAea6pj6m2Gg==","signatures":[{"sig":"MEQCID+c+wYF7NrBXtlGlC+61ywvlDXIhWTaDINZJj2Ekr1VAiBrOZFQlUNxA1K/s1SnozGA5leT/dHBvhgCJteRGsPCMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232252},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.38decd1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/491f54b5c01faa9a6d8cefe0139eb2fe/solana-rpc-transport-2.0.0-experimental.38decd1.tgz","_integrity":"sha512-IoMsiAjcxt2mf2O9205ow7Vt3GkEuYxoteQ3AqYETFop6Du5YT13wgeZ/iw9Kl6YdSypuPUd5AyAea6pj6m2Gg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.38decd1_1694553758149_0.150387840145219","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b8960ad":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b8960ad","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b8960ad","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f622c878a2415d30b31f804b607705e7485bbf25","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b8960ad.tgz","fileCount":38,"integrity":"sha512-3ljZe1r/HvwQZNAGMNtpjAB7bqzeHVk08BFKN8UII1CUaMIkUpNi05/JAKmfNwU9BmC2M7pVXktQN96yqGPu/A==","signatures":[{"sig":"MEYCIQDL0j9Tuz/ebVVdDijb+Lq9SPy9rsN381cSrmguTPRC5gIhAPnrwIBdNn/BxaFszeB12w6dLg7uWa4k22nGqgSRKG9x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232252},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b8960ad.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/98b9554e67c0bb5e7be9de072e34efb2/solana-rpc-transport-2.0.0-experimental.b8960ad.tgz","_integrity":"sha512-3ljZe1r/HvwQZNAGMNtpjAB7bqzeHVk08BFKN8UII1CUaMIkUpNi05/JAKmfNwU9BmC2M7pVXktQN96yqGPu/A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b8960ad_1694559756214_0.30159825552182995","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b074b89":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b074b89","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b074b89","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1ea8e4083d2ffa2d21b5bf12f9459d91fd818570","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b074b89.tgz","fileCount":38,"integrity":"sha512-xTAuqERLcrMgSBalcdG8t8EBbCGSFtRZ0b/CrT+l4cnyC6B4rR6ZufqP5tAHikG1xXUEbS3JT/qKBXwYcAtFnQ==","signatures":[{"sig":"MEUCIQDagWVQGvV5Btvjq4IE1SlOPM8W4A2SKrMPdQOOjdbaoQIgGIkrc3pKqUt0J0m10rM4XdjRkpt5dToFvfovmFD2hOw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232252},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b074b89.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b0f9bf4f0c845593ba179c01b0e11ad9/solana-rpc-transport-2.0.0-experimental.b074b89.tgz","_integrity":"sha512-xTAuqERLcrMgSBalcdG8t8EBbCGSFtRZ0b/CrT+l4cnyC6B4rR6ZufqP5tAHikG1xXUEbS3JT/qKBXwYcAtFnQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b074b89_1694559884516_0.7236207477011309","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c0430ba":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c0430ba","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c0430ba","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1230e0ce1f528c8614887204f354933e807d484c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c0430ba.tgz","fileCount":38,"integrity":"sha512-nHHkN9HYGqaT9EEGUx9bqhVeLkC9sFO9NkqkcCdI18RMQS0teYPw6Fg7+BURNuvj8TvPvWaC735o+oZPZXk6KQ==","signatures":[{"sig":"MEQCIBWZWM7nih1lBD3DHX0a2Uv20E5aKyomhtY5zPwUnwdVAiAFuz79xy3SVUawe9F/ZTEPH8qx72HCmlMMCA85nHlF/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232252},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c0430ba.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/902f9e191f6fb4e86d3c1d1f23bc2b79/solana-rpc-transport-2.0.0-experimental.c0430ba.tgz","_integrity":"sha512-nHHkN9HYGqaT9EEGUx9bqhVeLkC9sFO9NkqkcCdI18RMQS0teYPw6Fg7+BURNuvj8TvPvWaC735o+oZPZXk6KQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c0430ba_1694594994316_0.7589795779816892","host":"s3://npm-registry-packages"}},"2.0.0-experimental.53a2f8c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.53a2f8c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.53a2f8c","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fc566720040ec2d4543a8ee5a41e8ab499e37ce9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.53a2f8c.tgz","fileCount":38,"integrity":"sha512-ab07HsYaZZnRMeMVY6ib2cefhnLvp1diX/sijEP20222M34mOFeZ46tN763ROSWGcsw1ltZJHCXZYxxnUTiUAw==","signatures":[{"sig":"MEUCIExXWMvua0jMwti1BobD+DLN+0MN8VZJxTHrDUQ+7m8eAiEAqfKvwHvGHfiad8dZcSnhX8C5nJjVegE0/qZ42NKeO0E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":232252},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.53a2f8c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f2a7854d026761e4f9c72ae920a1040e/solana-rpc-transport-2.0.0-experimental.53a2f8c.tgz","_integrity":"sha512-ab07HsYaZZnRMeMVY6ib2cefhnLvp1diX/sijEP20222M34mOFeZ46tN763ROSWGcsw1ltZJHCXZYxxnUTiUAw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.53a2f8c_1694595186559_0.5900362021714729","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b9c1a94":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b9c1a94","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b9c1a94","maintainers":[{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"jack-solana","email":"jack@solana.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"bartosz-lipinski","email":"bartosz@solana.com"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"eab43f32731c19ba8b61b4bbdd3e6371cc09955a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b9c1a94.tgz","fileCount":26,"integrity":"sha512-Qhxr96HPKh7Od5iZPOrNx8yyjw+G3SfFC1sSSoQfIjZle9jxb0tUtpSEKVxXxx5TmI8Pqdu1rInHop5BR9Uhdg==","signatures":[{"sig":"MEUCIQC2Xu4/wfe+KiyxtEfx6yvQS4w9Nqu8vydotooMOrtNZwIgIj0ASDQ56jr5eWp6yTUhmAcAx2gg1dvWXObW6ieEP4k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":219897},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b9c1a94.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/92d1aee42a91a454aebb2426be5b46bf/solana-rpc-transport-2.0.0-experimental.b9c1a94.tgz","_integrity":"sha512-Qhxr96HPKh7Od5iZPOrNx8yyjw+G3SfFC1sSSoQfIjZle9jxb0tUtpSEKVxXxx5TmI8Pqdu1rInHop5BR9Uhdg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b9c1a94_1694595575830_0.1354173844532749","host":"s3://npm-registry-packages"}},"2.0.0-experimental.82bbf6f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.82bbf6f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.82bbf6f","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"72417717872ab0600bb4b559590fffa85de312d7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.82bbf6f.tgz","fileCount":38,"integrity":"sha512-QKn8qkIqq0vNklS6uKrSm9FtLXg/8EBItDpQK2TfBaUkuBDbaGjsKjDcGRJZ6dQwHsRQES0OHhHLQox2NUBqzQ==","signatures":[{"sig":"MEYCIQC56T4U8r6MVhjiH04lCVlX/bYON9RN8NDbvKVpZEM+IgIhAOrXjjnKTKyoMwCOpnnTyCv1/1+6QV6c4Wbn6QwwWFvH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":271907},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.82bbf6f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1dd47dee6b435732d5a31211353598f2/solana-rpc-transport-2.0.0-experimental.82bbf6f.tgz","_integrity":"sha512-QKn8qkIqq0vNklS6uKrSm9FtLXg/8EBItDpQK2TfBaUkuBDbaGjsKjDcGRJZ6dQwHsRQES0OHhHLQox2NUBqzQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.82bbf6f_1694645377178_0.8454954158969374","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d93f1ad":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d93f1ad","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d93f1ad","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b2acd9feaa9acb02896cc25674bbf093aa5fece4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d93f1ad.tgz","fileCount":38,"integrity":"sha512-iXRa6W96R9d3eOJOx7Zynu/whMLaeHrkhDvbViXOc+JY6PLumIHCsXXZvtIT5HhAJy7SAQDSURKa4jtGGbAfRQ==","signatures":[{"sig":"MEQCIHLhekXYM7+Sb9AOn62FByjOAuYsJIFaZd3FvjPnqJ32AiBo/y9KuTxwpHnPTPGn8CxtZBvWkubCsCRWiJgAB9eYTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":271907},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d93f1ad.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8e35b06d3c4350f69389b187d1712465/solana-rpc-transport-2.0.0-experimental.d93f1ad.tgz","_integrity":"sha512-iXRa6W96R9d3eOJOx7Zynu/whMLaeHrkhDvbViXOc+JY6PLumIHCsXXZvtIT5HhAJy7SAQDSURKa4jtGGbAfRQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.3.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d93f1ad_1694681654303_0.006633337366772851","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bba4a25":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bba4a25","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bba4a25","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"931bdd1ba3ee90f39e9bc9e470fb0e24541abc2e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bba4a25.tgz","fileCount":38,"integrity":"sha512-t/lz6iLLY+oBVZEeGo5YFkXpdmbWMnuHgxN4margi0yUb5Z+EU/DJuR+3VWUANrakL1KYTDPiKme0C2WcU3Naw==","signatures":[{"sig":"MEUCIF3GwLvk/jNBfqiUcf6AY6bXYhqNereri1V+cSekXgw7AiEA8AjMtFvqSAu1XjaIajSMGmBz6rZdQZ4Xj2Zin3n7lBk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":271907},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bba4a25.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ac525d1286d48f81a20522c9b5a9161b/solana-rpc-transport-2.0.0-experimental.bba4a25.tgz","_integrity":"sha512-t/lz6iLLY+oBVZEeGo5YFkXpdmbWMnuHgxN4margi0yUb5Z+EU/DJuR+3VWUANrakL1KYTDPiKme0C2WcU3Naw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bba4a25_1694682482870_0.17089720872543435","host":"s3://npm-registry-packages"}},"2.0.0-experimental.506779":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.506779","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.506779","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e1ba806d236eaf51cf2ea20de1bef5a4556a406d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.506779.tgz","fileCount":38,"integrity":"sha512-Hyn+dRS7pCViJpD0pBL8imL9qD5v0HWlwzmPGV/Px+XXQu3MCXxGYjLxfXWrLEqb6tWWQJnfJxl0Nslip5uP6g==","signatures":[{"sig":"MEUCIBEV2ldDq1Shw4aehMT5LimrkaA/aYyex3Mr64Tv+UsgAiEAuqt3OvZDoWjy+FDEFZLdIYXfcF6GalM/qQnMtfDGebE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":271906},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.506779.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6f8100bf057ef83354d18c72820976d0/solana-rpc-transport-2.0.0-experimental.506779.tgz","_integrity":"sha512-Hyn+dRS7pCViJpD0pBL8imL9qD5v0HWlwzmPGV/Px+XXQu3MCXxGYjLxfXWrLEqb6tWWQJnfJxl0Nslip5uP6g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.506779_1694716902981_0.7169586794103953","host":"s3://npm-registry-packages"}},"2.0.0-experimental.25a15aa":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.25a15aa","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.25a15aa","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"11a4dec225291c7700c1d9f2f0e383c09f89d1b6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.25a15aa.tgz","fileCount":38,"integrity":"sha512-pq4Q+lg7s3qzUT7coKCyyguQTt6teb8V5wbzd6CGIhlhDu6kglQrCDMKY9fK28bJ7gfCt4zke2zSulvRoyB7DA==","signatures":[{"sig":"MEQCIG3JZKWR5qJW23et0HRGLxyWo0JzrIvNbeLIHbAmn1aSAiB1Vd5Z0R/NTFAvEGoa/A1yDEurcMt+nno1xJbBPB1VXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":271907},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.25a15aa.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/971c7a8a3794cf44b7dc9b036147836f/solana-rpc-transport-2.0.0-experimental.25a15aa.tgz","_integrity":"sha512-pq4Q+lg7s3qzUT7coKCyyguQTt6teb8V5wbzd6CGIhlhDu6kglQrCDMKY9fK28bJ7gfCt4zke2zSulvRoyB7DA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.25a15aa_1694769612833_0.768894679316591","host":"s3://npm-registry-packages"}},"2.0.0-experimental.497de05":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.497de05","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.497de05","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a3f42131655cab02fb8fefe9c124ea27ccd8c7f4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.497de05.tgz","fileCount":26,"integrity":"sha512-z1eTdpuqgQUiKxDpFcmXRvcspM4/sweq8kTF7nZUvNJHuye7Uf3QRIlZywRnvAcuLouxDuJkg9TnV+4IrRmmjg==","signatures":[{"sig":"MEYCIQC3WQS1AuH13Y+kt02F49R7G/WzSdBRSPztIvNRj00YQAIhANhRDfkMfvFVsHLHcR9N9LaISqOSolhbsw3FHQcrPfJr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":244280},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.497de05.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cc2f378383d63775a3adde6c183aedf2/solana-rpc-transport-2.0.0-experimental.497de05.tgz","_integrity":"sha512-z1eTdpuqgQUiKxDpFcmXRvcspM4/sweq8kTF7nZUvNJHuye7Uf3QRIlZywRnvAcuLouxDuJkg9TnV+4IrRmmjg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.497de05_1694799324612_0.9513016049222678","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3536b48":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3536b48","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3536b48","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"656468cf539215637ee3df7f801db572dd231f5e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3536b48.tgz","fileCount":26,"integrity":"sha512-gohwHAHAuFhF7J3Cbxu5poMwPOlJ1nQUZin8Ed+bChH6SK+KkyL/dIEx0xi7tBfFxYjXpYKMO1dE/aoLWtm49Q==","signatures":[{"sig":"MEUCIQCX1XSm+Wf06aOT5gvjKNGG+Ym7qds4XQ2JxgrzjGNEBgIgHw8OzZSrUFvf69nsvptSkTepy6Thyoxvwexxvg3aR7k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":244280},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3536b48.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/42300ce52661a24ca041b014c0e056e1/solana-rpc-transport-2.0.0-experimental.3536b48.tgz","_integrity":"sha512-gohwHAHAuFhF7J3Cbxu5poMwPOlJ1nQUZin8Ed+bChH6SK+KkyL/dIEx0xi7tBfFxYjXpYKMO1dE/aoLWtm49Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3536b48_1694804448175_0.08473798199439009","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1d59f0a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1d59f0a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1d59f0a","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8aae7e9e88634887f882cbe3d8f74a26bed6dcaf","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1d59f0a.tgz","fileCount":27,"integrity":"sha512-Rz7jHLQnse/LUE47pRwa7iB21sIbTGqcXOHsnuvoCldmepGdquBWBThYH3WQ6Gk2GIY9TkPZWSQhLLEiMd21/g==","signatures":[{"sig":"MEUCIGhDfiMnD5RqXp7R9LkInx/MgfFNW6VV2DbMI3M7JJjgAiEAudJhfu/N0HcIsaj+XqN1oNvduiaLXEVt+NLsZ0dTWEw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308013},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1d59f0a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5ff3e267b7c1fb335afb91bfeadd4e76/solana-rpc-transport-2.0.0-experimental.1d59f0a.tgz","_integrity":"sha512-Rz7jHLQnse/LUE47pRwa7iB21sIbTGqcXOHsnuvoCldmepGdquBWBThYH3WQ6Gk2GIY9TkPZWSQhLLEiMd21/g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1d59f0a_1694804494587_0.7312184179380676","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9a059de":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9a059de","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9a059de","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ba41e3a25ee1a1f7d529468eda0ae827f14c6c96","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9a059de.tgz","fileCount":27,"integrity":"sha512-tvrA2/1Bq5TexZh4ZrvYmlbY92YkvCaXpqEsezMI0pmcaKI77wLsLI2HoawXfwbI2PiPzwJ6S+0LVk5KhgxXGg==","signatures":[{"sig":"MEUCIA0sqj/C4Zb11ie9AG8LfBMpjcyGX2EGY04FDQE3vsjRAiEA3vdnAt+un/GivzvdynM1vmu+Ar3ornUkLtmApS4bti8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308013},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9a059de.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1c67d6e107ca37c9eb54be3ce6767d84/solana-rpc-transport-2.0.0-experimental.9a059de.tgz","_integrity":"sha512-tvrA2/1Bq5TexZh4ZrvYmlbY92YkvCaXpqEsezMI0pmcaKI77wLsLI2HoawXfwbI2PiPzwJ6S+0LVk5KhgxXGg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9a059de_1694804501063_0.9220297710677678","host":"s3://npm-registry-packages"}},"2.0.0-experimental.91700ed":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.91700ed","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.91700ed","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b91d3fad7a67a79954fee868077ab8c85c7fb8aa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.91700ed.tgz","fileCount":27,"integrity":"sha512-jTagvhpR8/+Kcd8oZflMPsl/WSUiEm7TbYnELZ43ak3E1XR3iZy1b/UlxCXvsl+sR8nAjHQ5knjhjgfDfqYv5w==","signatures":[{"sig":"MEYCIQDNRLwtVls66lFTr99/8pYnnvPwCeebqcvMSEgo6HQ0LgIhAONUb2WigyyR5rhKjCxFQDN0rz3bQSbpJF16EtCgJyO6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308013},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.91700ed.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c622e61c95c9f1585b46672f721b76b7/solana-rpc-transport-2.0.0-experimental.91700ed.tgz","_integrity":"sha512-jTagvhpR8/+Kcd8oZflMPsl/WSUiEm7TbYnELZ43ak3E1XR3iZy1b/UlxCXvsl+sR8nAjHQ5knjhjgfDfqYv5w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.91700ed_1694804563522_0.6313502934342607","host":"s3://npm-registry-packages"}},"2.0.0-experimental.28a54d0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.28a54d0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.28a54d0","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7718990db3a76206f3c6293dc05eb5ef7bc90593","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.28a54d0.tgz","fileCount":27,"integrity":"sha512-Z80It+nuv8NT5CzQeUelkDAq3caLXFUCTQwz3NjtVSi12KhBwTRwHxLrtbV6r9DNPfVBZBKEXQPMS6RHHaXUpg==","signatures":[{"sig":"MEUCIQCldf1hQEv1tpwHhiHv2+KCKsq+HcUE3mxKyf3V0yyGagIgDRTVO5y8PQFUh9Z0uMIH/Sq2PuhREWA8ipWCGLbzv2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308013},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.28a54d0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0edd87b9b65375e65ad476ef22f1e559/solana-rpc-transport-2.0.0-experimental.28a54d0.tgz","_integrity":"sha512-Z80It+nuv8NT5CzQeUelkDAq3caLXFUCTQwz3NjtVSi12KhBwTRwHxLrtbV6r9DNPfVBZBKEXQPMS6RHHaXUpg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.28a54d0_1694804636185_0.9846876763136352","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3c38083":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3c38083","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3c38083","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"37096d6fe074fd6c2af807775d569f522887ffcd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3c38083.tgz","fileCount":27,"integrity":"sha512-GDG/hFdWxpyqF0+ul1M2QAcZ+EnhMPUXtFEo7cVFdGlVOSwu7iolkPza3PCDlPxH/rCUSoBD9O5DqEIQjGACFA==","signatures":[{"sig":"MEUCIQDHIZa1sKMqnWzFKfw+Sn5+B0N6i+Ts1mVflRKsVgvdEQIgAL47OS+2oNiWznBxnNklYMkgB8LVUxStF1N1qPz9uaQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308013},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3c38083.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1a26d895d783b23ef6fed67787f15a7c/solana-rpc-transport-2.0.0-experimental.3c38083.tgz","_integrity":"sha512-GDG/hFdWxpyqF0+ul1M2QAcZ+EnhMPUXtFEo7cVFdGlVOSwu7iolkPza3PCDlPxH/rCUSoBD9O5DqEIQjGACFA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3c38083_1694804671397_0.03671581453692907","host":"s3://npm-registry-packages"}},"2.0.0-experimental.22a4e54":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.22a4e54","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.22a4e54","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c1c050819552854e380bd1a452a3f44cb17b4bf2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.22a4e54.tgz","fileCount":27,"integrity":"sha512-1LOex0AXEELVaMzBGD2aH6DUhDC5bEq/zT/Cgw/tB6NAaRD+v0lEHSOlttIz6ZFIdVwCAdRlChlQ31vILrDZ0w==","signatures":[{"sig":"MEQCIAclvTrAXCG13ypXiRGdHkbbkwHf0A5zQo8sErxvofVWAiB2T0iwcIhI0yDnWcPXITXOsAek1XMlxwcxjZ74TARPzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308013},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.22a4e54.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/72d42158ea460ab87b0c0e9b8bf8d95f/solana-rpc-transport-2.0.0-experimental.22a4e54.tgz","_integrity":"sha512-1LOex0AXEELVaMzBGD2aH6DUhDC5bEq/zT/Cgw/tB6NAaRD+v0lEHSOlttIz6ZFIdVwCAdRlChlQ31vILrDZ0w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.22a4e54_1694814980734_0.8849878430878404","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a8f1f88":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a8f1f88","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a8f1f88","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"318d70cba74f74371a20a01278a0628409a57f62","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a8f1f88.tgz","fileCount":40,"integrity":"sha512-qj4eoUz5SBQw2UKYudXFaVhGOH8XGAnXUOCLh5ZpKxgjawxdT4VXP3MR3Z7BTmykkbf2iiBmis+2zEc9FeRkaA==","signatures":[{"sig":"MEQCIDRImRBdIl4GIphhXv+E8ReO9MeUir8kqrwfhIgF50HqAiAwgQ1XQlkAkjwddHmiEIigN2R52GthswxIiS0Q3R032g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a8f1f88.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/034a03b612fbe97d3f85b2832897c497/solana-rpc-transport-2.0.0-experimental.a8f1f88.tgz","_integrity":"sha512-qj4eoUz5SBQw2UKYudXFaVhGOH8XGAnXUOCLh5ZpKxgjawxdT4VXP3MR3Z7BTmykkbf2iiBmis+2zEc9FeRkaA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a8f1f88_1694815070513_0.29209055182913746","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2a70690":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2a70690","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2a70690","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a543053c120e3340c046f663e63cc03a0a974bb3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2a70690.tgz","fileCount":40,"integrity":"sha512-OF7QpW5tCrXN0Bmqfju99AVdKKdLM5cY3n4pU/ZnQDMkP//0LpvEZRd5uhkgBKP4W6FweXG1tRfYC106GE774w==","signatures":[{"sig":"MEUCIA77u0PEp082hRKF57aIlPBE8gqx3ZSgeuC/L+IEcP2kAiEA9nc+WZtnJoDNiLa3AK2KSwHBQudazL2NRI6HENssIaU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346509},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2a70690.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/615941af1ffac71a15c4ba7633b767d2/solana-rpc-transport-2.0.0-experimental.2a70690.tgz","_integrity":"sha512-OF7QpW5tCrXN0Bmqfju99AVdKKdLM5cY3n4pU/ZnQDMkP//0LpvEZRd5uhkgBKP4W6FweXG1tRfYC106GE774w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2a70690_1695092617218_0.10029839458717693","host":"s3://npm-registry-packages"}},"2.0.0-experimental.92b6983":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.92b6983","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.92b6983","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"78423ff1a88f2f855da0b7fec5973875b0c6e392","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.92b6983.tgz","fileCount":27,"integrity":"sha512-STmzRGYHU5GWMxCh2O/Imli6YQkReWP5gMlYAMgk6ts4nEpsSqs5avBeiEalAE+PtBmNe9XhT0jiQMNrYkyVnw==","signatures":[{"sig":"MEYCIQDcmOEMtZRok2VKnZ0auqDAvIvZ1O8bGPEaODFjetKuSQIhAKxnd6m41p/k5JqmmEnpkIu/wQWZM3GCjSKn29zAIqls","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.92b6983.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/56250bfb8c36631e6234a631a2294939/solana-rpc-transport-2.0.0-experimental.92b6983.tgz","_integrity":"sha512-STmzRGYHU5GWMxCh2O/Imli6YQkReWP5gMlYAMgk6ts4nEpsSqs5avBeiEalAE+PtBmNe9XhT0jiQMNrYkyVnw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.92b6983_1695245152510_0.7470337172893973","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b463a7a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b463a7a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b463a7a","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"da773021d5fd797e7e032d3242c21d83fda377b2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b463a7a.tgz","fileCount":27,"integrity":"sha512-+cxL4CzDpC5gx9hqNwtn3WcI9aWrLfg6BCRpwuSUNkYF2I9kvxSxe33/8LGcvicZOBycFnN+5tiqYzTY5bxiXQ==","signatures":[{"sig":"MEQCICYMmj4Pv+oYX/sqEm+GpKRA+ok0EpRzn/x8939Wdmn1AiAs0DHo4IErYSXBfDdsNzC+qvyWxH/Wch/IaKGubDeWEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b463a7a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/86f592fcc6bf7378adefafb9b04afa92/solana-rpc-transport-2.0.0-experimental.b463a7a.tgz","_integrity":"sha512-+cxL4CzDpC5gx9hqNwtn3WcI9aWrLfg6BCRpwuSUNkYF2I9kvxSxe33/8LGcvicZOBycFnN+5tiqYzTY5bxiXQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.6.1","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.3","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b463a7a_1695286537114_0.7444259748906088","host":"s3://npm-registry-packages"}},"2.0.0-experimental.777610f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.777610f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.777610f","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dba43e12e7a10cecc76aee741a5d97f1273a73cd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.777610f.tgz","fileCount":27,"integrity":"sha512-uCO7OUYYPqfA1UqtiCWdZCTH09B46d0i8Er/QB9Mw53AMMTQoSFo+riyYtAr3OZnx7AY+ZVx19e0uO4cOmO6sg==","signatures":[{"sig":"MEQCICPLL38fqYJCHYqKy6E4T+1LB0jrTRprF4JtcOxdBQ2YAiA9aOcd1X8GK1ULLmIcy+gqGbg+MdwPphRpYlVso2RJRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.777610f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/547b9a222bfc9bd867299b10559332e5/solana-rpc-transport-2.0.0-experimental.777610f.tgz","_integrity":"sha512-uCO7OUYYPqfA1UqtiCWdZCTH09B46d0i8Er/QB9Mw53AMMTQoSFo+riyYtAr3OZnx7AY+ZVx19e0uO4cOmO6sg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.777610f_1695286632714_0.20785381034067907","host":"s3://npm-registry-packages"}},"2.0.0-experimental.490159e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.490159e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.490159e","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8efd947e778a7a689af897d472f1f580c3ddcc9e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.490159e.tgz","fileCount":27,"integrity":"sha512-bZMENJd2SzapOgXZ88JBnURX7zkN+hynnltQi0szMpyiwR8bvoItv6SQzUDmqLYzqnEH/UeymK0S6y78sj585Q==","signatures":[{"sig":"MEQCIHMqmwp6GCBbOovWDACp3SCJKwEfS0cPSAj7Jxl/oAOcAiBH5Uh7tyArrlxLpHac4zvma81sa5nDczg8keS2Mk8wAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.490159e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1aaa697fa159b27924936e40187eb4a0/solana-rpc-transport-2.0.0-experimental.490159e.tgz","_integrity":"sha512-bZMENJd2SzapOgXZ88JBnURX7zkN+hynnltQi0szMpyiwR8bvoItv6SQzUDmqLYzqnEH/UeymK0S6y78sj585Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.490159e_1695405475230_0.09864189907425791","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c93679a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c93679a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c93679a","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"bea30dd95e1ae7ecfd0bbdd2b0309ca444cbb54a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c93679a.tgz","fileCount":27,"integrity":"sha512-9STREX/vzpO5WNu2oeQYb6Lt0a2zKgh3PCkSH6tKpz0Ab6C00jdxpPDjn3w5VWmd8nHmC1eCUSeHKLaUOulTKA==","signatures":[{"sig":"MEQCIFit1kPc8SJ34TGWh69TUEaGQ78D6UZz22qqNsuujzN1AiADH9zkw6isyNVdJ22GXpPRTlVxiF2L2WaHYnF3JvDa+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c93679a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/55f09049b30f62fa7cc1ccb0626c1302/solana-rpc-transport-2.0.0-experimental.c93679a.tgz","_integrity":"sha512-9STREX/vzpO5WNu2oeQYb6Lt0a2zKgh3PCkSH6tKpz0Ab6C00jdxpPDjn3w5VWmd8nHmC1eCUSeHKLaUOulTKA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c93679a_1695405671805_0.6556761939810893","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4747ac5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4747ac5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4747ac5","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b39ebbe95ad5cd65f535b0300734f87d6c56ad93","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4747ac5.tgz","fileCount":27,"integrity":"sha512-oWBak2W+Dxx87WYzrPf8oB6e3Lm7bWL2bA7HY5Dhx5G9j4lMLPJL8ZqEfU5yKa41iW5GwQtGQCjBr+KwrlWYfg==","signatures":[{"sig":"MEYCIQD+/5Dkr5NMpJQOl5x7CWAHqO+TcbgenQ6m4TNyLxHeGQIhAJipWqGKqe/G/lP/YP7X/9hO8mA+lpsDMEWeIh2Yw7dk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4747ac5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c6b81c7a08c6343d8cea829f6963e305/solana-rpc-transport-2.0.0-experimental.4747ac5.tgz","_integrity":"sha512-oWBak2W+Dxx87WYzrPf8oB6e3Lm7bWL2bA7HY5Dhx5G9j4lMLPJL8ZqEfU5yKa41iW5GwQtGQCjBr+KwrlWYfg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4747ac5_1695669301916_0.7568961987945872","host":"s3://npm-registry-packages"}},"2.0.0-experimental.461b4ce":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.461b4ce","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.461b4ce","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4585d6dd5bfa81009a7c1ad6f9f13dbab8858fab","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.461b4ce.tgz","fileCount":27,"integrity":"sha512-s8zluAm0Dx+jgB9blifefPEWkGNkWadrC+2bUSVF3M3J+d7j6Q6sXB994vEKSSlNibF5tgFXNK9txRIqAOpTwg==","signatures":[{"sig":"MEUCIQCXCf0FZeG5ytKrdNR1zSQS/2xhGmJmKKkZi0qXrHllIgIgQLnyO7ogUipEQCKEQ1/GsH+3LHzYZjMJW1NBYGxUs04=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.461b4ce.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e38fddb913052c42fb826e5e641c0ca1/solana-rpc-transport-2.0.0-experimental.461b4ce.tgz","_integrity":"sha512-s8zluAm0Dx+jgB9blifefPEWkGNkWadrC+2bUSVF3M3J+d7j6Q6sXB994vEKSSlNibF5tgFXNK9txRIqAOpTwg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.461b4ce_1695669507281_0.35099636783184973","host":"s3://npm-registry-packages"}},"2.0.0-experimental.73d8f64":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.73d8f64","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.73d8f64","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"25e88ea6dc5fb7c82b56f702138f88b69fbb8b40","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.73d8f64.tgz","fileCount":27,"integrity":"sha512-1JH59cSo39790q7PKlIsAfy7Yvr5VZiq5dzAEqDcUAfJLQAK9dBuHF5Ztcwz2rEVsMnOhOQ/jCsNOMbhDOMusA==","signatures":[{"sig":"MEUCIA7LXor4EAsPEqQjl157KHZf/VzqmHVBJm0FUAWEDQl7AiEAmUSUhzYVOxx3267ODBM6afRbRDwHZuID7rMEnwyB2fA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.73d8f64.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3dbabd3532289d4aeecd0f1959cc6d1e/solana-rpc-transport-2.0.0-experimental.73d8f64.tgz","_integrity":"sha512-1JH59cSo39790q7PKlIsAfy7Yvr5VZiq5dzAEqDcUAfJLQAK9dBuHF5Ztcwz2rEVsMnOhOQ/jCsNOMbhDOMusA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.6.7","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.17.1","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.73d8f64_1695815287306_0.7168061947178359","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3e065e6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3e065e6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3e065e6","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"21a2a7084d40bb282d2cb122e884d6dcf9eee0e8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3e065e6.tgz","fileCount":27,"integrity":"sha512-u0C1SdNqX0v5KvIrZ5IW6dG2iB+13x6XtPqYdi/KaOMvQi79ANtHhuu5i99SP5C6CLrNEZJEZ2bd6l5KxRKUKQ==","signatures":[{"sig":"MEUCIQCi5+9JfPwBOiug8EDHc9Eo/7Wi4wOGinrfPW9vuBHIQwIgQvnh+yvIMKnwQxzgA9E9hn6uo/P6CKFWAENVsc8KyqE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308319},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3e065e6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/92ea4fcc75d80889bf5853fcf9ca18db/solana-rpc-transport-2.0.0-experimental.3e065e6.tgz","_integrity":"sha512-u0C1SdNqX0v5KvIrZ5IW6dG2iB+13x6XtPqYdi/KaOMvQi79ANtHhuu5i99SP5C6CLrNEZJEZ2bd6l5KxRKUKQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3e065e6_1696032159761_0.16522192932709778","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8f006a8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8f006a8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8f006a8","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f2a61864a340549e26b29b9cd541974a6507ce1c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8f006a8.tgz","fileCount":40,"integrity":"sha512-A76zZWoUilNqYYWxgV+JXUO2G6L6wvtdJhuhDTnL8DJ6cFzvEg64kb2KHvICYfSS6GnI0hSiQDSYmsfEufcPBw==","signatures":[{"sig":"MEUCIA/DXtP3VdZPzLVz1qYFMk56ObSjz8u/G65vTrrQlHEAAiEAwfPz3F+cnfb62QAZLSY01pWVN9P7LoqF4UiTwZ5195I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346541},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8f006a8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5aa9f212c9b416d2dc836a97f4609f07/solana-rpc-transport-2.0.0-experimental.8f006a8.tgz","_integrity":"sha512-A76zZWoUilNqYYWxgV+JXUO2G6L6wvtdJhuhDTnL8DJ6cFzvEg64kb2KHvICYfSS6GnI0hSiQDSYmsfEufcPBw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8f006a8_1696033690946_0.4086109329660257","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c0c57ff":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c0c57ff","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c0c57ff","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2657230cbb1020abdde5b1339011bf58c9164ed7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c0c57ff.tgz","fileCount":40,"integrity":"sha512-JxzDM6yrA9Un5gG/KZB02FKohRVwKyxc+EzMWZkg3W5bK67T+xblZRYHHD0Q0etsMIIlHxLdevscJz8drnYoKw==","signatures":[{"sig":"MEUCIDKDD+Xsl/2SEcJEyzcpS5v7/ZIuAWO1NRCw7rvoJ/PIAiEA8VQxS/df5HR3F2ZR8Wc7FuQtUeZEMopT8C+LxPtYW1s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346541},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c0c57ff.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c1cde333394b6ffcc38e48d7d72700bc/solana-rpc-transport-2.0.0-experimental.c0c57ff.tgz","_integrity":"sha512-JxzDM6yrA9Un5gG/KZB02FKohRVwKyxc+EzMWZkg3W5bK67T+xblZRYHHD0Q0etsMIIlHxLdevscJz8drnYoKw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c0c57ff_1696033873617_0.35272179181156704","host":"s3://npm-registry-packages"}},"2.0.0-experimental.da22638":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.da22638","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.da22638","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dbd9f4613f8fa26f475bfd6a94583d99cc1fb6b1","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.da22638.tgz","fileCount":40,"integrity":"sha512-eXvRx5ExlCRdBioqTfUcV89fkxOY6+GJ3nQ/exreFA+GU7+keo3F762h5qy4UItd3TBNVTs77AEkRP34ryhtnA==","signatures":[{"sig":"MEQCIA/twNFeco+/FE7aA3FlJNDBMYl5jpB17/PpM6QZqZDuAiAn0I/WBTNJdZ2Jw4HmrncTV3fq/Qz4uNLn0MfZpxg8Xg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346541},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.da22638.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9d01f70c66e2bb97da2b955620b08228/solana-rpc-transport-2.0.0-experimental.da22638.tgz","_integrity":"sha512-eXvRx5ExlCRdBioqTfUcV89fkxOY6+GJ3nQ/exreFA+GU7+keo3F762h5qy4UItd3TBNVTs77AEkRP34ryhtnA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.da22638_1696093990614_0.47565293193303115","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cd89114":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cd89114","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cd89114","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"aa6898381559134d3e46d0dd48be3f1bcc103e3c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cd89114.tgz","fileCount":27,"integrity":"sha512-J0ML0U72eHeQ5T8XFyQdjavfC4MPKdOm7X0xHlZRyYyEZR+8AFyoJiOPgSaDS8XjCUslJDRXqDlvxcgsBJ8Bew==","signatures":[{"sig":"MEYCIQDn/6j5gYBX+A6ZRbagUxBgcD3XgS2zxZtNdDnm5Pk3rAIhAMgbzbGiVLsfyg39DMhCWc4jdWIYjNHOq7MfQ+C07xQq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cd89114.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/11d4a5508071ee48400055e75a3cfb66/solana-rpc-transport-2.0.0-experimental.cd89114.tgz","_integrity":"sha512-J0ML0U72eHeQ5T8XFyQdjavfC4MPKdOm7X0xHlZRyYyEZR+8AFyoJiOPgSaDS8XjCUslJDRXqDlvxcgsBJ8Bew==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cd89114_1696364478191_0.6926007377893657","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2296a15":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2296a15","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2296a15","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d6a69356180cdccd52c96764928c8ad4cbb25ec6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2296a15.tgz","fileCount":27,"integrity":"sha512-YJgDS2IEdKF7Zzb77mV3e7ySNuU55KdDOPogxEv1Y220RBkd8X+NcXujnTu+h1OO20Rt7CnbJ/i3QT/SXhszzg==","signatures":[{"sig":"MEUCIHueDmhhGuw2uzJnD8toGYqtbi0BWQsp/Qc0WmVNPsbsAiEAuDJXXKbayKL1u3jN6VsCitJ39UupNm8idsENHW3rkAY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2296a15.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c686e218c90fa33e8534a51a58b0891e/solana-rpc-transport-2.0.0-experimental.2296a15.tgz","_integrity":"sha512-YJgDS2IEdKF7Zzb77mV3e7ySNuU55KdDOPogxEv1Y220RBkd8X+NcXujnTu+h1OO20Rt7CnbJ/i3QT/SXhszzg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2296a15_1696404461047_0.8536244845027288","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f2b6238":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f2b6238","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f2b6238","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f76777f086c18b85fceb404fd7934a8908d8bb01","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f2b6238.tgz","fileCount":27,"integrity":"sha512-VbFSgW7UxL5j6PYBtHXeV/J2ZfBuWAa1NvCBNh21IiDLAMEVw65C5LWPa6eYxlRASD/9zdKX4CtS8sbNLK+/Vg==","signatures":[{"sig":"MEUCIQC8V/cir5sOqPn8hpfydIe1zCBH+MXDl4n9d+Fnt511SQIgGZVj1JhwmTHFQ9+NI3l9hVO3FLOI2TsbNNlavJ+qjNk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f2b6238.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/88c54b0ddc6b4225ec5797dcc095a81b/solana-rpc-transport-2.0.0-experimental.f2b6238.tgz","_integrity":"sha512-VbFSgW7UxL5j6PYBtHXeV/J2ZfBuWAa1NvCBNh21IiDLAMEVw65C5LWPa6eYxlRASD/9zdKX4CtS8sbNLK+/Vg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f2b6238_1696425907942_0.2231215533034523","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2d7ea5f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2d7ea5f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2d7ea5f","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ea8646ee4b91bbf93864ac597c0297151bcf07da","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2d7ea5f.tgz","fileCount":27,"integrity":"sha512-BZpMf3hvVgaky4+0ZPnq5MpwzB3atYAMDFGTKwoEZLaTZHdGFx4MOX+G702JxmLxfTrSDXsEo3NiwRuuKbvCLw==","signatures":[{"sig":"MEQCIC2Y4x4cG3W+EKSme5T56d2F/s2rJ/qxdg5sDWLtN1RrAiAKsRhMIpHPNk1CmG2eb33xjlupLd583mdx9mzzmEfXbg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2d7ea5f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ab9050f3995d6a8e81e03196c4b83d1c/solana-rpc-transport-2.0.0-experimental.2d7ea5f.tgz","_integrity":"sha512-BZpMf3hvVgaky4+0ZPnq5MpwzB3atYAMDFGTKwoEZLaTZHdGFx4MOX+G702JxmLxfTrSDXsEo3NiwRuuKbvCLw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2d7ea5f_1696428860338_0.7067124863707848","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ba46ce1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ba46ce1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ba46ce1","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"715ad88b601a7eb7cdee242cac217f45937ba570","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ba46ce1.tgz","fileCount":27,"integrity":"sha512-Gis7XVoOJ+aDTCq+WU3WdGSiPJWBlIESB8X81BJ7YT7FA+Y8Shoklym5AHRHN7jY9ZrCoJtsmmAQ/XSM7R0lYg==","signatures":[{"sig":"MEUCID3Q89Qa+9wOik5Ywyf9Javb4YQi94OS5ZfKvhR5UJayAiEAgW1RApB5VbyoV3zwupD3Ux93Zg9el+WoCJBKMPrkUb8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ba46ce1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f1f0f8d6ed4a02a35da8d6497d4108b7/solana-rpc-transport-2.0.0-experimental.ba46ce1.tgz","_integrity":"sha512-Gis7XVoOJ+aDTCq+WU3WdGSiPJWBlIESB8X81BJ7YT7FA+Y8Shoklym5AHRHN7jY9ZrCoJtsmmAQ/XSM7R0lYg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ba46ce1_1696461644669_0.9181247132716772","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9f6f304":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9f6f304","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9f6f304","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dc2fdf9d8b245031a7b443edf98b6390bb374e08","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9f6f304.tgz","fileCount":27,"integrity":"sha512-AUsm5SKiK/q7sQGl6xLzJEiXYd1vbmHUZbO+N0EJNldsbiUd+PkwfHBDfGPESw2Bxxy1VtS9Ae+M3EQRSgZ+Ow==","signatures":[{"sig":"MEYCIQCQkHiZGpb9jc7BZxEyn0MOqrdXlU9rcNFsZ75pgH2gnwIhAPZ5rMWS/QayF30jek+aAfkzRLGGQgS4LiH6MwqXEZ7u","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9f6f304.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a24137d43f8d4cfbddd0b75214cb104e/solana-rpc-transport-2.0.0-experimental.9f6f304.tgz","_integrity":"sha512-AUsm5SKiK/q7sQGl6xLzJEiXYd1vbmHUZbO+N0EJNldsbiUd+PkwfHBDfGPESw2Bxxy1VtS9Ae+M3EQRSgZ+Ow==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9f6f304_1696580155210_0.23690340363393392","host":"s3://npm-registry-packages"}},"2.0.0-experimental.064cdc3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.064cdc3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.064cdc3","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4ac1297420d4ef3f63f8e41ac42fdf0a0f7bf038","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.064cdc3.tgz","fileCount":27,"integrity":"sha512-iVQ8hYRdy7zqNwmc1PuD6DROfUTmuC51j3R9UrnKUFMaFhLuCrXvw34Mthtm0Sp5ZiEY05eMCFShsdy4mR/i6g==","signatures":[{"sig":"MEUCIQCPCrbXIITI4NETY6mt9A0rd5dUkaJrMD/Dqhp1h1h00gIgeL6/80b8Rx1KtZLfVPGJR5WO+E9SaYCvtlt+cIhn8kQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.064cdc3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5c59f6e8ff9bc87a2c61274de3fd7c8c/solana-rpc-transport-2.0.0-experimental.064cdc3.tgz","_integrity":"sha512-iVQ8hYRdy7zqNwmc1PuD6DROfUTmuC51j3R9UrnKUFMaFhLuCrXvw34Mthtm0Sp5ZiEY05eMCFShsdy4mR/i6g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.064cdc3_1696581514293_0.8471622302475783","host":"s3://npm-registry-packages"}},"2.0.0-experimental.85be7e8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.85be7e8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.85be7e8","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"39020259c1094c080d0cb3fe3b06beb9a8dc2e2c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.85be7e8.tgz","fileCount":27,"integrity":"sha512-rNbcXOUqGE6gsTXTKTni0yNrPJl4pDXtKyzLcgbWNZCwPLGnkVIDbIaD8uQyjxyOeOsiwqhapE9aWp/YJOdLXA==","signatures":[{"sig":"MEYCIQDTlV/iaYuEODNvcDh1wiHA6SEOL/fg3XbAO15ORX0A2QIhAKWmwDZjlActxI8snbzEFkG3I5ZEWHyER0mLkh+R+kmV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.85be7e8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/682755f3b8e65bd5a0d67f33ae9573bb/solana-rpc-transport-2.0.0-experimental.85be7e8.tgz","_integrity":"sha512-rNbcXOUqGE6gsTXTKTni0yNrPJl4pDXtKyzLcgbWNZCwPLGnkVIDbIaD8uQyjxyOeOsiwqhapE9aWp/YJOdLXA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.85be7e8_1696581778879_0.23552965734933595","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0178e62":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0178e62","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0178e62","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"83468059314d7d234afcee8a5eac3d881eabb4b0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0178e62.tgz","fileCount":27,"integrity":"sha512-gH2lGvpRz6TMsck2we7YyjPwoXrwhyuhvafh6kdJVlgf3KFXjzL+hBx72HgAemEaK+iev3g7guQiG/DbVQoowA==","signatures":[{"sig":"MEQCICvKUDMqlTM9UqooZszGEk6xH6w84pCd6FXPqYEYPmeAAiB3dT6l31oyWZOXrbhZX1qViKAjJ2xfFn3FhdvILFvtKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0178e62.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b658a2348cde7e99d4fa9bfcf117468e/solana-rpc-transport-2.0.0-experimental.0178e62.tgz","_integrity":"sha512-gH2lGvpRz6TMsck2we7YyjPwoXrwhyuhvafh6kdJVlgf3KFXjzL+hBx72HgAemEaK+iev3g7guQiG/DbVQoowA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0178e62_1696584069918_0.22532599664825925","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e0b865d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e0b865d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e0b865d","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"20d3d2460ed951b75b92e477dd6d219e0b1909b3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e0b865d.tgz","fileCount":27,"integrity":"sha512-s6hwMH5lI+1MVteUzmKq7T26lYHpsMCnxF5cHVhrVfz/cKzKarMns0PTCvpg5SokA+B+B3CkR+j6u2KmmzXH+g==","signatures":[{"sig":"MEYCIQCY7MubBiEnZ7oiDBPi0VRKSLOxv9XXEVRJrN5izms5hwIhAMphk5Uaqboug4asFj6Y+ROti1B0bEzhxuMr4nsKsdkW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e0b865d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2172189d3efdb25196140e2d6aff520f/solana-rpc-transport-2.0.0-experimental.e0b865d.tgz","_integrity":"sha512-s6hwMH5lI+1MVteUzmKq7T26lYHpsMCnxF5cHVhrVfz/cKzKarMns0PTCvpg5SokA+B+B3CkR+j6u2KmmzXH+g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e0b865d_1696584767626_0.2022506923924272","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d9dcd1c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d9dcd1c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d9dcd1c","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2a1b0e03ffbb5a4520a29c78bbf761448d8fd142","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d9dcd1c.tgz","fileCount":27,"integrity":"sha512-a7BnRFgy2eU6x+ESoZCzx+B+wcX8XKMhn4JCnEz8E1Prg/pqVi1ESKVy5ZMlqUV7/CUVTGkxc6XYo810t/DFZw==","signatures":[{"sig":"MEYCIQCyL9dF3HMPqyCNKtnfhQ4Q952yQDWv4d4C0DyGwvx4JAIhAMN1LkjEcZjNdwhxG8S4qwtSJgdMXbMbUqoF6fnvA734","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d9dcd1c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/150466ccf778e3ba1db99bca8986604e/solana-rpc-transport-2.0.0-experimental.d9dcd1c.tgz","_integrity":"sha512-a7BnRFgy2eU6x+ESoZCzx+B+wcX8XKMhn4JCnEz8E1Prg/pqVi1ESKVy5ZMlqUV7/CUVTGkxc6XYo810t/DFZw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d9dcd1c_1696585106000_0.7206936669388666","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5432cbe":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5432cbe","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5432cbe","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7125544eb452040135dee022aad70b0faacf0d56","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5432cbe.tgz","fileCount":27,"integrity":"sha512-l6pg6VD0qh6eLCl4nH6hve0I+OpHfkIvaYNF8rKixUxA1SmEos4vJOIBrdQyvAEdQsvJ6hqyOn79we62BfCUEA==","signatures":[{"sig":"MEUCIQCDSTkh1lGTYQNZnEySx+UjbqLR0vwdR2+6iQTn7htgQAIgeNHQuQWHutdBywgDxYVB9e0zjNXBCKG+eeNLAEHegHA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5432cbe.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6a719eb3788fc91d1166fcdc67db70a3/solana-rpc-transport-2.0.0-experimental.5432cbe.tgz","_integrity":"sha512-l6pg6VD0qh6eLCl4nH6hve0I+OpHfkIvaYNF8rKixUxA1SmEos4vJOIBrdQyvAEdQsvJ6hqyOn79we62BfCUEA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5432cbe_1696585369192_0.24475235238306903","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8894dc1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8894dc1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8894dc1","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"33c9f458c6e50fc69e0b38f720a7dd0e2d145e0c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8894dc1.tgz","fileCount":27,"integrity":"sha512-HEbh26cvZenwi8e1UCTkae5KPyI4shs2TVMpv+5gkBAbOtv94aJfw0U094rIRxZG/hLYEZ7Ecjp9HHvadgBCMw==","signatures":[{"sig":"MEYCIQC48SnfevyICpF4RTGSw2Tji3X9m5gktaS3Pyq+F/tGyAIhAMrl+rPMo7UoKMZ95B2K8PMfZCK8CQgwVrPDai/s1jUq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8894dc1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e598a104260527eac69d271ec178529c/solana-rpc-transport-2.0.0-experimental.8894dc1.tgz","_integrity":"sha512-HEbh26cvZenwi8e1UCTkae5KPyI4shs2TVMpv+5gkBAbOtv94aJfw0U094rIRxZG/hLYEZ7Ecjp9HHvadgBCMw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8894dc1_1696587120249_0.023965255585232992","host":"s3://npm-registry-packages"}},"2.0.0-experimental.63bb307":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.63bb307","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.63bb307","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5cea34acc5b8624c8b48e66071028be97b15e193","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.63bb307.tgz","fileCount":27,"integrity":"sha512-KERZXRGdvZn/1w+lcQx2GJKevXJrpKVEIdyCj3OFgsUbFsEtpFfLlRE77sorI4/HC3gIAlIG8bvE2LEPstzekA==","signatures":[{"sig":"MEUCIFdKz+WtUZCTfHsvRHK0rUercqlM0QWRUm9aNfU1f2/hAiEAyxxc13p+uUIojPUT3Q/Ku1RS8fgVaYoY2ugnrcVDBnc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.63bb307.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7670f833eb00bd7bc28493a3f0448a0d/solana-rpc-transport-2.0.0-experimental.63bb307.tgz","_integrity":"sha512-KERZXRGdvZn/1w+lcQx2GJKevXJrpKVEIdyCj3OFgsUbFsEtpFfLlRE77sorI4/HC3gIAlIG8bvE2LEPstzekA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.63bb307_1696587181142_0.13866412616721924","host":"s3://npm-registry-packages"}},"2.0.0-experimental.867084a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.867084a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.867084a","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f6b2f53496911e3e739f74f9723513987d632f0f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.867084a.tgz","fileCount":27,"integrity":"sha512-SwZEHs6EmO8CR9oPA4rKjWf3DkrAgu5uDNNCSMeJRGZPiju5kJT8/Vucp5YQWEsb3an+5mvkbOfok5g2F+iWPg==","signatures":[{"sig":"MEQCIG3Z9TL8tu4D+34AzMuNWa4kOwC2/oZ2ie7MxkooJkO1AiAzmS4w/pQ6rjelFsKpqoT2K9YkHSTe5RjpCgsFZIHLoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.867084a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c1f83987e628661f4ef6e405edc4facd/solana-rpc-transport-2.0.0-experimental.867084a.tgz","_integrity":"sha512-SwZEHs6EmO8CR9oPA4rKjWf3DkrAgu5uDNNCSMeJRGZPiju5kJT8/Vucp5YQWEsb3an+5mvkbOfok5g2F+iWPg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.867084a_1696588885295_0.7754996356371582","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8a4cd99":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8a4cd99","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8a4cd99","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d19f1e99b19c708c4791a72b4a9ce3d2f6ff40d9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8a4cd99.tgz","fileCount":27,"integrity":"sha512-P7QBQqpAuiZ0tVcg36206rX4VTIrHHz29hHRIGbjk//sycUdYlBlfS/JMxZtB6rQcDSirnK7N12qNIZe49W+Lg==","signatures":[{"sig":"MEQCIHME0yl2fn/lfzZFI9oMWGzOmd/aiRNKWjqyDX+EoL4rAiAlJ9sY0jXC03orojPunznvz6rO3hL6fI49xc3Wz5rd1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8a4cd99.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/39780dc01cd1b69d0b0a4780ffdc1082/solana-rpc-transport-2.0.0-experimental.8a4cd99.tgz","_integrity":"sha512-P7QBQqpAuiZ0tVcg36206rX4VTIrHHz29hHRIGbjk//sycUdYlBlfS/JMxZtB6rQcDSirnK7N12qNIZe49W+Lg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8a4cd99_1696590147604_0.010332238091720125","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4189b37":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4189b37","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4189b37","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a8697eab4a09b3cc79a61d7017b6a9fa88ed9d32","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4189b37.tgz","fileCount":27,"integrity":"sha512-9BshVfB3m7SGwk3RZkb7vvncHjOCMntCCWs+vifwXbfy/QTdDUPii1MCLcui6JtLICXiqn3SyGlavHhtrxDjMw==","signatures":[{"sig":"MEUCIQCoigd0p0KO/NjUh3YweSGqoONIkbqq/obl7sPZlrFZsAIgeOG91JpJ4G/hnvqa4h3yOtXhCeCpaxr03qg4hsOIY9Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4189b37.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/62b133475f4cee6aaa09e9a6d5afedf1/solana-rpc-transport-2.0.0-experimental.4189b37.tgz","_integrity":"sha512-9BshVfB3m7SGwk3RZkb7vvncHjOCMntCCWs+vifwXbfy/QTdDUPii1MCLcui6JtLICXiqn3SyGlavHhtrxDjMw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4189b37_1696609372226_0.7253997995465187","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4366e2e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4366e2e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4366e2e","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"66372bd599924dec2547b56dd8311bfe1bd20c77","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4366e2e.tgz","fileCount":27,"integrity":"sha512-HOBG3tX8zhR24jeMCF+cQXdrsJmtb9bYCVHNnRfD7cFC1B36JkTrO7O/tytuwItaPQJsiP4DrF6zZuF+5tUp5A==","signatures":[{"sig":"MEYCIQCZ0vos8WaDYKrqwauJdeQFQCBtJuxTpY7CX5fidyWeYgIhAKu2ShEVYw435Osfq+6QEaIFzZkvrV12sgxzo4Naiuv/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4366e2e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/dbaadaa76baf157eb5f5bed14ab17868/solana-rpc-transport-2.0.0-experimental.4366e2e.tgz","_integrity":"sha512-HOBG3tX8zhR24jeMCF+cQXdrsJmtb9bYCVHNnRfD7cFC1B36JkTrO7O/tytuwItaPQJsiP4DrF6zZuF+5tUp5A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4366e2e_1696609616559_0.48402465725538124","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7da1908":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7da1908","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7da1908","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"75f6676237c5bbf3bfda904594156bb5d24ee24f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7da1908.tgz","fileCount":27,"integrity":"sha512-udMzPfGIHYIdTDF6GDi5LUNKYp5+OTJkV/4vhtL0uMgYD/Q95nfb2ZowlYr70xJFuuql5BazEOotSK9KdULzmw==","signatures":[{"sig":"MEUCIBr0POtP0G9IacQeaPTIvcSPUayWJKBv9L+XNxK0gtEnAiEAyKLZKX0QyS36hKjlJM4Fa0m2ho6nCySaqMYQpFDdYFg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7da1908.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/77eb225f99c20b0b56348c48461dcdc6/solana-rpc-transport-2.0.0-experimental.7da1908.tgz","_integrity":"sha512-udMzPfGIHYIdTDF6GDi5LUNKYp5+OTJkV/4vhtL0uMgYD/Q95nfb2ZowlYr70xJFuuql5BazEOotSK9KdULzmw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7da1908_1696663023130_0.2645305205628097","host":"s3://npm-registry-packages"}},"2.0.0-experimental.524cb6e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.524cb6e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.524cb6e","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"048eb27acb69d1ee8772a6d6556833add4c808da","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.524cb6e.tgz","fileCount":27,"integrity":"sha512-RkQI/ATGhF8d0G7Y9jKGlTK+YHOdulYzuUHoAdDsyWRQgB4k095Jdwr/IIBXIbs5C7CoqCoyH3px7WjszuBZMg==","signatures":[{"sig":"MEYCIQCnAZrlvaBZc3jQaD1mt3li7ENHQAZWDFaNtktLNAzqkQIhAMAVY9JqAdx6ecslJ/gG5UBj7AjIkGmD1KD2AjxPLsSp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.524cb6e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/1dbecba54f44a27b47a30037eb8034ed/solana-rpc-transport-2.0.0-experimental.524cb6e.tgz","_integrity":"sha512-RkQI/ATGhF8d0G7Y9jKGlTK+YHOdulYzuUHoAdDsyWRQgB4k095Jdwr/IIBXIbs5C7CoqCoyH3px7WjszuBZMg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.524cb6e_1696663173392_0.8824933368502825","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5c33269":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5c33269","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5c33269","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0c079e6a234c55fa96d258597cc5c21b250366ab","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5c33269.tgz","fileCount":27,"integrity":"sha512-TvVhrpbSBo8n9s53/TzWIGENfUZtDy0wOsEM3MXr4qYxbcCukN/3iEH0xZdKotWlR9l2CgZRhbtVdB5aFpl4OQ==","signatures":[{"sig":"MEUCIDZ3KCtIzYcvrsL6kM03G9Hs0S2MBhu6+L1ouu0kiUq8AiEA9p/zZz9GhF4tUnbLwGjsBxloPFO48T1nBZuSzOvVIkk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5c33269.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/4168c1aab6b36d6b364b9fb7d0b8eaee/solana-rpc-transport-2.0.0-experimental.5c33269.tgz","_integrity":"sha512-TvVhrpbSBo8n9s53/TzWIGENfUZtDy0wOsEM3MXr4qYxbcCukN/3iEH0xZdKotWlR9l2CgZRhbtVdB5aFpl4OQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5c33269_1696663349971_0.579162419337055","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4bb5c3f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4bb5c3f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4bb5c3f","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a911eea40d81924010e226037223767a4ebf9c86","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4bb5c3f.tgz","fileCount":27,"integrity":"sha512-bAGhSwin1/uF9VufkUWNPK1wXPADgTj8muWpH/vRjeRxnpGVvxPjJOIsyNmrwlOFx8DIXVwG1h9TASRQou1+gw==","signatures":[{"sig":"MEYCIQDyxh0gGqH1WdagWFCKg4uMrJWFH/wBUkRX5LPygPYMsgIhAOB2zDXGa2aaI4nKHLeTg6Ib3OPZdp8qhvyAbQNl16aO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4bb5c3f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/060be3a4ab9364276affa1a633dea4c9/solana-rpc-transport-2.0.0-experimental.4bb5c3f.tgz","_integrity":"sha512-bAGhSwin1/uF9VufkUWNPK1wXPADgTj8muWpH/vRjeRxnpGVvxPjJOIsyNmrwlOFx8DIXVwG1h9TASRQou1+gw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4bb5c3f_1696663471729_0.9266211264143898","host":"s3://npm-registry-packages"}},"2.0.0-experimental.856952e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.856952e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.856952e","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9304504bbed7fbd76ca4efc15be659665e62fb20","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.856952e.tgz","fileCount":27,"integrity":"sha512-mlQlrhcfKCuBIrwHYa5LqWrZA1HEkhfaacXdQWje9pDlj3yycgDwNWlu4FIzx5cd4vH0itJdVLvk/qcG5ZVSTA==","signatures":[{"sig":"MEYCIQCuaLwrrGrYPFGuat6zyRUXq3/n5fc2hsAnt10plmoHbQIhALHZXCk9epwmnWlHBnHa853nXfzQldJz7WX3U8+fwbiY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.856952e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/e31bd7afe41954bd44160dbbf7e9c6f2/solana-rpc-transport-2.0.0-experimental.856952e.tgz","_integrity":"sha512-mlQlrhcfKCuBIrwHYa5LqWrZA1HEkhfaacXdQWje9pDlj3yycgDwNWlu4FIzx5cd4vH0itJdVLvk/qcG5ZVSTA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.856952e_1696663595327_0.9940741028538846","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6467eba":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6467eba","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6467eba","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"28e68ab2e82003e373c76f685fd826cef9626933","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6467eba.tgz","fileCount":27,"integrity":"sha512-gvDpH9nq2kgvbKYmiu7R0Wv6W9e2MYyn8kDXkrHDs61kP4tMEkYdA+waGasIwpoE1BEMeahXHgxkelPkpwFqWQ==","signatures":[{"sig":"MEYCIQCkBc9cAbWok6X3rXkWdKfRRMeO1autB3ajKbpdWp4yJwIhANAILyhmoxomnBpk8ROm47YlcIWqWCORwDKccNfsFrBX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6467eba.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/7f95e1e28f1497220270ad6cba83e7cf/solana-rpc-transport-2.0.0-experimental.6467eba.tgz","_integrity":"sha512-gvDpH9nq2kgvbKYmiu7R0Wv6W9e2MYyn8kDXkrHDs61kP4tMEkYdA+waGasIwpoE1BEMeahXHgxkelPkpwFqWQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6467eba_1696663722979_0.6541145830181043","host":"s3://npm-registry-packages"}},"2.0.0-experimental.544cc84":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.544cc84","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.544cc84","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b0fa403bbbf9c9a6d09b74a12c31c9dc28320966","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.544cc84.tgz","fileCount":27,"integrity":"sha512-Tgtdufzym7pJUD/bFlqLKzMSDY9anpzfpG1YYBxzq6P2sH7OsfmqjQFIcplxN6RS2fPvRFKHLmJzYyCLaSbp1Q==","signatures":[{"sig":"MEYCIQDAbzBDso7F9+Z+ONVghvP7sGLqNishEWIWwh8pTNCSKgIhALMEzkkGyQ6Ma6LpzpFvcW+4ulFga1y1raOd+YtdA/Wd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.544cc84.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/875e453147396919132acb68d841ccf7/solana-rpc-transport-2.0.0-experimental.544cc84.tgz","_integrity":"sha512-Tgtdufzym7pJUD/bFlqLKzMSDY9anpzfpG1YYBxzq6P2sH7OsfmqjQFIcplxN6RS2fPvRFKHLmJzYyCLaSbp1Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.544cc84_1696663902637_0.9709232288728489","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6cf1deb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6cf1deb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6cf1deb","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b578aa4a4bc9cb078e4666b7820f781c1cdd83c7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6cf1deb.tgz","fileCount":27,"integrity":"sha512-scElE1so98I9cn8CBmFz+x+QKBt647F6ApMhLZlSecR6W6Xn5v+CuKIo9C0TRzPdh2dVoFtfrXPWlfXfLw13HA==","signatures":[{"sig":"MEYCIQDGpPt24R7jajRObvsuzrusarKwTQMVjhLxA7+FZmttkgIhAMvfyp4wA/7xgqck7ZxRsvCvhbqsHUhxaNw0/wlFjwe5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6cf1deb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.native.js","test:treeshakability:native":"agadoo dist/index.node.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/60057036dbb349d797e69e8dcfec182c/solana-rpc-transport-2.0.0-experimental.6cf1deb.tgz","_integrity":"sha512-scElE1so98I9cn8CBmFz+x+QKBt647F6ApMhLZlSecR6W6Xn5v+CuKIo9C0TRzPdh2dVoFtfrXPWlfXfLw13HA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6cf1deb_1696664173699_0.9000124095120008","host":"s3://npm-registry-packages"}},"2.0.0-experimental.316f07d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.316f07d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.316f07d","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2f774e19797719518661cb4734062a078b5ecf32","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.316f07d.tgz","fileCount":40,"integrity":"sha512-hWBvRkoO+0mt6m4WDrNze2JHWPiwQBQ+nuBSn9ebWqPAXvturvyh21WV/6ltKQmz+RzswRrGyk9G0VA8Yw73wA==","signatures":[{"sig":"MEUCIQCxwgU8o+Raph/03/8O3gyOSkGK4FsO+zuqi8T09v3wHAIgV/8TzJeQpc2zEuf3YcGZt2OW9MQfBG17eR+RbHP7NJ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349221},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.316f07d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/7c79b986156877c0b914d848aa95eba8/solana-rpc-transport-2.0.0-experimental.316f07d.tgz","_integrity":"sha512-hWBvRkoO+0mt6m4WDrNze2JHWPiwQBQ+nuBSn9ebWqPAXvturvyh21WV/6ltKQmz+RzswRrGyk9G0VA8Yw73wA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.316f07d_1696664467239_0.11711776115971362","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2cae718":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2cae718","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2cae718","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"01e0b726d57b62fe85518aa273025b10043a3016","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2cae718.tgz","fileCount":27,"integrity":"sha512-tn/BwyYUYBFoKKC5JlZL4RMvOlpQHBU3ZDiDcXkAJLAti1SV3FsZRVlAsicixkc8LIgmO9pk5VZ779ue/ZlibQ==","signatures":[{"sig":"MEYCIQCHXCqo2xRPaBLCA4q/FmDwxJZlHiYYWWFiP5dlCtrgRgIhAKYgyVnOA8yQSON9SSfg7clzkQqbkwxo85ooJzjRRArO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2cae718.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/7343ee4487fbf8a8a0da09979ec69d81/solana-rpc-transport-2.0.0-experimental.2cae718.tgz","_integrity":"sha512-tn/BwyYUYBFoKKC5JlZL4RMvOlpQHBU3ZDiDcXkAJLAti1SV3FsZRVlAsicixkc8LIgmO9pk5VZ779ue/ZlibQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2cae718_1696837592799_0.33982959306843297","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7b33fcb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7b33fcb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7b33fcb","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4ee9516cc0ac158e08131923d1a6b43d1f78f31d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7b33fcb.tgz","fileCount":27,"integrity":"sha512-xIQaJ3iZl/pe/3AX1ILH3gvpJXBDaDeNCqwuxSu4hw9YWbufCpXkwO4LgM39T1wwMUg07RXGdM15mJPnTeg8mg==","signatures":[{"sig":"MEYCIQCskD5VKwPZIgBqMJ47JA42C2jl8FPGTV6AGW73iQRVEgIhAJDOJAe3Zk2Dxh3AVtB/19/SljxUtTL72QZpZlequ2i0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7b33fcb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/a557e7d5f5a6fa6474e7e32ecfbd3fae/solana-rpc-transport-2.0.0-experimental.7b33fcb.tgz","_integrity":"sha512-xIQaJ3iZl/pe/3AX1ILH3gvpJXBDaDeNCqwuxSu4hw9YWbufCpXkwO4LgM39T1wwMUg07RXGdM15mJPnTeg8mg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7b33fcb_1696844273315_0.53592614699975","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2cc3be5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2cc3be5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2cc3be5","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"94662ecce7777f4def3c897121be4dd7f7af8c6b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2cc3be5.tgz","fileCount":27,"integrity":"sha512-KaoaujY8tekYOnnNr4e4S6bwQvDxTADLqBKwefsQ/ySjQ4D02PV15Pu6+H1HI2D9YKrSSIp7jnU7+0HYBRwA3A==","signatures":[{"sig":"MEUCIQD2xHzzEaQCCktHFM6kKR0gZliH3nCKH4PCEHZg+pCRXQIgDhWShPfX1w9vDLs3qpS2jrtmIYBIwN4jgAzi46KJ+mM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2cc3be5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/ec90e7b60f5c2366d2e3f7d4e304f9d2/solana-rpc-transport-2.0.0-experimental.2cc3be5.tgz","_integrity":"sha512-KaoaujY8tekYOnnNr4e4S6bwQvDxTADLqBKwefsQ/ySjQ4D02PV15Pu6+H1HI2D9YKrSSIp7jnU7+0HYBRwA3A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2cc3be5_1696844685167_0.9979790469575067","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5586a1b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5586a1b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5586a1b","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"44a4fa42363468c705a5b5dd3d545448e6994041","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5586a1b.tgz","fileCount":27,"integrity":"sha512-nvZgZ34xysHt8Jjx9d8TLqC++c2TqXwUYQrZw42xvnIm5llIOki0NLwjMdjHze5XpHf50BMJiWgDDC74Wj6oEQ==","signatures":[{"sig":"MEYCIQCIEP8hxrC1JAMxIZNuzyMsIjx3/a5Y45MkuXeL0EhhpQIhAPkY25mvDpn2qPD6ZuoN1ONwG9bhFQK04XYB9/8obtD/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5586a1b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/46ff349e01d58513fd67f88a6d5959ee/solana-rpc-transport-2.0.0-experimental.5586a1b.tgz","_integrity":"sha512-nvZgZ34xysHt8Jjx9d8TLqC++c2TqXwUYQrZw42xvnIm5llIOki0NLwjMdjHze5XpHf50BMJiWgDDC74Wj6oEQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5586a1b_1696847015617_0.715433578471091","host":"s3://npm-registry-packages"}},"2.0.0-experimental.278784a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.278784a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.278784a","maintainers":[{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5d4a5439415ab4f50fa67d950d61ad0a266513f4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.278784a.tgz","fileCount":27,"integrity":"sha512-x5OF8bWgnT7TyhWr1+Lrw/ogzWBNSKMePbCRIGHjP1S4NAUW2xuMbM2KxWqUZbd2VSCHjtNdxacn5OHXMaGcMA==","signatures":[{"sig":"MEQCIHu2s0yfFe/Vv4d1OFc/PkPXRg4se0PgO4X9APNXAzzyAiAyZ9wqBjsOIbuk7MpRrfTKET1hXC3QtFDhqLOhG5FaWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.278784a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/b54a0106462c758b2916c9ac540d0223/solana-rpc-transport-2.0.0-experimental.278784a.tgz","_integrity":"sha512-x5OF8bWgnT7TyhWr1+Lrw/ogzWBNSKMePbCRIGHjP1S4NAUW2xuMbM2KxWqUZbd2VSCHjtNdxacn5OHXMaGcMA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.278784a_1696849802221_0.9312502394273168","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9baeda8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9baeda8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9baeda8","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"de61b99c6b442a58f83dc0783623c7c83465f333","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9baeda8.tgz","fileCount":27,"integrity":"sha512-mT2zlyO0QT/8t6nHLpYLkDazPLO4b1Fl0UvEge2JhivJoScDqQKGfzNNm+4AmIUFYNT9Pf43MwNvd+2qm+i9LA==","signatures":[{"sig":"MEYCIQCN2Buk81DIW4YrGMp8V8J9FE96odzC8Tb81To2+b42OgIhALO5B6VZLbO0J2tlxS6oa9z44+zSYyEbifa3Y1bapwU9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9baeda8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/d840f3761364b8a3a5100cbd577dc1bd/solana-rpc-transport-2.0.0-experimental.9baeda8.tgz","_integrity":"sha512-mT2zlyO0QT/8t6nHLpYLkDazPLO4b1Fl0UvEge2JhivJoScDqQKGfzNNm+4AmIUFYNT9Pf43MwNvd+2qm+i9LA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9baeda8_1696931990679_0.5573125598030546","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f4b7fd3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f4b7fd3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f4b7fd3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"50cc12fdce8f624137738b877620f48de1374f7b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f4b7fd3.tgz","fileCount":27,"integrity":"sha512-caibDUB4rpeilZkcO5oFvumzxdpORgM+KKoY3mtrOuXaE+7R9MM2wSWa2zrTnLjITzrpqxoupxOvikgg6d+oZQ==","signatures":[{"sig":"MEUCIGrY4vFxr1TK0zDblbmlXCe7zI2KXKQ9E6mwvl2+pzsKAiEAhPjoTr6BfA/64iaYmsOI7WyEFNRHX7s8bed13Y4XzLI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f4b7fd3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/a4e2151b36b63fd0314aa12ec7db9441/solana-rpc-transport-2.0.0-experimental.f4b7fd3.tgz","_integrity":"sha512-caibDUB4rpeilZkcO5oFvumzxdpORgM+KKoY3mtrOuXaE+7R9MM2wSWa2zrTnLjITzrpqxoupxOvikgg6d+oZQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f4b7fd3_1696933265776_0.8865782733601733","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f040ea3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f040ea3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f040ea3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6e31387ffdcb385e202cf4e520384e841fc3cc8b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f040ea3.tgz","fileCount":27,"integrity":"sha512-BdzpHe2zZAwRglvYKVUcvMQqrZ5YiYC2Cw0HJeQrvcAz1oK+6ZOHKtflcaKDon4jdvWV+kEKsU9/6ZE/jfLxuw==","signatures":[{"sig":"MEQCIHKKAgYnZurb+Ik9QA15zrRjd7s0yxm61ADZCfVMnJhkAiAxQwRHEjaJQislAYmEfXJhP8yKuAy7l3ORRplH1/pc9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f040ea3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/0704d18000ec60dff42ecdcebcbfc8fd/solana-rpc-transport-2.0.0-experimental.f040ea3.tgz","_integrity":"sha512-BdzpHe2zZAwRglvYKVUcvMQqrZ5YiYC2Cw0HJeQrvcAz1oK+6ZOHKtflcaKDon4jdvWV+kEKsU9/6ZE/jfLxuw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f040ea3_1696933524808_0.6236059548694832","host":"s3://npm-registry-packages"}},"2.0.0-experimental.04c19fd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.04c19fd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.04c19fd","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5edbe2ae9c29b4e17fe6ebbdbb4c107b5290a23c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.04c19fd.tgz","fileCount":27,"integrity":"sha512-BfU+aM4u6mivbKXkYoRRTbeytjUwPB9Mf0f82RkLNh8mz2BtvG0FNOq2AfVpM8C4wTscidT284/6IqcfbW9Wlg==","signatures":[{"sig":"MEUCIQDau1p6Rp2jDRGm8sHGhoaMKjwMvcZO7sXeMaQF9CQ7oQIgJucVHpBt4ozS1YWQx1mLdI2IT2wDkRfYtNpzcuFKuSE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.04c19fd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/496285dc0f8c7cbfa27cc78ea81e595e/solana-rpc-transport-2.0.0-experimental.04c19fd.tgz","_integrity":"sha512-BfU+aM4u6mivbKXkYoRRTbeytjUwPB9Mf0f82RkLNh8mz2BtvG0FNOq2AfVpM8C4wTscidT284/6IqcfbW9Wlg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.04c19fd_1696944562243_0.8971538338400586","host":"s3://npm-registry-packages"}},"2.0.0-experimental.eb5fd16":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.eb5fd16","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.eb5fd16","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c022975c168dd47bbf67b76c06292e55f8fffe87","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.eb5fd16.tgz","fileCount":27,"integrity":"sha512-EKJlZtBJzoIJkhGBWC4fa99oYlYy+PXfh/BpD+hWySp+Bb69EZDUVG7Wad2coL8fZex5lac2PKkLUp8kaIRudg==","signatures":[{"sig":"MEQCIHThrMX89Ly1J/AAYLuTYUb5rYxltfi0q7os7ymxfQjBAiB7AeWZWmt7dAHZZuTm2ReDvbccFBClY7NJpH98tLDWTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.eb5fd16.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/6ba9d05913035c87b77c7dc8989ffe14/solana-rpc-transport-2.0.0-experimental.eb5fd16.tgz","_integrity":"sha512-EKJlZtBJzoIJkhGBWC4fa99oYlYy+PXfh/BpD+hWySp+Bb69EZDUVG7Wad2coL8fZex5lac2PKkLUp8kaIRudg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.eb5fd16_1696946337075_0.04173414855303559","host":"s3://npm-registry-packages"}},"2.0.0-experimental.21e994f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.21e994f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.21e994f","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2b8c3f97f4853711daaeed03ff0700a1d44aca4a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.21e994f.tgz","fileCount":27,"integrity":"sha512-PfGPzRuEodhfLyOD8ZneYQ389SWYgmj1Q/HWQZo8yZMsiAaW/lqCygoW88lecxXKlZF5gJYrBX154kgvGqEM7g==","signatures":[{"sig":"MEUCICckTHTwn+4/7uXs9440gIE7ifCzTkPLmuI29G5ZZzbPAiEAi5MGMniGq2n+aXC6aV1hULQQ7Xb0aFgahKCzbpz8ed0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.21e994f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/c5d3f47deee2172551fa6ddbd55f9803/solana-rpc-transport-2.0.0-experimental.21e994f.tgz","_integrity":"sha512-PfGPzRuEodhfLyOD8ZneYQ389SWYgmj1Q/HWQZo8yZMsiAaW/lqCygoW88lecxXKlZF5gJYrBX154kgvGqEM7g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.21e994f_1697019665557_0.5657265401163385","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7123512":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7123512","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7123512","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"373c211281e021801a77e07126fc00009689c93c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7123512.tgz","fileCount":27,"integrity":"sha512-GodYsTNM77sK6F6xfspjXOYZMeNIwe63GlIUGdp1w6Bb8fBfSFNTym8fm81pe/71yoLczIlxtjM0SldnFhsu5A==","signatures":[{"sig":"MEUCIQDhpXXazGQppvGbhmnxNbOHThCyUBbNM0Dj05DDFN3vhAIgeNZc1ZVj5/DlSKdHhe/Ek9TQ0ZsNSnEAlpJT94uLg1M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7123512.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/9592ec0f41bc9fff2ea4291e0ca9bc51/solana-rpc-transport-2.0.0-experimental.7123512.tgz","_integrity":"sha512-GodYsTNM77sK6F6xfspjXOYZMeNIwe63GlIUGdp1w6Bb8fBfSFNTym8fm81pe/71yoLczIlxtjM0SldnFhsu5A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7123512_1697032017041_0.12617117954238677","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f57da91":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f57da91","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f57da91","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8f52d0e23f3701e0339f81654d3ab495bdf23a03","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f57da91.tgz","fileCount":27,"integrity":"sha512-5GFPyT4JtPxSilpZc8jg/tfyiQyi6ql2o3ZNcHAs9XtP9Kz/mhDH3omJhV1LyRl6k5pe21z1mfbvWz3lzvi3mw==","signatures":[{"sig":"MEUCIBmJ9VpPVLbkqhJWRyEehu4bKQkE28lb/hsXBt50+9BRAiEAkiI9i/JS7AibEhotShJvbfaf8HpYR3zI2nK7QvlX884=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f57da91.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/17ea44acbd9a41575093a2c1f8633f34/solana-rpc-transport-2.0.0-experimental.f57da91.tgz","_integrity":"sha512-5GFPyT4JtPxSilpZc8jg/tfyiQyi6ql2o3ZNcHAs9XtP9Kz/mhDH3omJhV1LyRl6k5pe21z1mfbvWz3lzvi3mw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f57da91_1697037723297_0.1735897382449283","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f27be12":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f27be12","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f27be12","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"821fb38da438ec9a1a6f3983da8d7bb2da671b6f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f27be12.tgz","fileCount":27,"integrity":"sha512-og01fANuekRmiebNhsvlE4FcAHS+ZafBPcNbIAFzWc14fkum2uRLlpfpqyLvFaMUndJmaMSBbeyRKHQge3rvXw==","signatures":[{"sig":"MEUCIQD29rsPQRIUhkb6NQu7VLnt+qgWm3QhiCi3VdJb/rZhCQIgQ9/VHRzygXZQK4sw4BwSJs+TSmsJDKEXvdfFHmpy0rY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f27be12.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/5238cf655fd74ba5a3ba3b78eed5f503/solana-rpc-transport-2.0.0-experimental.f27be12.tgz","_integrity":"sha512-og01fANuekRmiebNhsvlE4FcAHS+ZafBPcNbIAFzWc14fkum2uRLlpfpqyLvFaMUndJmaMSBbeyRKHQge3rvXw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f27be12_1697037804012_0.4419796166662311","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c237089":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c237089","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c237089","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"15737c89e49a32ccfb6f8405b246b1635c1abe8a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c237089.tgz","fileCount":27,"integrity":"sha512-ARZCux//Nd3tE5NTwj3Sbjlq4HY4tVIgGgi9igOxREzC16cam7gmRsmuvNBpa7krUevdXhou+3k4iywB2PJYqw==","signatures":[{"sig":"MEYCIQD+uh09OjxVRHg96pUdEWYyaepisjURAYw3/jzjJBfb5wIhAPLPblzRo4UfSIR+qY744gViTNrlW9mi01X5Zz0+Gh35","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c237089.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/79bd509d03a3c5c5382f33112e1fc092/solana-rpc-transport-2.0.0-experimental.c237089.tgz","_integrity":"sha512-ARZCux//Nd3tE5NTwj3Sbjlq4HY4tVIgGgi9igOxREzC16cam7gmRsmuvNBpa7krUevdXhou+3k4iywB2PJYqw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c237089_1697037859577_0.5275812607046808","host":"s3://npm-registry-packages"}},"2.0.0-experimental.db42a99":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.db42a99","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.db42a99","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e963b5d1e6f9308a29c249ee00972be6668226a6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.db42a99.tgz","fileCount":27,"integrity":"sha512-pO6IMSC8c5/WB0XMQQTgWLOQWfZG8hGr+wCw8m2M7pve+hyZBXnxuqNkECL+533zR5PxOD75sPLypwmHn8qHMg==","signatures":[{"sig":"MEQCIFjOHRTrR5cEybVBa79wRlymNFab1x53hSWDX5Wycc/sAiBdKxZOqA4uLhQZmf5EQuijNtIzSvU+Y2zwJHGnZUqqyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.db42a99.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/0ff7f51f75c6d9659923159f604cb4a5/solana-rpc-transport-2.0.0-experimental.db42a99.tgz","_integrity":"sha512-pO6IMSC8c5/WB0XMQQTgWLOQWfZG8hGr+wCw8m2M7pve+hyZBXnxuqNkECL+533zR5PxOD75sPLypwmHn8qHMg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.db42a99_1697037917473_0.7054593064105426","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b313ba0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b313ba0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b313ba0","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"10ddf482e937890ffff54ed4e21953c12551f9ac","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b313ba0.tgz","fileCount":27,"integrity":"sha512-gDn2BcWQ3vBV4gaibw8jdHR7HN1e4xhCtAiJumLXBQ5adJAycV/GkuD0OTnWwfUI+f/mTNdfaipLiIF76dctkw==","signatures":[{"sig":"MEUCIQDI1iR8X3+zDcpVmGdAQ/b/ury27atflB5DcyivwOFiBgIgYlBToqRjtSS/NhExADa2nAlQlLSNbRmCRRw+S8X0qEs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b313ba0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/dffbbdf59f6247d659e89f73570a5bf2/solana-rpc-transport-2.0.0-experimental.b313ba0.tgz","_integrity":"sha512-gDn2BcWQ3vBV4gaibw8jdHR7HN1e4xhCtAiJumLXBQ5adJAycV/GkuD0OTnWwfUI+f/mTNdfaipLiIF76dctkw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b313ba0_1697037988271_0.9296599832983257","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cb90bb7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cb90bb7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cb90bb7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4851b844d32ad9dfdae51baafae9673a9879eeef","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cb90bb7.tgz","fileCount":27,"integrity":"sha512-t/nT5YLWyMY68PHNEeM8x+ICwuuoB+htgZz0rb53rbfbW/G4U7O5Z6Rezl9S7vgdPMPz1AQaB3xUWFO3SOylIA==","signatures":[{"sig":"MEUCIQCn5o7qXecxrVvPDUKWQWY7pB4RDFLrp/LDnYF/zaaewAIgXUKiF7tc1bhJs9QLfWoN/y9ZaNBa231go93ZL2KTiKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cb90bb7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/55657195d75a7b1baac91628912e786e/solana-rpc-transport-2.0.0-experimental.cb90bb7.tgz","_integrity":"sha512-t/nT5YLWyMY68PHNEeM8x+ICwuuoB+htgZz0rb53rbfbW/G4U7O5Z6Rezl9S7vgdPMPz1AQaB3xUWFO3SOylIA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cb90bb7_1697038012571_0.9294155251818481","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c8d8b83":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c8d8b83","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c8d8b83","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d117929c788165876195589cb92a566eb0ddfb7f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c8d8b83.tgz","fileCount":27,"integrity":"sha512-SYpXygqxF+lPi0QFkxokKzE4oD62qY6FfRKpMiBbOXL2Zgvb8Y0b4ATgcCoVsm6/ldfX7Z9JmKGyMesTZptS6g==","signatures":[{"sig":"MEUCIQCFnuuEvtSBBXSZbnf4mFtVrbBsH3rpgULr9+gcvsma8QIgWQfXGnCZoznywHZCsrLFR5qahXOCv5OeAxXeacSWahI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c8d8b83.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/5200157629c2d95cb0cf02fa9a910fff/solana-rpc-transport-2.0.0-experimental.c8d8b83.tgz","_integrity":"sha512-SYpXygqxF+lPi0QFkxokKzE4oD62qY6FfRKpMiBbOXL2Zgvb8Y0b4ATgcCoVsm6/ldfX7Z9JmKGyMesTZptS6g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c8d8b83_1697038091933_0.19620993609999826","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bfaffe0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bfaffe0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bfaffe0","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4a226ccbfbfecdd60b25f814a23c990d53a981aa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bfaffe0.tgz","fileCount":27,"integrity":"sha512-mvL1XSr9VZLyBAUON5uyASmLFxldrEwGQIKP0GTpa3Y6X9i6w2vFblBNbOIqesEU7o8+jlStVbRTfBKZYB2Ipw==","signatures":[{"sig":"MEYCIQDC6anu2ldnH/qLmqhM+DUAAu3TonDqYnhlKj1e/0xSLAIhAP4xKdZyieEo9FP30UPVYUKm2TcPDr/s4yGu+/rrqbRA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bfaffe0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/59ec4c285cee5dd78b78474bf550d149/solana-rpc-transport-2.0.0-experimental.bfaffe0.tgz","_integrity":"sha512-mvL1XSr9VZLyBAUON5uyASmLFxldrEwGQIKP0GTpa3Y6X9i6w2vFblBNbOIqesEU7o8+jlStVbRTfBKZYB2Ipw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bfaffe0_1697038159854_0.17793293256761822","host":"s3://npm-registry-packages"}},"2.0.0-experimental.32b59a5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.32b59a5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.32b59a5","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"661d61fc247b3458120b2b7dc7af288e7dfc16ef","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.32b59a5.tgz","fileCount":27,"integrity":"sha512-vcs8M+k0jdd2M2WrxzhGLC68nMrc5dtJJy/sYMaSasJHN1vozzOUJCogW4/+XhlfKxdVS5gLDqPkP7YuJH43Gw==","signatures":[{"sig":"MEUCIQCrWFuu6EPcpNKtFo7CzfJdT194mjFTakrnEFdfkJyCzQIgCO3x7yN8nJ4X+E5FVHPALsgsVECI3zNn+j4m75CVdpQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.32b59a5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/f703393198f7f274aaafc4c5a88109a5/solana-rpc-transport-2.0.0-experimental.32b59a5.tgz","_integrity":"sha512-vcs8M+k0jdd2M2WrxzhGLC68nMrc5dtJJy/sYMaSasJHN1vozzOUJCogW4/+XhlfKxdVS5gLDqPkP7YuJH43Gw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.32b59a5_1697038206316_0.6723212967815888","host":"s3://npm-registry-packages"}},"2.0.0-experimental.782d1ea":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.782d1ea","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.782d1ea","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f2f55f9e1ecc5a141687a706db2d0460fde696c3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.782d1ea.tgz","fileCount":27,"integrity":"sha512-25vP/Qeq++gOZNgIAIZ5LNQVpu6Ft8bdzOl9ZnHT0K53kwfRlFnUjKQN09w2rfx27unLlK8cUt5/OnEIfGsbZQ==","signatures":[{"sig":"MEUCIQCT3qZo/VWRBAVgbqifwuPE31jkvRiyttyGfjj7F8rTxQIgNtZUORLh3W9G50TbRRgZ9qLBKcFsXffXG3GjUsUjkho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310735},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.782d1ea.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/1ad811692e4f97625a5ded5051ac6d3e/solana-rpc-transport-2.0.0-experimental.782d1ea.tgz","_integrity":"sha512-25vP/Qeq++gOZNgIAIZ5LNQVpu6Ft8bdzOl9ZnHT0K53kwfRlFnUjKQN09w2rfx27unLlK8cUt5/OnEIfGsbZQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.782d1ea_1697038275655_0.5700826654217368","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5e1b2e5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5e1b2e5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5e1b2e5","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"89f71cfa9516351f822ab8e0600eb313d55bb0e2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5e1b2e5.tgz","fileCount":40,"integrity":"sha512-9wY/xjbR+iXEOnL0d3pJ7+JoJzgp/ZqAmD1O9E+o3MFlA3otszo5d9MMvIcBCYF2dGTXu1don+OdJDNEdnz3eg==","signatures":[{"sig":"MEQCIE6Mgu0B5nDwZyTi1Lxc09QwrfPeTpJ9ThNHsYrapTanAiBSK1eaOIIsg0xbhLDga2fFWv/u0CKqgcW6xqC5y7ApfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349221},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5e1b2e5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/*","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/478fea72fec9d9723914632b22b26c3c/solana-rpc-transport-2.0.0-experimental.5e1b2e5.tgz","_integrity":"sha512-9wY/xjbR+iXEOnL0d3pJ7+JoJzgp/ZqAmD1O9E+o3MFlA3otszo5d9MMvIcBCYF2dGTXu1don+OdJDNEdnz3eg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5e1b2e5_1697065684352_0.6418161610309332","host":"s3://npm-registry-packages"}},"2.0.0-experimental.dacecb7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.dacecb7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.dacecb7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c591bc2de28cece2b5898d4ce2b307de2b9116a2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.dacecb7.tgz","fileCount":40,"integrity":"sha512-1rOPW+WrMEMAARqP4mBGVZBjDQ4JaSTU2VZaJ9e7SdKlmrQy0OkN4bEhpJPaF0e/g2E9N4EsWpcmFHqEfxszYg==","signatures":[{"sig":"MEYCIQCI2RnRl/DsG8NiiUfpGTPPOe38GhQv5fr0YZb0cjQtjQIhAKpvO7IWhm4MCHZdkE37u73U7myCOkpUKmNKjwT5c4Fo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.dacecb7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/54a48fac25193d93e9b9653d63eff293/solana-rpc-transport-2.0.0-experimental.dacecb7.tgz","_integrity":"sha512-1rOPW+WrMEMAARqP4mBGVZBjDQ4JaSTU2VZaJ9e7SdKlmrQy0OkN4bEhpJPaF0e/g2E9N4EsWpcmFHqEfxszYg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.dacecb7_1697387333622_0.5937629383428693","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ee4214c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ee4214c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ee4214c","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"79b7a645ef47e0b2e524f09691c2e2387993448c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ee4214c.tgz","fileCount":40,"integrity":"sha512-Y/xwpCuQQuTkDFyYnOJh/HG4nFUgMWH+M1ILWQ0pGOE5MaOHES788PyAc2D9X4tcS8LVCxEIziy28rmhRKxM9Q==","signatures":[{"sig":"MEUCIGyYTbMfJsw26j+uiz6VnEH+rYVkqAXR+Q8aPT6QI4SXAiEAw5NdCD5MyRcaCT9ycYW6Qpz1Q6x2n3+xT6jQJo8QlkI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ee4214c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/0e9efebd9aace99b585d47310264a164/solana-rpc-transport-2.0.0-experimental.ee4214c.tgz","_integrity":"sha512-Y/xwpCuQQuTkDFyYnOJh/HG4nFUgMWH+M1ILWQ0pGOE5MaOHES788PyAc2D9X4tcS8LVCxEIziy28rmhRKxM9Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ee4214c_1697446456824_0.5158538014532557","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0cfc222":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0cfc222","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0cfc222","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"57ab8f4e4d2b694c3cf1a7642a4f65488a3c6e3b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0cfc222.tgz","fileCount":40,"integrity":"sha512-tsRr8RyGgAzn8PJ6IzLCXFjyBxOJJGDJ81rcvpZrIiqfNsX1uBWANBqg1LAjOhbY18rFWtTgfhRz/QcdfcqppQ==","signatures":[{"sig":"MEQCIGJPoWoYpzx3pXI3PhstusByVPqkzbjk4ajWLYvHIOsyAiAzb8zgoyq+SS7TXKWp7TuYJQaKU8P+mdnLbVl8zuRuQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0cfc222.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/c273e62b6685222e48487792889cfa25/solana-rpc-transport-2.0.0-experimental.0cfc222.tgz","_integrity":"sha512-tsRr8RyGgAzn8PJ6IzLCXFjyBxOJJGDJ81rcvpZrIiqfNsX1uBWANBqg1LAjOhbY18rFWtTgfhRz/QcdfcqppQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0cfc222_1697453256075_0.3222615878764419","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cc545f9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cc545f9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cc545f9","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5dadfeb8345abb58d83a83500c93e5ab910247cc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cc545f9.tgz","fileCount":40,"integrity":"sha512-FuhpW4/gOMzpGKihgQ+u+aKTV2yiZecsb6WcuPvYlVsADDNM1lsp/jyhpy+BvBVf/Sk0UFThuSvIzWZtZGdm8w==","signatures":[{"sig":"MEUCICcIh+8kY6ARUNLISxweYZ9JNfb2BJvz3u7R0HBUTSiZAiEAxMhK/JtKywNiHblMVx7N6U7Gbc0+I7fFRYRVzZLZAvQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cc545f9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/af4cd892f478e5448cb68a61df9a48fb/solana-rpc-transport-2.0.0-experimental.cc545f9.tgz","_integrity":"sha512-FuhpW4/gOMzpGKihgQ+u+aKTV2yiZecsb6WcuPvYlVsADDNM1lsp/jyhpy+BvBVf/Sk0UFThuSvIzWZtZGdm8w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cc545f9_1697454503924_0.6803254820855238","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6556a8b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6556a8b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6556a8b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"278cbacbcf09f3e43dc185debb39d0fbab4c0a4a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6556a8b.tgz","fileCount":40,"integrity":"sha512-fN8xucp6r1BYqdFzMhhhxtUg3Vxg5AjCFX72lPYlAfbwf+U/o8v5kJVS7zk4UGfm/Bgo+xvqM/bdgXB535YufA==","signatures":[{"sig":"MEQCIDeSrAvD2DAcU4g+Md7oYmXCD5rmKGhN1cwe84wptlyYAiAkYzX85/SCJ84uoF7DS76JdULwi1MpqJDvBzAJDn2nSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6556a8b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/062b8c9d1e4cfc179d7813d925b2244f/solana-rpc-transport-2.0.0-experimental.6556a8b.tgz","_integrity":"sha512-fN8xucp6r1BYqdFzMhhhxtUg3Vxg5AjCFX72lPYlAfbwf+U/o8v5kJVS7zk4UGfm/Bgo+xvqM/bdgXB535YufA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6556a8b_1697454635220_0.7319472786365531","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ba21818":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ba21818","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ba21818","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7dce97d5b55f2fc9e892296652aff3f4ce11d0cc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ba21818.tgz","fileCount":40,"integrity":"sha512-yVlNadKx3WECqPCzUqJi87efgq/txIGHcPerKT24ydN9YMClwyUPLnyYp2/+gQBALNOjLjxKszeGLu+JCAQaGA==","signatures":[{"sig":"MEYCIQDQgy4dN7sbQ7Kbmsz8jDTSXCtmdvUzK642BKB+Zhi2qAIhAJBA7gANBzlq8gs+k9nc33wmDmB7dTCmCX03USjtX599","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ba21818.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/850940cb08c451c5eda06718dc937766/solana-rpc-transport-2.0.0-experimental.ba21818.tgz","_integrity":"sha512-yVlNadKx3WECqPCzUqJi87efgq/txIGHcPerKT24ydN9YMClwyUPLnyYp2/+gQBALNOjLjxKszeGLu+JCAQaGA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ba21818_1697456936866_0.7600120101212775","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7adc22b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7adc22b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7adc22b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5ea1f4d0d58aee9dffc210e671eee682f8ab9c75","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7adc22b.tgz","fileCount":40,"integrity":"sha512-kZu0dlaM4ag8xANxfDuIQFKgXy1MXcHTJyL6j2Kh0vNRlV3sYlZm11B7YdLjealD7Ox29A56pl+OM55A+BJ4KA==","signatures":[{"sig":"MEQCIFYK2aVZ7vjoAU0Atoy45McwTBdleQU7NkhIoX1wDvLGAiB1RkEx/+7ZdgTHZ9SyJNo/9EporHeInq7HllxZcBBP7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7adc22b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/627ba597934f99a393f963692bf3c93c/solana-rpc-transport-2.0.0-experimental.7adc22b.tgz","_integrity":"sha512-kZu0dlaM4ag8xANxfDuIQFKgXy1MXcHTJyL6j2Kh0vNRlV3sYlZm11B7YdLjealD7Ox29A56pl+OM55A+BJ4KA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7adc22b_1697466101885_0.2819645863417468","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fc4e943":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fc4e943","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fc4e943","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c0f5f6c2952b4863ee959a907bd0caf435e4688a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fc4e943.tgz","fileCount":40,"integrity":"sha512-Z2lyhKfxqGZJapyD2/HUYT/vxCppehsnCHC3u9THb/87gLgMbpDpddVmUFMjp7z02FWtuqQhp5uG9ZmUMfSpQg==","signatures":[{"sig":"MEUCIQCbe1+q0o6B1ICVTCXYVdgFLKFhNPiTNxytPAPSj3v+oAIgYRVx1b8WTNi5DJtUlQo9KBHF5TuQP5+2n+2p+hpf1JE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fc4e943.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/d50d0d0e158f543ada0119029e03ab59/solana-rpc-transport-2.0.0-experimental.fc4e943.tgz","_integrity":"sha512-Z2lyhKfxqGZJapyD2/HUYT/vxCppehsnCHC3u9THb/87gLgMbpDpddVmUFMjp7z02FWtuqQhp5uG9ZmUMfSpQg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fc4e943_1697606492921_0.3735927329564195","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c7ef49c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c7ef49c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c7ef49c","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"16eb9f7b35e315077708c13c0857d8289d5a0d44","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c7ef49c.tgz","fileCount":40,"integrity":"sha512-7+PMF0IUP0JRkQZldpKiL+vUH7h7ncYOvogMxJ3JLxfGdMMwgvHRbO0v6MAx+I9yutuwuI8aHv8FbSEC3iYatA==","signatures":[{"sig":"MEUCIQCaSj/wkEfFGp3Q8c///sjKGUVdQ4YsQuDJiTUzenXX0QIgHttwgJPRRMSMcBdKLLG0mdBWBCXLruKvqGJ5L2PvYEk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c7ef49c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/54a55f1706058b0fe68464474e48f83b/solana-rpc-transport-2.0.0-experimental.c7ef49c.tgz","_integrity":"sha512-7+PMF0IUP0JRkQZldpKiL+vUH7h7ncYOvogMxJ3JLxfGdMMwgvHRbO0v6MAx+I9yutuwuI8aHv8FbSEC3iYatA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c7ef49c_1697612337834_0.1286070698674331","host":"s3://npm-registry-packages"}},"2.0.0-experimental.71a42a7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.71a42a7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.71a42a7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ef98bacdd4205f2e7de0d3bb9f51f3127bfde49d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.71a42a7.tgz","fileCount":40,"integrity":"sha512-YS3HjF6ZTJtzjaTBbq2CjOgRLtdWt2w6wWlZJYcKrn2eUrY0B3x95NtEXdbOKnAz2IYKQ08wxPtj1BjKtqRklg==","signatures":[{"sig":"MEUCIQDq8Ju0T3Vk3RZeKCRnP+htWe8v1uXW7cy3/nuCSF3QgQIgHNSNSAROamu1BOStKaZOcoUuU2z+jrKtCT0oqyVIRdM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.71a42a7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/09db32cdcc084c2e05e240f3f5bca0ae/solana-rpc-transport-2.0.0-experimental.71a42a7.tgz","_integrity":"sha512-YS3HjF6ZTJtzjaTBbq2CjOgRLtdWt2w6wWlZJYcKrn2eUrY0B3x95NtEXdbOKnAz2IYKQ08wxPtj1BjKtqRklg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.71a42a7_1697727275801_0.09063609540758089","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7d44763":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7d44763","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7d44763","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a36e33941b8024518d5d021e4b7385193882e8e4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7d44763.tgz","fileCount":40,"integrity":"sha512-H4wJMkUnJk+dcHHH4Ff8rjKBQrck88K8071PmgDeNrY6pBBvWRRlWAwQthvhaDCx0655XzMkgBJXQCUBbYF7dg==","signatures":[{"sig":"MEYCIQCLsX2TCJiQbWfkAA2Njn9EqmZWI2kt/P0M+A2dlP+jTQIhAPqRhS/C6siXXQW48GunHge1DML0UrQXgb1lWEwy35zr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7d44763.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/0cea2330cab6cf16aa2ffeef7f0fbc13/solana-rpc-transport-2.0.0-experimental.7d44763.tgz","_integrity":"sha512-H4wJMkUnJk+dcHHH4Ff8rjKBQrck88K8071PmgDeNrY6pBBvWRRlWAwQthvhaDCx0655XzMkgBJXQCUBbYF7dg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7d44763_1697727333076_0.7575812955633365","host":"s3://npm-registry-packages"}},"2.0.0-experimental.72efece":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.72efece","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.72efece","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"cd3cea27324c490e70981a8a2559d4992a3304b4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.72efece.tgz","fileCount":40,"integrity":"sha512-K6i2K1SNBvnDT6mcUYypVbxctM2FWSh0jwpsOHq01mSXuHILkWDXYcRbZWU5WIuBF9JGRS6He94hwItNGfcsgA==","signatures":[{"sig":"MEUCIQC6CoH4U0dCXDd2ySc3Au2nteYzgC7XujdL5NPLemiMqgIgB25iTOGpMIKr68nud6ZZKCsTcwYmE8StYz4gGOoe+ws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.72efece.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/c07671654a3e7a8f1d7d254644b139b2/solana-rpc-transport-2.0.0-experimental.72efece.tgz","_integrity":"sha512-K6i2K1SNBvnDT6mcUYypVbxctM2FWSh0jwpsOHq01mSXuHILkWDXYcRbZWU5WIuBF9JGRS6He94hwItNGfcsgA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.72efece_1697727390382_0.7090105784262584","host":"s3://npm-registry-packages"}},"2.0.0-experimental.228d375":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.228d375","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.228d375","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"180ced2f224bd65372f50e27650564817a06b559","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.228d375.tgz","fileCount":40,"integrity":"sha512-7/GTvJTdFndBmhSnqU2LDmtQjPEJ0VLan6O2PYlCD4TGkyjCKtB2s5erfAnJCrhwfXg+m7BmlQvN8gYiF4m0Gw==","signatures":[{"sig":"MEYCIQCZJvNuxjJEUFJRMeEjOXpitigD2/QkR/J7u2PLV73gOAIhAJHmbFiI6lXBSNPYJSziMIRa1ohTCF7UzoT1SQnIElIE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.228d375.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/1c47474ae1058ed585df35d6e33ddebc/solana-rpc-transport-2.0.0-experimental.228d375.tgz","_integrity":"sha512-7/GTvJTdFndBmhSnqU2LDmtQjPEJ0VLan6O2PYlCD4TGkyjCKtB2s5erfAnJCrhwfXg+m7BmlQvN8gYiF4m0Gw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.228d375_1697735541409_0.5310696769277965","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9e133fd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9e133fd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9e133fd","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"40d85231453b29b9151db5531925fcdc81b57e70","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9e133fd.tgz","fileCount":40,"integrity":"sha512-g8WTwuxq3jaVvfaWkVQkAOa/Nxtv/6ndVA6qTe56lUN8xW8uiFPI9h0pxDZ32QoNrBtfL/9ZNmQPSQu4cs31uw==","signatures":[{"sig":"MEQCIGB0jJDgZjfFxvFo3926gJhCcASFuM9p/ktkueTftRWEAiAxeY2iom+P5akAzVqwQZvCB30ynz71knOQDUe0XV5WIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9e133fd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/6c19f55af81d36aa0497e1e7d984019c/solana-rpc-transport-2.0.0-experimental.9e133fd.tgz","_integrity":"sha512-g8WTwuxq3jaVvfaWkVQkAOa/Nxtv/6ndVA6qTe56lUN8xW8uiFPI9h0pxDZ32QoNrBtfL/9ZNmQPSQu4cs31uw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9e133fd_1697735963867_0.6961909196097111","host":"s3://npm-registry-packages"}},"2.0.0-experimental.819a6f7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.819a6f7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.819a6f7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f609520ce9ece603b7a8a5168a464ddfb02a105b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.819a6f7.tgz","fileCount":40,"integrity":"sha512-+Yrq6ogShNd2ZVuBZSpz3kubmFIciG9fcZCgbHWtjueJECQzCItpLMw/JeeqwEXQ2AYaD0k0lA9633M0g5qF/Q==","signatures":[{"sig":"MEYCIQCCFKM3SINxeM/KmxESQyoO+cfweJQgbE5DxwLYqq+a3wIhAKG9JMF8UxqgnkmwOgbu81VRKn5guBMkQ3gLd8iQp+WV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.819a6f7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/015a9337977c58a72a4ce4452bd89b5c/solana-rpc-transport-2.0.0-experimental.819a6f7.tgz","_integrity":"sha512-+Yrq6ogShNd2ZVuBZSpz3kubmFIciG9fcZCgbHWtjueJECQzCItpLMw/JeeqwEXQ2AYaD0k0lA9633M0g5qF/Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.819a6f7_1697735988090_0.1383300098670519","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a9e6db3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a9e6db3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a9e6db3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f67bbd8467cb8c3cc18f47b0a153dca60269d92e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a9e6db3.tgz","fileCount":40,"integrity":"sha512-34vQZR9d9B06AEuydEvPPAW39gxvqaCFlaoHgoCj/FnyH2qz6MCgX3OqKt9flYnghXjPl/oH9stv6OJ15AdGMQ==","signatures":[{"sig":"MEUCIQCnNMGS3Ejbi+MEDFQTZSEyhk5LY0YWAuvIZUVWWdDDDAIgPJ9i65n6wIoDNy1gJzjUXjQWxpBW/lfGEcPgg5e1A7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a9e6db3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/60a64fab825b948f6aee13f06798f1b8/solana-rpc-transport-2.0.0-experimental.a9e6db3.tgz","_integrity":"sha512-34vQZR9d9B06AEuydEvPPAW39gxvqaCFlaoHgoCj/FnyH2qz6MCgX3OqKt9flYnghXjPl/oH9stv6OJ15AdGMQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a9e6db3_1697737070656_0.8372045680514617","host":"s3://npm-registry-packages"}},"2.0.0-experimental.252f65f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.252f65f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.252f65f","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5a695018f146158b8b2800793753d1e197ae477e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.252f65f.tgz","fileCount":40,"integrity":"sha512-wUw2Swna8qDovp7/hPevrEaHu26vKeyLUv9VIkdzNDYV9PPugb9nELsu5WENeoIgind/IprqXyPt/WpT1s7cVg==","signatures":[{"sig":"MEQCIF14TNBrJfkBM8kX0p3zjvJeqmOqqvhqWhzOWcVrI84EAiBdjPdYpGGfI22Aza9RjtzgGN9zYKULDY9e0wkYMk25Cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.252f65f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/3b46adb57b1bae45b288ca66311a2ed6/solana-rpc-transport-2.0.0-experimental.252f65f.tgz","_integrity":"sha512-wUw2Swna8qDovp7/hPevrEaHu26vKeyLUv9VIkdzNDYV9PPugb9nELsu5WENeoIgind/IprqXyPt/WpT1s7cVg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.252f65f_1697753544544_0.8852030998387941","host":"s3://npm-registry-packages"}},"2.0.0-experimental.99a64e9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.99a64e9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.99a64e9","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9235918fb193f0277b99c26862c9262fed2335ac","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.99a64e9.tgz","fileCount":40,"integrity":"sha512-YYIu33zNSiz3MKqpIWVibJkuEe0aUlr+yw8SJCYNeSRCID8A/RR5VVzI7GgKuu18O6fK3kjBGoBeysGZqebZ5Q==","signatures":[{"sig":"MEUCIAFq1rO4NM+3Mv8NkBLY/v9K1gb4fxcBOTPKNJL8WGkkAiEA7Yo3jXRv6tHtOXk2Q/daPVU0PsoFXqVh+yeK9fnC6p8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.99a64e9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/d0cb3d336f4821214e3b60b6497d4a55/solana-rpc-transport-2.0.0-experimental.99a64e9.tgz","_integrity":"sha512-YYIu33zNSiz3MKqpIWVibJkuEe0aUlr+yw8SJCYNeSRCID8A/RR5VVzI7GgKuu18O6fK3kjBGoBeysGZqebZ5Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.99a64e9_1697757883326_0.6796585263951018","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b868e90":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b868e90","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b868e90","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c91a3305d25830148c0c245bef38eddbd8183277","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b868e90.tgz","fileCount":40,"integrity":"sha512-NUm54B1yW/+LCNj67wUVDpyq00N+ibNlrPE0P/a2Lamp4npyQOiD3HpuUMzl1UHx4cLlbzGuzpxTdKYRnnFzeA==","signatures":[{"sig":"MEUCIAH7ImZUaofU2sG/Mo2ga0KlmMYZfdWXjV26iJekupsTAiEAo6R5gFyfZwWWswpHbaMy2X76oBaKCFGYAzGgfSMu2R0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b868e90.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/ba2d54f80ec02d99593e56389b460f04/solana-rpc-transport-2.0.0-experimental.b868e90.tgz","_integrity":"sha512-NUm54B1yW/+LCNj67wUVDpyq00N+ibNlrPE0P/a2Lamp4npyQOiD3HpuUMzl1UHx4cLlbzGuzpxTdKYRnnFzeA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b868e90_1697801245608_0.49294334851945165","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0ec7c58":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0ec7c58","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0ec7c58","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7da34886f3029ab118085aa1c45ef57fd6192a72","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0ec7c58.tgz","fileCount":40,"integrity":"sha512-Fy88XsljvsZkTahhQ030+LnLJSryMkQ6rbqRhnisXdKSaVRXBorFqn7ppn10Rnkk2bjdvPHTv+mnSSiG2/PDZg==","signatures":[{"sig":"MEUCIERr5sobaWtObcKcGxLu//tdP0XzVJ6McLIpzxhXPqW/AiEA7mDzi4f6sOo5BFw0V5vDkKJM916XT0WTVfAe1ZQHkAg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0ec7c58.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/85a62eafa5dc476fe32c6a2c25b4922a/solana-rpc-transport-2.0.0-experimental.0ec7c58.tgz","_integrity":"sha512-Fy88XsljvsZkTahhQ030+LnLJSryMkQ6rbqRhnisXdKSaVRXBorFqn7ppn10Rnkk2bjdvPHTv+mnSSiG2/PDZg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0ec7c58_1697801445140_0.16043433244241667","host":"s3://npm-registry-packages"}},"2.0.0-experimental.398c396":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.398c396","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.398c396","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a9448d4ce5375e23b4a0c3897568dc7f07f15a6d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.398c396.tgz","fileCount":40,"integrity":"sha512-iE/qsKCm3lEMB1AUjDacv9DUbQS7XZmEfepsgBsmP7/lK86CkYCTmhEIzBoXoCeP8CQweZepJjtJwUx+E9//ug==","signatures":[{"sig":"MEUCIAUPPXBZ2EDX66DpUhoLBL0wfwlsutO19060WN/THBmDAiEAkrPkmg7oOlIXAMPfQ/HyTpoA8rX7VoOPSye0tmsnn4U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.398c396.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/51271830a74e050891f0ab4515e91354/solana-rpc-transport-2.0.0-experimental.398c396.tgz","_integrity":"sha512-iE/qsKCm3lEMB1AUjDacv9DUbQS7XZmEfepsgBsmP7/lK86CkYCTmhEIzBoXoCeP8CQweZepJjtJwUx+E9//ug==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.398c396_1697802615936_0.7145201270369856","host":"s3://npm-registry-packages"}},"2.0.0-experimental.146991a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.146991a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.146991a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"09177dd0538e1d89dbeb45e84f5a0efe0f27a1b8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.146991a.tgz","fileCount":40,"integrity":"sha512-42r6Pq/gk2Eapk9TXSTkx70tX17d2X4wnd+UN1Cx6tGUik/RccLM3Lghi4rSebeAlqFunJ2mZZk5YIbrjH+SUQ==","signatures":[{"sig":"MEUCIDdeElrlT2cGw5t0NPO8PYJYGDmyzi2TFAQUuun6qEhgAiEAqBwsJ1OQY4FHx2DIYBSRwvRpU5h6Uazi/4GlCn4yP5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.146991a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/3dcab2dc897841ff33fe513d4f10068c/solana-rpc-transport-2.0.0-experimental.146991a.tgz","_integrity":"sha512-42r6Pq/gk2Eapk9TXSTkx70tX17d2X4wnd+UN1Cx6tGUik/RccLM3Lghi4rSebeAlqFunJ2mZZk5YIbrjH+SUQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.146991a_1697818816177_0.18482477214280046","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e8095b1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e8095b1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e8095b1","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e54ea6224187b8bbf09fdf16b1fb12c1704b0452","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e8095b1.tgz","fileCount":40,"integrity":"sha512-m8MIe25aFL3GTzKeac1w2aFRj3BVKhnWDkJr3h16Ns28kIXd0d4Mb8Cys7JdZH5mozQD3xxiuiwiW+7W/doaWg==","signatures":[{"sig":"MEQCIDzKB2Dde6U3GeFJbH+bJChd1ejEu5iSMkvI6CYR4SVuAiBPwPaG9S3syCPjLbmA3Tn0uCu3/6myhNdJ5QHwtBfP9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e8095b1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/eceb6601415a3f88c52e137601da95a4/solana-rpc-transport-2.0.0-experimental.e8095b1.tgz","_integrity":"sha512-m8MIe25aFL3GTzKeac1w2aFRj3BVKhnWDkJr3h16Ns28kIXd0d4Mb8Cys7JdZH5mozQD3xxiuiwiW+7W/doaWg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.28","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.2.3","jest-runner-eslint":"^2.1.0","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.6.4","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e8095b1_1697819144749_0.15459739862183985","host":"s3://npm-registry-packages"}},"2.0.0-experimental.03b965b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.03b965b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.03b965b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"126eea10c376efa1dcc64e973d7a952ab6e95e65","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.03b965b.tgz","fileCount":40,"integrity":"sha512-yaJB4afJIjHt1cBygHFf7QEXQYPvj6aVQND0paUdghP4fG+HD40qrNLbTCngY/F7hq1HK8+8ZnCuOEwlsiU1UQ==","signatures":[{"sig":"MEUCIQCharmbWUiDzxDwi7nFn1frYGWmLyjJpAhowqLo4EgmCAIgIYq4AeRnyfnV7Y5/dv1TSSOwyR+mvTaYoHJkqNV6hN4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":349234},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.03b965b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/2f3997c1213714434fe1a5b252edead6/solana-rpc-transport-2.0.0-experimental.03b965b.tgz","_integrity":"sha512-yaJB4afJIjHt1cBygHFf7QEXQYPvj6aVQND0paUdghP4fG+HD40qrNLbTCngY/F7hq1HK8+8ZnCuOEwlsiU1UQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.03b965b_1697822195244_0.5519019147544164","host":"s3://npm-registry-packages"}},"2.0.0-experimental.70ec746":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.70ec746","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.70ec746","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e9a0ef114b72acff422b6ad68c746dfa715a0f8e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.70ec746.tgz","fileCount":27,"integrity":"sha512-gjdXw5RsldHaG2Rk9zui6/gz+sm2suXaOyrwR56ndzqhBvENzIXSGPqx7cOd0rJC34q3vy/yMLjGqVRfwToJBQ==","signatures":[{"sig":"MEUCIQDFj7ysE6Iz+0BtZ6Xv5vuf1YGhVYCHo4SY+CnUagi+lgIgBj4ZKWgce448WyQgTnCyjZgfWDV9ymoCz9Hia84yXuw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310748},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.70ec746.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/74b16d36c52454878e41f2d459243e36/solana-rpc-transport-2.0.0-experimental.70ec746.tgz","_integrity":"sha512-gjdXw5RsldHaG2Rk9zui6/gz+sm2suXaOyrwR56ndzqhBvENzIXSGPqx7cOd0rJC34q3vy/yMLjGqVRfwToJBQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.70ec746_1697848478952_0.7927776947875635","host":"s3://npm-registry-packages"}},"2.0.0-experimental.be901cf":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.be901cf","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.be901cf","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4b8cdb4756c8638a940ea6dcd4b04b38d456906c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.be901cf.tgz","fileCount":27,"integrity":"sha512-FE49IleC0R3olF2wa7a4ZQYc88E92tFmd2Nq0b7cUAJhjlEmqz5Vea0xES80Fj4RiC1qJG/tZVdv5K5HDEdGfw==","signatures":[{"sig":"MEYCIQC81uiSVtIAIxcP0TIQ5ovwowmA/osVzBdSiySiOHwM+QIhAMtBIcoAT0yeJ5ql8RtfpJi8wCkOq/pnUPPzFka11Fib","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310748},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.be901cf.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/ba2b71d03a1d4a1a0a9a14f86d95476e/solana-rpc-transport-2.0.0-experimental.be901cf.tgz","_integrity":"sha512-FE49IleC0R3olF2wa7a4ZQYc88E92tFmd2Nq0b7cUAJhjlEmqz5Vea0xES80Fj4RiC1qJG/tZVdv5K5HDEdGfw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.be901cf_1697848778146_0.18483864333432942","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ce145c8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ce145c8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ce145c8","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8859b9d70f12a90a56c8006aedc9758e7051829d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ce145c8.tgz","fileCount":27,"integrity":"sha512-fkUdsA6putRTahW4HBtHqiAfdFce2cSbSui5xaJw2WpG0GIXo0NzBKz9+CYFBRAy6+jf1CTUBfmSXkGlNs0aAw==","signatures":[{"sig":"MEUCIQC2CBsSqZn5NyD+Ey5oKcN5XqPjcPsr2XqNIxJMLUXP7AIgDV/MouW74HooZ6H24xlEuufbwFzyYgh0GOj5CnWAczY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":310748},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ce145c8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/cf8cee3f00fe3a0e3b074955dc695a47/solana-rpc-transport-2.0.0-experimental.ce145c8.tgz","_integrity":"sha512-fkUdsA6putRTahW4HBtHqiAfdFce2cSbSui5xaJw2WpG0GIXo0NzBKz9+CYFBRAy6+jf1CTUBfmSXkGlNs0aAw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ce145c8_1697849225362_0.3063967382986488","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ba9b4c7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ba9b4c7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ba9b4c7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3f3311c24d05ecaf35db0ed702895dfd208f0cbe","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ba9b4c7.tgz","fileCount":27,"integrity":"sha512-FKbDR3+zGoT+/j9xMKwFSFsHZlpceYvY9EMX43cqvEsGS/Xv1Hqd9cJLK1CLikV0cwRhUjGvqS74tsAzILK+hw==","signatures":[{"sig":"MEUCIQDyWxaj067EbVMqKBzgR+Vl8Q42PLrtg3FKwgkaVcMq9wIgCuN8B2uMNJv+BZMd0WBcdobh2WKX9kvG0KxxoNZkEXo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312082},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ba9b4c7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/f7061a122e21b2b3a8d12736b72105f6/solana-rpc-transport-2.0.0-experimental.ba9b4c7.tgz","_integrity":"sha512-FKbDR3+zGoT+/j9xMKwFSFsHZlpceYvY9EMX43cqvEsGS/Xv1Hqd9cJLK1CLikV0cwRhUjGvqS74tsAzILK+hw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ba9b4c7_1697955057009_0.08506428454637516","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ce179f2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ce179f2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ce179f2","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5628abb9a0428bd0672aa647a0dff2202e9c492a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ce179f2.tgz","fileCount":27,"integrity":"sha512-ZJq1pwY8C1jAh1IUGPuqYp1WCjAI7YHQcKJin/Ayl/wD/BJhwBtaI9w60D57kq0Hy6fg8l6qIqWZrnSJ9zUJcg==","signatures":[{"sig":"MEUCIHxwp+Ghn35ZOV59PctUaz55ojOUWlj0QtaEXP9OW8c1AiEAk8lWlT2qmA5xSy0aUwbkbgao1xpfRcjCsiBo31kWuek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312082},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ce179f2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/b726a9b8ca0f8d72aab76dbbe8bdd584/solana-rpc-transport-2.0.0-experimental.ce179f2.tgz","_integrity":"sha512-ZJq1pwY8C1jAh1IUGPuqYp1WCjAI7YHQcKJin/Ayl/wD/BJhwBtaI9w60D57kq0Hy6fg8l6qIqWZrnSJ9zUJcg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ce179f2_1698046344876_0.33740853754769473","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5ede703":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5ede703","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5ede703","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7eeae352df2beb535190f76ec54ad92b83eb9f9d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5ede703.tgz","fileCount":27,"integrity":"sha512-o92uYs8lRcRon6SErFMyC6z0vnWfDLgxMLFq7131HKwb8tAs+i7PXtSl7tMIY+H3VIJEwc2Xo1ohwYhY8t/urw==","signatures":[{"sig":"MEQCIC+gv0mN6nxXlrCxuJVBzmeys5jdl4xIeW/EDJ0PaxddAiBH3Tf0MOntvxT/0L6ag/DkA5bdza3pTME+u0H9B6+BMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312082},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5ede703.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/e1314b92c3b713b52dbedeb6a809e85c/solana-rpc-transport-2.0.0-experimental.5ede703.tgz","_integrity":"sha512-o92uYs8lRcRon6SErFMyC6z0vnWfDLgxMLFq7131HKwb8tAs+i7PXtSl7tMIY+H3VIJEwc2Xo1ohwYhY8t/urw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5ede703_1698046598551_0.49285070167036293","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4199b4e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4199b4e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4199b4e","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8dca45ad329357d3e0b7347bf198ded4c53e2851","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4199b4e.tgz","fileCount":27,"integrity":"sha512-Bu3glLGO4uO5GqLOlgvrbWQ/SQDCChmulO6a3XyvfNDbRjP3s481h42qiiEVfgyyThV5AyNohu6QOwROXYYOXg==","signatures":[{"sig":"MEYCIQDv7l/FOl3CJClz794E3yHfCjACUj4S8DU4HSkDmylUMAIhANhpvcG8oQ+op0iUzrIELlJC6AewxjaIbGCmyc6eCVB+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312082},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4199b4e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/9bb71279f2d338c6dc84143322e532a4/solana-rpc-transport-2.0.0-experimental.4199b4e.tgz","_integrity":"sha512-Bu3glLGO4uO5GqLOlgvrbWQ/SQDCChmulO6a3XyvfNDbRjP3s481h42qiiEVfgyyThV5AyNohu6QOwROXYYOXg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4199b4e_1698046619248_0.19996270766255075","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d4b2978":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d4b2978","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d4b2978","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dedaa10961b9e978aacede088dee2e97f9f733f4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d4b2978.tgz","fileCount":27,"integrity":"sha512-0RmncYnAkqbSCRhH1zi8ndEhnicFxskqx/uimFkUXcEwbhQXVM586mMjXzoRSrAxfXnmPVlV184Ou7JoKfE6Bw==","signatures":[{"sig":"MEYCIQDAiVtlZyiXeJkIpAFopdU5t0nEmaulXtRAU95fWpi/sAIhANUYCi1hyLuVnbYuRo5rrlo5U1uBQwDtUB9kQfQaWCiQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312082},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d4b2978.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/74d93443b859fdfc74c36cb3c779f9c5/solana-rpc-transport-2.0.0-experimental.d4b2978.tgz","_integrity":"sha512-0RmncYnAkqbSCRhH1zi8ndEhnicFxskqx/uimFkUXcEwbhQXVM586mMjXzoRSrAxfXnmPVlV184Ou7JoKfE6Bw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d4b2978_1698049857491_0.8150164342777322","host":"s3://npm-registry-packages"}},"2.0.0-experimental.69a8ad2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.69a8ad2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.69a8ad2","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f800f8156294c3df12da22f5bb84f02a955b566c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.69a8ad2.tgz","fileCount":27,"integrity":"sha512-FwfKqH/VSb68e3l81usde36K1zbfh66g5F+fpDaZxssMFjDXtBgBKNEXu5Rlai9YEcOuK3d0Xk3dpkEA0mF/Sw==","signatures":[{"sig":"MEYCIQCAbKK83dGOGrukcVYf1Tmzb5+NqdTou51Qz/pRz34Z0AIhAJGc5jA2TgO1/hj8swGMguhkUoTKEFybAEkctpwcHFKz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312082},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.69a8ad2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/5a0dd42ca9fcc244536103178e3f4385/solana-rpc-transport-2.0.0-experimental.69a8ad2.tgz","_integrity":"sha512-FwfKqH/VSb68e3l81usde36K1zbfh66g5F+fpDaZxssMFjDXtBgBKNEXu5Rlai9YEcOuK3d0Xk3dpkEA0mF/Sw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.69a8ad2_1698051750233_0.9454895196974937","host":"s3://npm-registry-packages"}},"2.0.0-experimental.19791fe":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.19791fe","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.19791fe","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"827d9c5050a2bd109f6c2132e3a57f26f060946b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.19791fe.tgz","fileCount":27,"integrity":"sha512-Y0P7/SqOky3lV6Ck7/tc2wNJ8zlCUulx1HQI0M5ekRmyh1bWzhyK1GjJo18/IbFBMn12Arv4cmtAWdfcnjJemw==","signatures":[{"sig":"MEYCIQC9YUbvslmu7fUEMh21YgZ2G+1qW0pj0mqmFPeV/8x+TwIhALmDy82Ba5AOMGPE36kwaFmPMq7LsB7R60f7qRLAHsrd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312082},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.19791fe.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/2eb24aea8ce048950250bfe8a38f348d/solana-rpc-transport-2.0.0-experimental.19791fe.tgz","_integrity":"sha512-Y0P7/SqOky3lV6Ck7/tc2wNJ8zlCUulx1HQI0M5ekRmyh1bWzhyK1GjJo18/IbFBMn12Arv4cmtAWdfcnjJemw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.19791fe_1698078177500_0.7705580985405427","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ed12a35":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ed12a35","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ed12a35","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"435df88a09c2a6c61496aa2a101b5215f71d8ad0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ed12a35.tgz","fileCount":40,"integrity":"sha512-bUaO6eW5Ztks7hVRcw52V5jNpRbeH6yZaAEcgaAaQdc5b7TvgpZpTPRkT9YzfzBMewOs/55S3RAueXMGgkEmKQ==","signatures":[{"sig":"MEUCIQCA+Iu1eNkTe9GlGYAPF6UMh2wyhxN4x/NqzajcUXg3pwIgTjatVtf9mCpc8dDRrGnR60dqdYfRO/DXGyf2VNeR/sA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ed12a35.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/539a45289477c80dbf3cfd4a763bc1fb/solana-rpc-transport-2.0.0-experimental.ed12a35.tgz","_integrity":"sha512-bUaO6eW5Ztks7hVRcw52V5jNpRbeH6yZaAEcgaAaQdc5b7TvgpZpTPRkT9YzfzBMewOs/55S3RAueXMGgkEmKQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ed12a35_1698078273107_0.8053532613087917","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cbd5bb6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cbd5bb6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cbd5bb6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"cc63238d3008a2b4d4487bc6ede02a294d297333","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cbd5bb6.tgz","fileCount":40,"integrity":"sha512-WrxiamXjVi71HsBz/dTnracrxNEu38HEepqUq/MPm3sbixxXTiKWJ0/9kxcs4FFkvHXwYqtIr2c8ALH/HLl2aw==","signatures":[{"sig":"MEQCIAEBZX7SYsYJ2L+TCq2xoWSpD7ObBw5GJR44/BNTWwFeAiB9EUWqYmu/LFFHyEUicI18uVZkQcbuZ9211ybfJixV9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cbd5bb6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/2fca80ba015cd3e395b78394002c344d/solana-rpc-transport-2.0.0-experimental.cbd5bb6.tgz","_integrity":"sha512-WrxiamXjVi71HsBz/dTnracrxNEu38HEepqUq/MPm3sbixxXTiKWJ0/9kxcs4FFkvHXwYqtIr2c8ALH/HLl2aw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cbd5bb6_1698078313612_0.2892048861072778","host":"s3://npm-registry-packages"}},"2.0.0-experimental.572d28d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.572d28d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.572d28d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"52b2240229233eabc689315e33e646c58299d5b6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.572d28d.tgz","fileCount":40,"integrity":"sha512-9+12I72VfNMOZ2QJb5A//D2eSstcBYFdglEB8Kp4Iz3hmiHMGj4JHbp2PxY1HcwH+IaxJtIj5idwYdDlbOKMWg==","signatures":[{"sig":"MEQCIB+IN+LtT5qFVXZaMEYTBFfhaRLKUvaxJtug/KCVIiEHAiAb+RZ5ZiBWTgLCyxWDC2YMMCFVuW4Uf4EWDUPxZTsPjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.572d28d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/9f108ffc3a2dbee482d83a669b2d5463/solana-rpc-transport-2.0.0-experimental.572d28d.tgz","_integrity":"sha512-9+12I72VfNMOZ2QJb5A//D2eSstcBYFdglEB8Kp4Iz3hmiHMGj4JHbp2PxY1HcwH+IaxJtIj5idwYdDlbOKMWg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.572d28d_1698078434456_0.44181917041397867","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4f93ce8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4f93ce8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4f93ce8","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ba1f58f0e2633af9a894f6749589c56574d29521","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4f93ce8.tgz","fileCount":40,"integrity":"sha512-do8kDGA7EgXwsVMp5wIQZTLDQ46zzTVwPNMSl6tA62YIwzmFcHC8BLzUgV1RQqBoNitdtPwIj0WyoA+AHGkiIw==","signatures":[{"sig":"MEQCIGjXlt7PrQYo4ja5cqikoHxMlYXyKkEOp6Vn6sS43ugYAiBqrX5A/0PLUAcnBWHxyL+5mlyPcv1rADXaqAScNohDOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4f93ce8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/2a5b2f87e114042ee3d2324c005fdb9c/solana-rpc-transport-2.0.0-experimental.4f93ce8.tgz","_integrity":"sha512-do8kDGA7EgXwsVMp5wIQZTLDQ46zzTVwPNMSl6tA62YIwzmFcHC8BLzUgV1RQqBoNitdtPwIj0WyoA+AHGkiIw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4f93ce8_1698078562126_0.47781093339347236","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7a1b905":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7a1b905","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7a1b905","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"25a911461cda7d825d4cd2ef3086ee38e46f8957","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7a1b905.tgz","fileCount":40,"integrity":"sha512-k8/EB3iP29sgk0zmwHHw35NjxyQiRAEmlueu1NRQoEd9Q111Xum9HAPEejY8Y+eSTF5aaIi8tsLrp4IOvCi5sQ==","signatures":[{"sig":"MEYCIQD9aY99PDkqi/g+t+N2fw4sq6ScCvaicWPDdlptiwAj2AIhAOdYMQCxaT7XIQ+Tfzge9wmCh8TpeOlTl0zjwnJI8BBq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7a1b905.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/ccff5afd4e01104dd0a1b24357b1b91a/solana-rpc-transport-2.0.0-experimental.7a1b905.tgz","_integrity":"sha512-k8/EB3iP29sgk0zmwHHw35NjxyQiRAEmlueu1NRQoEd9Q111Xum9HAPEejY8Y+eSTF5aaIi8tsLrp4IOvCi5sQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7a1b905_1698078606489_0.7752053922761692","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8a35d54":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8a35d54","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8a35d54","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"26000f897c835aec499af1a7509dd9ecf6c70c85","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8a35d54.tgz","fileCount":40,"integrity":"sha512-scV/8Z+vJM6MApOBZUwynmJR0QLD7MKPX4Pmtp3YHh8Bs0Ex/TmiznUe1+miRNG6jFIkZdGRnHCjkoEd0ydWGQ==","signatures":[{"sig":"MEYCIQCG1jCxOT5hElW+0dzPRAYhy5v8sJUEC+ALvkLZxFGe8gIhAOOpRi61uci9CkTeaCRyblAEZJ0iHUg3fZ6Cf9LTr5uA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8a35d54.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"buffalojoec","email":"joe.caulfield@solana.com"},"_resolved":"/tmp/aaa991aaba07c432d8b66c9aef12cba5/solana-rpc-transport-2.0.0-experimental.8a35d54.tgz","_integrity":"sha512-scV/8Z+vJM6MApOBZUwynmJR0QLD7MKPX4Pmtp3YHh8Bs0Ex/TmiznUe1+miRNG6jFIkZdGRnHCjkoEd0ydWGQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8a35d54_1698078656559_0.20405779196179719","host":"s3://npm-registry-packages"}},"2.0.0-experimental.25278c4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.25278c4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.25278c4","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"abb5c10a160ada2841ecc54caa62635378419083","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.25278c4.tgz","fileCount":40,"integrity":"sha512-Y9eyLQ18qg3C30+ynN1s5epyxk0/2PxfCwp9GiXCLDCXqheXs0AL+OA3NdUbSPySuFN4mF7XxkQ/ThkTSG8J8Q==","signatures":[{"sig":"MEQCIDcMYyXNPuLd2Wqn/pxzofOhQrHuJHVTaIYrzoktca5zAiAab2iU+5zlENmnBDAy9F4u7RLRa7+JRO7op50Q5wPMcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.25278c4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ce70e98ff5bd8c4728066c34aa16feea/solana-rpc-transport-2.0.0-experimental.25278c4.tgz","_integrity":"sha512-Y9eyLQ18qg3C30+ynN1s5epyxk0/2PxfCwp9GiXCLDCXqheXs0AL+OA3NdUbSPySuFN4mF7XxkQ/ThkTSG8J8Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.25278c4_1698128992213_0.39717188217870003","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6d18167":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6d18167","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6d18167","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"eb5b7756c6e098f4e9d1f7cf0cd5a243b3542324","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6d18167.tgz","fileCount":40,"integrity":"sha512-RDjF/slODY899tfICLRGFOMsbvBm3YuXDectzq5QvU9jcgDo2eRqzdu5aOk6Sx2G8PEK/YojcK0U1IvClDSIiw==","signatures":[{"sig":"MEQCIF1emJLqCWdCn/g/7OWUTbV5JQ8GKiKJ63tfWVyah6gxAiAJ5PrtcSrs+erspPoBgucuz34CgMjNF0t3te/S+Fbiag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6d18167.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7f5f51de205dc05ebe39f539bfad281f/solana-rpc-transport-2.0.0-experimental.6d18167.tgz","_integrity":"sha512-RDjF/slODY899tfICLRGFOMsbvBm3YuXDectzq5QvU9jcgDo2eRqzdu5aOk6Sx2G8PEK/YojcK0U1IvClDSIiw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6d18167_1698130189561_0.27932532723661696","host":"s3://npm-registry-packages"}},"2.0.0-experimental.58b1699":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.58b1699","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.58b1699","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5ec01a8db04ed75abcf929cbfd1a24f677778a42","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.58b1699.tgz","fileCount":40,"integrity":"sha512-J6pUETkDzzQFkYSHS/eMo0/2XVVXcfdEqJRwonCB9qAg4mMNgtnFGMbURis8RlDYiUT1xRx55bydQF2ToFGkUg==","signatures":[{"sig":"MEYCIQD1fiT2lQoX7Mm6UNP8bWeeJqQWWglxGWhcZhii4cjkNgIhANET/7bm0zh7WIKZ6UUApDjXLH5xsJqwWvFdByNVtW3T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.58b1699.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c389c3b6d5cf79799f6e5a8f9d3778c7/solana-rpc-transport-2.0.0-experimental.58b1699.tgz","_integrity":"sha512-J6pUETkDzzQFkYSHS/eMo0/2XVVXcfdEqJRwonCB9qAg4mMNgtnFGMbURis8RlDYiUT1xRx55bydQF2ToFGkUg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.58b1699_1698131174783_0.900412517748783","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2938d71":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2938d71","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2938d71","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"21e420bf979c4887360ccaf54632a02ee3d79898","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2938d71.tgz","fileCount":40,"integrity":"sha512-JDonINSzwq8ay6C5MU+TqE9zDnrbb7bFBfjZeO6nLzvTb67iC3ogoHhDKK89x0B3MdQe1/pnB4cnAOXWXaPFqQ==","signatures":[{"sig":"MEYCIQD9TaZwdEuT5HBn8m6JUU8dXVxVfLf22B4AaoMBBTF95gIhAPz1mVCo3VaPPHpXFmM8zISsBj5kyw7GInOpSqDORCXN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2938d71.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a0ab9a1ac00f5d310f973c177d290fcd/solana-rpc-transport-2.0.0-experimental.2938d71.tgz","_integrity":"sha512-JDonINSzwq8ay6C5MU+TqE9zDnrbb7bFBfjZeO6nLzvTb67iC3ogoHhDKK89x0B3MdQe1/pnB4cnAOXWXaPFqQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2938d71_1698132595689_0.271889864062681","host":"s3://npm-registry-packages"}},"2.0.0-experimental.df45965":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.df45965","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.df45965","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"74d21c0ac70dfa079535a624cf1e0f0f66f0cada","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.df45965.tgz","fileCount":40,"integrity":"sha512-283mlafYXbecSCL/Dqui+ilhVUAApaTWJVhECchIFHHM7s16/OKirvgeVYPkVx1rwJDZ4msT36wOCqFYqcNgPg==","signatures":[{"sig":"MEYCIQDBkDqmDHUeDpv0Muc8nZe20DnDq8pwmDf/M42aFnzU1wIhAJZXK/pX4gNdsIBXHO76LRCqtBpHU+cGrkDtPmH1En0x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.df45965.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c79be4c903880722d168ee125f2ecc97/solana-rpc-transport-2.0.0-experimental.df45965.tgz","_integrity":"sha512-283mlafYXbecSCL/Dqui+ilhVUAApaTWJVhECchIFHHM7s16/OKirvgeVYPkVx1rwJDZ4msT36wOCqFYqcNgPg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.df45965_1698179447835_0.056282581931098585","host":"s3://npm-registry-packages"}},"2.0.0-experimental.68e85dc":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.68e85dc","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.68e85dc","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dd87f18289cc3a3e0d7dce8cb76ee41e5e91d784","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.68e85dc.tgz","fileCount":40,"integrity":"sha512-34UOjtzflE5HfA8sXYMS593eod76yAzN7Mqrq4qL15bSUJuNJzF42svlEOOFtulp3jgIFxMlvbMLV5zrKtqcTA==","signatures":[{"sig":"MEUCIQCKrL34oJyluc9jraGJiT09sgdff1eZWUtH+Jp9+rdbPQIgaOIAm+x4gGc8b7+BUdbLLZiymHqTsvGtjd3eM8fXuJE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.68e85dc.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/aae627b1dfe9b6dcb979782cbfaacf68/solana-rpc-transport-2.0.0-experimental.68e85dc.tgz","_integrity":"sha512-34UOjtzflE5HfA8sXYMS593eod76yAzN7Mqrq4qL15bSUJuNJzF42svlEOOFtulp3jgIFxMlvbMLV5zrKtqcTA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.68e85dc_1698224616216_0.14656616002141676","host":"s3://npm-registry-packages"}},"2.0.0-experimental.589c379":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.589c379","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.589c379","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9633bb262587ded9f2f85fa37a9c0453751376f7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.589c379.tgz","fileCount":40,"integrity":"sha512-9cn5bdtDmkdggEKhbzNnlFhw7N0+Vyb3EZILoOMlQPc0nP7q+VkfRa5ScqdUtjlLHHgrkXdSX/s9PoWLvosi+w==","signatures":[{"sig":"MEQCIDcHpBMwT1tf2Df4RPgB1aQsQ7RcN5GvGTMAS9kDeaXzAiAMzfGf4Pa0V597dtjDBqfJt6gand8vRwb9mWAQMNSm1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.589c379.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8f7a0d1d88d1a6fa9da9791d8c6de671/solana-rpc-transport-2.0.0-experimental.589c379.tgz","_integrity":"sha512-9cn5bdtDmkdggEKhbzNnlFhw7N0+Vyb3EZILoOMlQPc0nP7q+VkfRa5ScqdUtjlLHHgrkXdSX/s9PoWLvosi+w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.589c379_1698226872162_0.14913910945661746","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6910664":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6910664","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6910664","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5591bfb6b92131020f49a0f6cfb3c9f717cf9faf","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6910664.tgz","fileCount":40,"integrity":"sha512-pdUwvD6pTxFDQfBrjNutH69qfZFD79XttK7j4s2teqe1kcvSiOCpOLSkkrvoUkbiXH+oIcnwok02d5S5zvrFpw==","signatures":[{"sig":"MEUCIFHbLX0DXn/y7KdByqbF3vf0Sa2ORRRhQqXMX6YrU1pDAiEA843W4IE3h5K7JHFBbBSyyykPfafTuX4h1/XHSsMN+cc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6910664.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b5e7ffd679752c41c11111927a2af5d9/solana-rpc-transport-2.0.0-experimental.6910664.tgz","_integrity":"sha512-pdUwvD6pTxFDQfBrjNutH69qfZFD79XttK7j4s2teqe1kcvSiOCpOLSkkrvoUkbiXH+oIcnwok02d5S5zvrFpw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6910664_1698337033156_0.09459499680667216","host":"s3://npm-registry-packages"}},"2.0.0-experimental.10bfcd8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.10bfcd8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.10bfcd8","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5b73511db9b33ce0cc9cb7340a8802dcbaee1ce9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.10bfcd8.tgz","fileCount":40,"integrity":"sha512-qYSJCveGl5lw0xtJC3gIgFWns5dwNXAzt4FPgCmJCHIconZNf21T6uH/9nvcrM3dFULU4jMkdaSI6rOY5VMIUQ==","signatures":[{"sig":"MEYCIQD9gKqgGHjgZEBzxk3+kJU73svazmTc6uCIJYE3S4l30AIhANaoUlvpc3b29gzrFj9L0Ua3ywrPnaxNsIkQMAidL/9A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.10bfcd8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a0a72707e1ab68b77875825aae9455b5/solana-rpc-transport-2.0.0-experimental.10bfcd8.tgz","_integrity":"sha512-qYSJCveGl5lw0xtJC3gIgFWns5dwNXAzt4FPgCmJCHIconZNf21T6uH/9nvcrM3dFULU4jMkdaSI6rOY5VMIUQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.10bfcd8_1698418557062_0.9149030448437323","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8a9aea0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8a9aea0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8a9aea0","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6e0d3612b5a206f5315717f7edc937471277da1d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8a9aea0.tgz","fileCount":40,"integrity":"sha512-RQ/WpM7hexZb/auHASa9Ds4Sb59cMue/ABoDeYQM6jnR9x+VPOv5ZtuO5ornQCIBjsh0h+VoRtuLRfmOd9cPTg==","signatures":[{"sig":"MEYCIQCNfjXR91PAwm3vUtxpLXb/yWlW12cF5hInLXrbMaIbBgIhAK7T7TCqFDmWfgNuC/QCLG25zcVFNfjXPL7fZ2lbTOcn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8a9aea0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9420850e4336a0c9396eba7775eca537/solana-rpc-transport-2.0.0-experimental.8a9aea0.tgz","_integrity":"sha512-RQ/WpM7hexZb/auHASa9Ds4Sb59cMue/ABoDeYQM6jnR9x+VPOv5ZtuO5ornQCIBjsh0h+VoRtuLRfmOd9cPTg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8a9aea0_1698419156726_0.39003111915449895","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cf6ca9d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cf6ca9d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cf6ca9d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c170b6dd4e6883dc5172f2e035b12a85164bead0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cf6ca9d.tgz","fileCount":40,"integrity":"sha512-bgdmOJsCUsy1QhSyP2bU0LMzqY+R9uhu4GCubOrv7DPeuQkoJmcSxpLs0nxPKiX7KAsZLx7JGebB1JOn1dtmxg==","signatures":[{"sig":"MEUCIQCTJIEYO0gv/mO0PaLvWyVRNYc+B5kRW4GxlHvBnIKhowIgPHmnG4yIGzlrbDxBlY4KNQ5DExmVk8E80cSV0Bca76U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cf6ca9d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e56211a28ad49b978d7e8c4d22f76d34/solana-rpc-transport-2.0.0-experimental.cf6ca9d.tgz","_integrity":"sha512-bgdmOJsCUsy1QhSyP2bU0LMzqY+R9uhu4GCubOrv7DPeuQkoJmcSxpLs0nxPKiX7KAsZLx7JGebB1JOn1dtmxg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cf6ca9d_1698427970285_0.34338741715754373","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e9e224b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e9e224b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e9e224b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5f1c775416acac2d86f7a145d32cce1c88d98390","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e9e224b.tgz","fileCount":40,"integrity":"sha512-lGPZWjLwZoxgL7wuSSNL0YnhLjZl2poAQvt4kO84ZSbfiypoBYzyBePV2Yu+qGsqAC5e9iV6rdl3MzoSAkdk3Q==","signatures":[{"sig":"MEQCIGTl5Mg+bSTzNBcwnJ1INtJ/vMQZpyZGH+bDNmOySATnAiBebG09lTfSDDxIx3DjdXk40Jf+Ysb/6GVWjAifGLdkkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e9e224b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ac9f7d8f4dfb5b26f82df49e7b40bd1f/solana-rpc-transport-2.0.0-experimental.e9e224b.tgz","_integrity":"sha512-lGPZWjLwZoxgL7wuSSNL0YnhLjZl2poAQvt4kO84ZSbfiypoBYzyBePV2Yu+qGsqAC5e9iV6rdl3MzoSAkdk3Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e9e224b_1698428442558_0.691637267256568","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8c5ac55":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8c5ac55","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8c5ac55","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"93224fd398f0105947f5c0f665e30fa1f99f53c4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8c5ac55.tgz","fileCount":40,"integrity":"sha512-1UvKhkjmDDf/3sdr0OBydRBrwoD5FWjGfMIWUCPBoEVSX2QsrSQR9crklSvQRvToyvZ93LIhm32stwTmOMcNrw==","signatures":[{"sig":"MEYCIQC4ENe/tXiLFbAcgrfhNfkKDN3e4ZY6JltzXY/Gs1oqfwIhAMlpe+05Uc48t2VY1a2Lhwc1hc6kZELbKo8Sb0G8kZ9k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8c5ac55.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b4ea696e3ca3e389c939bcc538f85057/solana-rpc-transport-2.0.0-experimental.8c5ac55.tgz","_integrity":"sha512-1UvKhkjmDDf/3sdr0OBydRBrwoD5FWjGfMIWUCPBoEVSX2QsrSQR9crklSvQRvToyvZ93LIhm32stwTmOMcNrw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8c5ac55_1698445280041_0.4581837396711954","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fe07532":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fe07532","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fe07532","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"54615ac98288519dd937183b4b5582ce80255927","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fe07532.tgz","fileCount":40,"integrity":"sha512-eyeZ4bp7Gq2vEBJQ/S6ga2pIjHLD8/VPnLDjpXBOvbVEE+Jhvv3cFVaoqppDlukQC5uhcd61lZWzYrPRSpBabQ==","signatures":[{"sig":"MEUCIG2gXcQLwXdSuqu9D9vsnAMvMbr+KbxaYzaKmnpJJk0AAiEAzqKFRCPFvvP+Prl928hRW0VmNuDroHFGL3dQQjtR5V0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fe07532.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d10c78121b42e783739b54ff075db8c8/solana-rpc-transport-2.0.0-experimental.fe07532.tgz","_integrity":"sha512-eyeZ4bp7Gq2vEBJQ/S6ga2pIjHLD8/VPnLDjpXBOvbVEE+Jhvv3cFVaoqppDlukQC5uhcd61lZWzYrPRSpBabQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fe07532_1698445380928_0.8426069529539912","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fd11bd1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fd11bd1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fd11bd1","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b718592a9ce67632908f103fee3f3cb9ec0a018b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fd11bd1.tgz","fileCount":40,"integrity":"sha512-ovyuJRtmV9+iyoeTzCnmgxAiMkPCyTTndPu1XHzqVI1TED9uiD0rS+Yakzlx986C/rUgW+DIphcVuRye2DQ5BQ==","signatures":[{"sig":"MEUCIEiVIgrs2vVfsR4qT8kWbKEhyEo/+OEagTbz73UM9o1NAiEA9r0BRLUFtwPx+9J39CLzFCjnBrLpmf8pbOooAz5dAYg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fd11bd1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/52417ae907ceef657edbcce3ced3a4fb/solana-rpc-transport-2.0.0-experimental.fd11bd1.tgz","_integrity":"sha512-ovyuJRtmV9+iyoeTzCnmgxAiMkPCyTTndPu1XHzqVI1TED9uiD0rS+Yakzlx986C/rUgW+DIphcVuRye2DQ5BQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fd11bd1_1698445437994_0.7937874312990547","host":"s3://npm-registry-packages"}},"2.0.0-experimental.38794f3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.38794f3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.38794f3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"cfb2c2e7a6f07a4bccba1aae040b3532ee257b13","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.38794f3.tgz","fileCount":40,"integrity":"sha512-jBmPsr2Y/I4m1YkHt3rbEc7u9F8oeuvXwFKUGrTJbTczs0NlnPY3Uq49qW4TJUJ/uz3fLrK3DJb6pACfk61yfA==","signatures":[{"sig":"MEUCIEeJIfFtNPaJ11bu203lDSBxtj/wit6q33NSX0V5eNQdAiEA1tal5gSvi0m5QmtiOPy2feP+By2ub5Tk0bKcrCZM800=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.38794f3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c02a52193e009c129cef96fbe480572e/solana-rpc-transport-2.0.0-experimental.38794f3.tgz","_integrity":"sha512-jBmPsr2Y/I4m1YkHt3rbEc7u9F8oeuvXwFKUGrTJbTczs0NlnPY3Uq49qW4TJUJ/uz3fLrK3DJb6pACfk61yfA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.38794f3_1698445485259_0.7273191157222043","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9c8a30e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9c8a30e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9c8a30e","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"196d6f683e5e74cd289c0658bb7bf7f62924fdca","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9c8a30e.tgz","fileCount":40,"integrity":"sha512-VX3V6zaINUFQUV1GSJckKTRzrkK9BfnN5s7nkdMKT3sJzRyAaykRzkZXQYUgmwaLm3FD1BuuBjCHyEkTfyypoA==","signatures":[{"sig":"MEUCIQDwDjbtYyZBQ90K4lTHq+u6JCH6TrhlYG0fkvocpW/dvgIgbGg5yLVcR+Z7p1n7l4iyX6cMV40FcG8TqSn7mZAK1iE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9c8a30e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5d979230fa9c240c746a63ca5d7e5f51/solana-rpc-transport-2.0.0-experimental.9c8a30e.tgz","_integrity":"sha512-VX3V6zaINUFQUV1GSJckKTRzrkK9BfnN5s7nkdMKT3sJzRyAaykRzkZXQYUgmwaLm3FD1BuuBjCHyEkTfyypoA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9c8a30e_1698445552570_0.7126135850291804","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0099b2a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0099b2a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0099b2a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"13399b9b35a6fee9faf2d5a797b42c0c2c31a16e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0099b2a.tgz","fileCount":40,"integrity":"sha512-bzH8417Bj8Apqvw2K8lTqvzBtOkZNyTE3FxuGhnT4s0HYDpYlA0E7oHJxmdxb6hm6R72tMuViyYfCE5YgXKLww==","signatures":[{"sig":"MEUCIQC2N7MXizLyVn5yYUXkAkpa196yjpngULTHAh8bYPunhQIgQ8m/fu6YIVhDOxQEZe0d+gv6oTIVjG9XdzpkedYpszs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0099b2a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0201d26fdaaf407f2b0b9971f3306b97/solana-rpc-transport-2.0.0-experimental.0099b2a.tgz","_integrity":"sha512-bzH8417Bj8Apqvw2K8lTqvzBtOkZNyTE3FxuGhnT4s0HYDpYlA0E7oHJxmdxb6hm6R72tMuViyYfCE5YgXKLww==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0099b2a_1698445714479_0.8598692053880255","host":"s3://npm-registry-packages"}},"2.0.0-experimental.762ff13":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.762ff13","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.762ff13","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2b19bd3f176dfc738b97a6c2cff661156fac3362","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.762ff13.tgz","fileCount":40,"integrity":"sha512-+aFtxfKUbFgCFBjPSmQeMW4Jqf2tO6KnnSWZb5t8adJ4151zOETtrsZHeoyZKlsU6XAUbpta6BFOqzFseMCJ0A==","signatures":[{"sig":"MEUCIQCeN0uOW8U8ueGSEJOGovv+gbN40sJ5Cb2jGYKm39LrUQIgexSu9B/Vs5uM+o9BPpRCn8psl8ETCMKsWHy4fzMOsJU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":352102},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.762ff13.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/796db0fe43ccc38eaed135770eba2d1f/solana-rpc-transport-2.0.0-experimental.762ff13.tgz","_integrity":"sha512-+aFtxfKUbFgCFBjPSmQeMW4Jqf2tO6KnnSWZb5t8adJ4151zOETtrsZHeoyZKlsU6XAUbpta6BFOqzFseMCJ0A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0","node-fetch":"^2.6.7"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.762ff13_1698445872421_0.8878876646673579","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d32897d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d32897d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d32897d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4cb83d648355cc69871dfb85f3accd23014b93c9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d32897d.tgz","fileCount":27,"integrity":"sha512-u2RpZ08vKfgl3h6yy31ecy5w05+wKAkTpxUCbKOmQzXG1L49doFwJjH6RrKSEgzTd3l+fMKnDtuATlerHV723w==","signatures":[{"sig":"MEUCID3SZmBt0VkFu/1aDKQyxhvOpxGuuIVAm+1Bd3rueJCuAiEA/Bi91NQcUm51UnBmuqSYxtcevCcIkHRwR4ROvX5hB5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d32897d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/dab5068c8bf9f70823dc5baca2b32169/solana-rpc-transport-2.0.0-experimental.d32897d.tgz","_integrity":"sha512-u2RpZ08vKfgl3h6yy31ecy5w05+wKAkTpxUCbKOmQzXG1L49doFwJjH6RrKSEgzTd3l+fMKnDtuATlerHV723w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d32897d_1698578336916_0.8130878444967118","host":"s3://npm-registry-packages"}},"2.0.0-experimental.70aae9d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.70aae9d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.70aae9d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e0499bcf0b471a9c002f3f6fc458c914a8406ef7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.70aae9d.tgz","fileCount":27,"integrity":"sha512-PZT8A9U7S4Te8/v3wJZlYs01j17LyXMy/mDniR9yd12rVQ5L5XVrHZuCWaEnC1Aofu8mlgDDqF9dCWCkUGr0ig==","signatures":[{"sig":"MEYCIQDliEF9EFp3wA55WImkp50pb2Fs5fS6pToD0mlChdk+zQIhALHv8SlHeO3a9jcE/6FoKRNpmg4cjhz+HuIsWTkzdmPR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.70aae9d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d75b83d8ce05a66572e31c33372caa97/solana-rpc-transport-2.0.0-experimental.70aae9d.tgz","_integrity":"sha512-PZT8A9U7S4Te8/v3wJZlYs01j17LyXMy/mDniR9yd12rVQ5L5XVrHZuCWaEnC1Aofu8mlgDDqF9dCWCkUGr0ig==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.70aae9d_1698747004946_0.3739656624789256","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a23ca33":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a23ca33","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a23ca33","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2f837f158f510b6d20e7669d5a896bcc5751dc6b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a23ca33.tgz","fileCount":27,"integrity":"sha512-nogpCKAY+yD2HyA8D/NBhAtADlYAzm6dFUVJSqEdSIyzxy+uqWo1BDPbJfBW74SvgvbHYftrXCROnYbj28HL4Q==","signatures":[{"sig":"MEYCIQCcbFTjXmX/Zm4kKyVEvhhpIw3MkNwWQv6pKnzSJAVg6gIhAP2F+o7qUnjWpiF+fXDrodycahY1Raz18sVwkhEHaEno","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a23ca33.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/befb6c52986ad6c3e2253a707bcd0f95/solana-rpc-transport-2.0.0-experimental.a23ca33.tgz","_integrity":"sha512-nogpCKAY+yD2HyA8D/NBhAtADlYAzm6dFUVJSqEdSIyzxy+uqWo1BDPbJfBW74SvgvbHYftrXCROnYbj28HL4Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a23ca33_1698913196478_0.8124843356077514","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fbd3974":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fbd3974","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fbd3974","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4b02c4e008c20bfcd6d69c212dbb39cd9e36873c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fbd3974.tgz","fileCount":27,"integrity":"sha512-xZwRdJXbYWwwIJdFj1RI8JLGUPszvwasCtYC0Us7uL3dTer5grcC7dWNRwMBYZ+LYLk7Q68QouQ0zYhD8zE0Xw==","signatures":[{"sig":"MEUCIAb5pRtoJHRRUR7Za2s7X4ck9HrwBWNcw8ND9gtOfDkYAiEAwfVB/+vVNMPSWFXkN0tjriy4dysX2rzQU9SMl0z5288=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fbd3974.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/efddb510c01af0b4dee218e091aca592/solana-rpc-transport-2.0.0-experimental.fbd3974.tgz","_integrity":"sha512-xZwRdJXbYWwwIJdFj1RI8JLGUPszvwasCtYC0Us7uL3dTer5grcC7dWNRwMBYZ+LYLk7Q68QouQ0zYhD8zE0Xw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fbd3974_1698940766296_0.4060817711431144","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b755749":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b755749","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b755749","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c4d17ba478a059c5082d1dc8ee6842260cb42d08","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b755749.tgz","fileCount":27,"integrity":"sha512-GzpxfCMN1r+ZSXJxW0esfwYT36Ww0YkSBQ1A46luY5fmbaarZOcwu1TUKfywLaAIWrwypXzovxJEbw08zFA7kQ==","signatures":[{"sig":"MEUCIQCvUL/5hCnUupKa5/sOlDXz8+V2IWTWeBLK6ntFJuh5ywIgcnVqOoqmLf+/y4J+yO3nqRxC0LS+eCg5ma+LMSutvcY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b755749.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/126afca0db0feaf52b10915f903523a0/solana-rpc-transport-2.0.0-experimental.b755749.tgz","_integrity":"sha512-GzpxfCMN1r+ZSXJxW0esfwYT36Ww0YkSBQ1A46luY5fmbaarZOcwu1TUKfywLaAIWrwypXzovxJEbw08zFA7kQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b755749_1699274978972_0.33787618281078347","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d575f09":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d575f09","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d575f09","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"df11d3b1a4223d625c971598ccc089a47d6bc1c5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d575f09.tgz","fileCount":27,"integrity":"sha512-wpRCaal13PA1bqYKygQiBHRc9x8G8cs8bSh/qqsMZUiJNWTfv4d8LGBbCLXUu7RkAn3DdxJjty5vT503uAJmkw==","signatures":[{"sig":"MEQCIB2lJGyP873ZQLSVqKmkRYsVe2NffBzOHLJSkTcSJmYdAiAgEqRiM3JjOUh88vJlvK/3RoeV1I5QtpAqJPr6KQKCuw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d575f09.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0497b009dbe3239228a28146d37ff69f/solana-rpc-transport-2.0.0-experimental.d575f09.tgz","_integrity":"sha512-wpRCaal13PA1bqYKygQiBHRc9x8G8cs8bSh/qqsMZUiJNWTfv4d8LGBbCLXUu7RkAn3DdxJjty5vT503uAJmkw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d575f09_1699295926835_0.18417382076621291","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ffeddf6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ffeddf6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ffeddf6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"66cad67c61adb73388fdb6f4e0727047b5dc193e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ffeddf6.tgz","fileCount":27,"integrity":"sha512-S9ZrkU0T7A5krcX09p3yFhyFQZDvdEFpjKfuRNQYCCEGQnrSi/ZWd038keyXuW+fgOgQx+QoKaPoY3K2hbkxDw==","signatures":[{"sig":"MEUCIH33sh8b4ZgDtuhz0wddEugptwkPrAC1NxfVv9qDNGrxAiEAnQSGbClAtWm84h9FMqeP5TwjII2kfEsfly6+/E/NAGg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ffeddf6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9484d1e2b0ede8cac7a0ccd907ce2f34/solana-rpc-transport-2.0.0-experimental.ffeddf6.tgz","_integrity":"sha512-S9ZrkU0T7A5krcX09p3yFhyFQZDvdEFpjKfuRNQYCCEGQnrSi/ZWd038keyXuW+fgOgQx+QoKaPoY3K2hbkxDw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ffeddf6_1699366867356_0.7429379191607146","host":"s3://npm-registry-packages"}},"2.0.0-experimental.63683a4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.63683a4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.63683a4","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"96614890ce430a0089c9f78894854fe3d52c0866","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.63683a4.tgz","fileCount":27,"integrity":"sha512-XvwPpUtKsDbS+5ButUW7p+qw+DUOexxPEmAVEnwHbAk7uo5a9zkxvUVnP1lzcMC2rlO0uEJDXyEtET9KSEG7Yw==","signatures":[{"sig":"MEUCIEyFv6xgLu7l57NJ7n1B0rhIzeBxfi4TF7LF/RT7LdO4AiEA1/7I/5tPN8ZIT6tqd56MMujjQEKj85QsrMz+RcBAupc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.63683a4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/64c79bfc1ecb5a20c528534301cb24ab/solana-rpc-transport-2.0.0-experimental.63683a4.tgz","_integrity":"sha512-XvwPpUtKsDbS+5ButUW7p+qw+DUOexxPEmAVEnwHbAk7uo5a9zkxvUVnP1lzcMC2rlO0uEJDXyEtET9KSEG7Yw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.63683a4_1699396383200_0.5354601350871513","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8245fa6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8245fa6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8245fa6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"53a4bb80b58b4558f951a1b447268b5f71c2797b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8245fa6.tgz","fileCount":27,"integrity":"sha512-IAcJI4SwgXT5H5B+8zrGnOl1ugDdcJXC6Da97tcbPL1KkYGmY9JwjWmlpApwaki+1ZhTL3oGcFfdK5xJ+cQhuw==","signatures":[{"sig":"MEUCIH/t32GkzA9D7dZVKZhJT7bs1JSmKhiCkkMBIBWwoNc3AiEAlY+jod23RDSqhyNKx41eZkMlhieZkT7iUXGwUViPn3w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8245fa6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ffe0b7a5dac328244fd3c44e701727fd/solana-rpc-transport-2.0.0-experimental.8245fa6.tgz","_integrity":"sha512-IAcJI4SwgXT5H5B+8zrGnOl1ugDdcJXC6Da97tcbPL1KkYGmY9JwjWmlpApwaki+1ZhTL3oGcFfdK5xJ+cQhuw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8245fa6_1699401995187_0.07586866276229487","host":"s3://npm-registry-packages"}},"2.0.0-experimental.205c092":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.205c092","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.205c092","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1f73a75b9ad5fcc5e7015b95c9ccc538eaee2e72","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.205c092.tgz","fileCount":27,"integrity":"sha512-DtMCoRKnc/9Nhas5aV6HVxmpmpgd9AeefXE7Ibll4ZDNfzj7BBR+15dWRHnZMhvF8VivMMxlzjrAdBPUEZk1fw==","signatures":[{"sig":"MEQCIEWR00ib2wdJGrABfrgOUn6ZfxV9w73dcUfxaBD9s9yTAiBo/81PUO3FYXVJt76tTKfVCX/CCYUfgj3e3AEzLP7Q9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.205c092.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1edf86a623a9ec4adccb26882a2ed193/solana-rpc-transport-2.0.0-experimental.205c092.tgz","_integrity":"sha512-DtMCoRKnc/9Nhas5aV6HVxmpmpgd9AeefXE7Ibll4ZDNfzj7BBR+15dWRHnZMhvF8VivMMxlzjrAdBPUEZk1fw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.205c092_1699404906693_0.5010450366358201","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4dbc1f6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4dbc1f6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4dbc1f6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"74a6fd10d331b6127359f7c05e663a8fb631ab68","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4dbc1f6.tgz","fileCount":27,"integrity":"sha512-g7L9leRkmcyG15BaSAMiZlre47572FjLa4WtGNmTlyWMmCKoEzrzKujD/sJjxoa4GtepiGcxOclRnrtA5HYd7A==","signatures":[{"sig":"MEUCIHHIBh5lqfMjih6DwJkqwFSExf1TtskGUkEQQHIwOH6iAiEAsA2B0yIo6Za8GLorFVGxygdLHOusdWyDPbhE7D5HmFY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4dbc1f6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/46bc06e97518783edbd2af5737a7a52e/solana-rpc-transport-2.0.0-experimental.4dbc1f6.tgz","_integrity":"sha512-g7L9leRkmcyG15BaSAMiZlre47572FjLa4WtGNmTlyWMmCKoEzrzKujD/sJjxoa4GtepiGcxOclRnrtA5HYd7A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4dbc1f6_1699608574176_0.312638916718883","host":"s3://npm-registry-packages"}},"2.0.0-experimental.36c7263":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.36c7263","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.36c7263","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"03058010e6cc0d58742f42fd321e603cd8bb449c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.36c7263.tgz","fileCount":27,"integrity":"sha512-Z94NNs7bGlCiTtDTEiYNDnNyJA3BeJr3KCycsvrn2Lc+tBlKBwJGrBQALoKJebKNOca18hlGiQUpqbfn62UeBw==","signatures":[{"sig":"MEUCIFR0Nt0Rd4meADdroXPwVxqfEZHdMfsEwRJ7UcjTIdcMAiEA1ik8arAJzYfAkaszcpChtx8+kfCucukH1NVBIqLN8oQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305933},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.36c7263.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0c1552643e6e097f150ee35058a357d3/solana-rpc-transport-2.0.0-experimental.36c7263.tgz","_integrity":"sha512-Z94NNs7bGlCiTtDTEiYNDnNyJA3BeJr3KCycsvrn2Lc+tBlKBwJGrBQALoKJebKNOca18hlGiQUpqbfn62UeBw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.36c7263_1699615200218_0.554221433688308","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5044844":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5044844","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5044844","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dcabd9f3b8b3ed85505d9349a3b23b389cd02efa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5044844.tgz","fileCount":40,"integrity":"sha512-uuWi4YyGg/v35PHdXEBM9P08VT/0JvA6+rHq+qaFjUuWdNt/Bm/ElANT77WRGyQyjl4ksiFjxHvAaDlYC3Btlw==","signatures":[{"sig":"MEUCIGpuvuB/TT9M1ud0HV5HcmueEliyZSHV7Fcb5uURxjuYAiEAkUMHY/knXM6n6HEUMr5R+v2G3dUsjW24H2UOroe37nU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5044844.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/592a1095c58d647303507b2da9674488/solana-rpc-transport-2.0.0-experimental.5044844.tgz","_integrity":"sha512-uuWi4YyGg/v35PHdXEBM9P08VT/0JvA6+rHq+qaFjUuWdNt/Bm/ElANT77WRGyQyjl4ksiFjxHvAaDlYC3Btlw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5044844_1699624332391_0.5624618499485827","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7d54c2d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7d54c2d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7d54c2d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ccc0e03276966fb74dcbd864dbebc34c4a0c3717","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7d54c2d.tgz","fileCount":40,"integrity":"sha512-3wy6x3f5S+YBAzFRMj04SPW08YWZJ8N9I4DMQ9gg8cwGk31jTgOq4iSq66MYhNdo5MmZxr02a+3xF0hX0lEMfw==","signatures":[{"sig":"MEYCIQDcdaJe3+rHZ7kUcJKngPJQfjJ6AOWNwMj0LNv5qzt4vgIhAMdEFsMoe+Kkz7eDBwagWd1A7/hMukz8gq2G2QffGrHX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7d54c2d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8c5dcdfb0d893d4b567f593f6d902840/solana-rpc-transport-2.0.0-experimental.7d54c2d.tgz","_integrity":"sha512-3wy6x3f5S+YBAzFRMj04SPW08YWZJ8N9I4DMQ9gg8cwGk31jTgOq4iSq66MYhNdo5MmZxr02a+3xF0hX0lEMfw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7d54c2d_1699655809433_0.7488772862040132","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1c6b6d6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1c6b6d6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1c6b6d6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ebed695ce845cb42dc219db4980ee642cb42dded","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1c6b6d6.tgz","fileCount":27,"integrity":"sha512-I5Szrw0pmUQiva5mMs9ya8JZUJiPORIrCod/rPva+xVTbvNtbc0D+Rxre4wU2BZVnXAc8jzajpSIrlOkRILN+w==","signatures":[{"sig":"MEYCIQC77MUETlbP56WN0K89pM3ypb0Zs9DBOnR9lXrUdih+xAIhAPzkExvudy4Ef1VJxlEUaXfJ6XwsVxpjCM2KWDTIwZCp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1c6b6d6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/83610d96f263b210dab2092adae24cdc/solana-rpc-transport-2.0.0-experimental.1c6b6d6.tgz","_integrity":"sha512-I5Szrw0pmUQiva5mMs9ya8JZUJiPORIrCod/rPva+xVTbvNtbc0D+Rxre4wU2BZVnXAc8jzajpSIrlOkRILN+w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1c6b6d6_1699656423197_0.4601418884713633","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b7ead05":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b7ead05","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b7ead05","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"57909be903ff024972ad7035fbe6cd4b8ab99499","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b7ead05.tgz","fileCount":27,"integrity":"sha512-WGwHmAtCOc+CvJzgiRjbbClpUDQigzuiz8BqJYc3SbFK22L8sB7d18LkjpvgvLZ2miWP0kWM2JIUvm+vYmtGEQ==","signatures":[{"sig":"MEUCIQDZti9ARwwsLsRm/pldVsCq28UELIZMx6kpXHpqWdEvgQIgahp8rjZneTRdRi/5xZZCnPSNnN/TOy1rkDOKHisBwko=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b7ead05.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5d59947357aa5b778b8cd47f537648b2/solana-rpc-transport-2.0.0-experimental.b7ead05.tgz","_integrity":"sha512-WGwHmAtCOc+CvJzgiRjbbClpUDQigzuiz8BqJYc3SbFK22L8sB7d18LkjpvgvLZ2miWP0kWM2JIUvm+vYmtGEQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b7ead05_1699673366115_0.9881887168616346","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d1457f3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d1457f3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d1457f3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fccfb231aceedfc43600d117026e925709efc13f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d1457f3.tgz","fileCount":40,"integrity":"sha512-MeQbfxD5pu1KSv0JwbHGmjeSeciLBactXmsOmw4QyqIFk2XchtaoCEtw77rCAdflo1ES+KBU6236hoJBKseAUA==","signatures":[{"sig":"MEYCIQDivVbl2urh+Dj3Qw9iwN0iCD82jT02YuxEAKeSluKEOAIhAIkA1bQZKdN+JyAfITrlbb2UYHkKqnnFVP2em7FTT8yU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d1457f3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3d91e6cfd1e31c9961a941f2852d2b3e/solana-rpc-transport-2.0.0-experimental.d1457f3.tgz","_integrity":"sha512-MeQbfxD5pu1KSv0JwbHGmjeSeciLBactXmsOmw4QyqIFk2XchtaoCEtw77rCAdflo1ES+KBU6236hoJBKseAUA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d1457f3_1699677506742_0.2630381883766899","host":"s3://npm-registry-packages"}},"2.0.0-experimental.13ef878":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.13ef878","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.13ef878","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e5124f95e49e124b36bde850fa791c28bcd091ec","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.13ef878.tgz","fileCount":40,"integrity":"sha512-tMSItiT1COqAxkAv7Z0ceYMX2FpQ/DbF4eChsRHwSyyh4KSYMXNEkYNrNA/m1xbRpT2u6pAuzY1KWvb2DyLlQQ==","signatures":[{"sig":"MEQCIHFlmQt5X8QOdCt7LBDoMBTS8/+yABxxud2dTQbX6LcoAiA0sAoNSJNJRvtZOfBI3fPnOcMUMGk9qooIHwoP4TWP1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.13ef878.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5c16d35b35bd7515f8f8aa3ff33c11c3/solana-rpc-transport-2.0.0-experimental.13ef878.tgz","_integrity":"sha512-tMSItiT1COqAxkAv7Z0ceYMX2FpQ/DbF4eChsRHwSyyh4KSYMXNEkYNrNA/m1xbRpT2u6pAuzY1KWvb2DyLlQQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.13ef878_1699687992953_0.5771402274102588","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e6fc977":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e6fc977","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e6fc977","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fc0b2d7cdb5b8bb2b7979f7054e85d9d065f3ea7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e6fc977.tgz","fileCount":40,"integrity":"sha512-UGfqvV/0jKAsegku/YdFBoalm1cZhf1Pk59rMRvd4xIvdfTMSh4ECHFqtnmKFjbxju7YdhN2UITB8OORCh8NLQ==","signatures":[{"sig":"MEUCIQDGaaC1i9IVywcEzBfLi7sVCn3yCNHWAfrowwmyE74Y1gIgGz4EeRi9sfTh/c0Oj/FDNgOlUkJo66Xz5MmSF/em/c0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e6fc977.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/56b6d5cb2d28308002323d02441eab95/solana-rpc-transport-2.0.0-experimental.e6fc977.tgz","_integrity":"sha512-UGfqvV/0jKAsegku/YdFBoalm1cZhf1Pk59rMRvd4xIvdfTMSh4ECHFqtnmKFjbxju7YdhN2UITB8OORCh8NLQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e6fc977_1699734246473_0.7869920872598197","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e662875":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e662875","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e662875","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5c831b01df32db1976e43355718739e40ddcd50a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e662875.tgz","fileCount":40,"integrity":"sha512-WzY4FdL4HZG8SDtZsyrFuo+Ep5jSAnNZf3fBkOfcVeSqeJq9X83qknsR64/+CRpZTq+hh/qZxMvuQBZibGtchw==","signatures":[{"sig":"MEUCIE25CdsBFytLZP6iiH1YAJfdeTjjJe/g0XkfuCkd4QslAiEArzTEpW8scGs0hQfbM9ZgWlXeKac4KfGxJ/4cM/WLDgA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e662875.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/68620c7e8d4bac3c5a2a41b68a007ca5/solana-rpc-transport-2.0.0-experimental.e662875.tgz","_integrity":"sha512-WzY4FdL4HZG8SDtZsyrFuo+Ep5jSAnNZf3fBkOfcVeSqeJq9X83qknsR64/+CRpZTq+hh/qZxMvuQBZibGtchw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e662875_1699734410904_0.9055896266518506","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cc94aa3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cc94aa3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cc94aa3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e6439952f5ad1f79b4daf347760c6fdbf02486c6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cc94aa3.tgz","fileCount":40,"integrity":"sha512-6KGUvOVM8HD8zK1YV02zKBA/O3gaV8WS/GDWmMLu5dC2lUG4LtkjoTv8bJYIgLELeyqy9ijvIy5pL6T3X1/fXg==","signatures":[{"sig":"MEUCIAGwnrE3Mr1V0wb/noi32ay5D5gYLU6j++2ZsXA3n6UeAiEAjQLpdkc/xMy8T186y7ilZ3hLpoZYpSFGRecxUalwbQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cc94aa3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e96dd02440e4dc7cc0eb111ca5e69ea2/solana-rpc-transport-2.0.0-experimental.cc94aa3.tgz","_integrity":"sha512-6KGUvOVM8HD8zK1YV02zKBA/O3gaV8WS/GDWmMLu5dC2lUG4LtkjoTv8bJYIgLELeyqy9ijvIy5pL6T3X1/fXg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cc94aa3_1699734436206_0.4842620989317794","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b153bb7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b153bb7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b153bb7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3d4ff503d05193137e19d35e8d00f1e0ddad0ad4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b153bb7.tgz","fileCount":40,"integrity":"sha512-3AcP5MXR5yZ4ZTbv0HSeVGLyjANgIJ2Lx8YFeMoVVj+AD5eHyQ4WAZwdzhOZ7bwyqKeU57Vv1XSqhYZ7FeMaTw==","signatures":[{"sig":"MEYCIQDwHHkWpEAfAicJSzfFS/0Fv75gI4LjAVMuzjboP0cIYgIhAKwCLDMnYYTjXwHMoC4SOX6YZvInAl6nMxeHvJGI5bDz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b153bb7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/32dfb423d387f083350282dd57893371/solana-rpc-transport-2.0.0-experimental.b153bb7.tgz","_integrity":"sha512-3AcP5MXR5yZ4ZTbv0HSeVGLyjANgIJ2Lx8YFeMoVVj+AD5eHyQ4WAZwdzhOZ7bwyqKeU57Vv1XSqhYZ7FeMaTw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b153bb7_1699734496132_0.6183608547411703","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f7d1af1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f7d1af1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f7d1af1","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d06a90d3f8a1fd6658cab3d297f9531d27b62268","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f7d1af1.tgz","fileCount":40,"integrity":"sha512-CXIv4ym3eNbjd6rlD1IkCVjkyPF13kz34SASuWlXMLFOoaX0Uj5dIIQoey1+5kZJjHY+FIuicAnve1bCagbwOg==","signatures":[{"sig":"MEYCIQDR4c6BhP1Q1BinRkZ1YqcOM5kCt+p+RO+mfA6XkSAorAIhAIcF7nE9rgShq06Jx3O+Ou4P1+KORhN5rFaEjHSfJKiS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f7d1af1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/973d4a5b6cd228d08d78df2e2f6cc103/solana-rpc-transport-2.0.0-experimental.f7d1af1.tgz","_integrity":"sha512-CXIv4ym3eNbjd6rlD1IkCVjkyPF13kz34SASuWlXMLFOoaX0Uj5dIIQoey1+5kZJjHY+FIuicAnve1bCagbwOg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f7d1af1_1699734509078_0.8218740585609177","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f46b34c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f46b34c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f46b34c","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"79a8241ce36c04916a8a348b351d80f88ad454a2","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f46b34c.tgz","fileCount":40,"integrity":"sha512-TDZHczjffnoxpzOX+d8AiWJv8+a3Sdhc29tdfYH0tvipEupRO223s+y+s8kF//7HH9LodTRt1+k3TcPdLXAddA==","signatures":[{"sig":"MEYCIQCLxGXoYngaYD46EbIhVo2puHBBCGGoUJGEw+GVKMHK7AIhAJqi+6OXcCR7doCfUdLaX+l4wWEsbtrHT78BFT/c/GXD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f46b34c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d4a460b4e070dd1285d75abe13b896aa/solana-rpc-transport-2.0.0-experimental.f46b34c.tgz","_integrity":"sha512-TDZHczjffnoxpzOX+d8AiWJv8+a3Sdhc29tdfYH0tvipEupRO223s+y+s8kF//7HH9LodTRt1+k3TcPdLXAddA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f46b34c_1699734590399_0.08891712678965091","host":"s3://npm-registry-packages"}},"2.0.0-experimental.aa4a701":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.aa4a701","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.aa4a701","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b218dbb809298f092eda83399f2cecd1083a4919","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.aa4a701.tgz","fileCount":40,"integrity":"sha512-UtAXCmIJYsjsGLrAf6ORV3biOceJfC25gns/o+v5tKywea7ogfej/33Ns1IEEVHXrypKUbyT9KqyCZrW9MEQPw==","signatures":[{"sig":"MEUCIH9Ev0/AieidVphkdAkzHfKcy9gmiJkXnhDdHOuLLyRNAiEAiqX2+M9FTb8D9Sq1MA/z9hLdKK8UrvH1ecQZJBqFs9o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.aa4a701.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/80458ea286fa15f69be72ed8b29de164/solana-rpc-transport-2.0.0-experimental.aa4a701.tgz","_integrity":"sha512-UtAXCmIJYsjsGLrAf6ORV3biOceJfC25gns/o+v5tKywea7ogfej/33Ns1IEEVHXrypKUbyT9KqyCZrW9MEQPw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.aa4a701_1699790367453_0.934311664524843","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b419cd0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b419cd0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b419cd0","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"24ea9b0963f8015920b6dea3fa965fed12da2fb4","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b419cd0.tgz","fileCount":40,"integrity":"sha512-sFJcZxLUJoCXYlZPPcpdX25tGq/xHlpllE1o7cU0jHM2ZfDJGKR9e9ocwNhggAK0CcxXgBd2KUmo/v8CwjqANw==","signatures":[{"sig":"MEUCIHg4dSQyOeeMNnok4wE8T9nM03PGXXy/S8GNXoIeJykRAiEApZsHWGmQljsYCrJjik9DqhczdZ6EqNzswbibRnS8Bd8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b419cd0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/402fdc983ed0ab00f4a32513b74de353/solana-rpc-transport-2.0.0-experimental.b419cd0.tgz","_integrity":"sha512-sFJcZxLUJoCXYlZPPcpdX25tGq/xHlpllE1o7cU0jHM2ZfDJGKR9e9ocwNhggAK0CcxXgBd2KUmo/v8CwjqANw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b419cd0_1699790433115_0.03843344574663088","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b7674ea":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b7674ea","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b7674ea","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dc6d3d96e049cb745475a348ec98131ce7c02ff9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b7674ea.tgz","fileCount":40,"integrity":"sha512-obTEdLC9OhK8uoO7MTiGUew4qAeGG/GwmKJuRmG9wm491jz2Ou/82ETMNzhr/Wo5DxdgKR7BSQPQ3gP3gQdhIQ==","signatures":[{"sig":"MEYCIQDS4eB9AQsKUFlpoYUcHaUl/aTE0fkOvw7ERHBjPpRK0AIhAPXq+6LR19Lm9BBiSEWwMnbyZObL0Tw0Gq4KFs7Xzi0s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b7674ea.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/eb0d05b4fb049156b3aae915eade469d/solana-rpc-transport-2.0.0-experimental.b7674ea.tgz","_integrity":"sha512-obTEdLC9OhK8uoO7MTiGUew4qAeGG/GwmKJuRmG9wm491jz2Ou/82ETMNzhr/Wo5DxdgKR7BSQPQ3gP3gQdhIQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b7674ea_1699790469071_0.26812015357535635","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ff8c65b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ff8c65b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ff8c65b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"415a7e4aa3818201a91dbf0ac542a63bb0e1635f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ff8c65b.tgz","fileCount":40,"integrity":"sha512-EHAL67xQQKdg5SGC4rpTORKCXveqH/9nTryDVS3Kg3AHKucLp1DPbR8yr3e+PgYL7tCq3/Ky8vhDFUxhKBM1nw==","signatures":[{"sig":"MEUCIDg36DofsvnYKny9jzIL4Hr9hxh9Jcs6G5GrWfjCBukaAiEAqUQB0dUC9EkAEq3n1N9EUFM9d66oTDJkrTWChcM/S68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ff8c65b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/675a205b8ae2232396dd887712e24882/solana-rpc-transport-2.0.0-experimental.ff8c65b.tgz","_integrity":"sha512-EHAL67xQQKdg5SGC4rpTORKCXveqH/9nTryDVS3Kg3AHKucLp1DPbR8yr3e+PgYL7tCq3/Ky8vhDFUxhKBM1nw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ff8c65b_1699790540683_0.13452341357884734","host":"s3://npm-registry-packages"}},"2.0.0-experimental.26136d9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.26136d9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.26136d9","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"822bffb6734d343b76465f35333f0e1f042fded6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.26136d9.tgz","fileCount":40,"integrity":"sha512-rC/Ue5DXbQthYjLMPjomkrI+MWUaLdwVR20DMMQ739+wVesKKzJGLdjg/g1ZBye57lj6iynEDWps/jBTF1u54A==","signatures":[{"sig":"MEUCIHDgkExo+lWv9telYEJ7a1krgenvIN8hX63mu37tuwzCAiEAmloLJe28y4nOXJQPdCfb3b/I1eNwttVPJjdWnKuYqoo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.26136d9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8bf0fd116494121397f5fdb0b9b06ee1/solana-rpc-transport-2.0.0-experimental.26136d9.tgz","_integrity":"sha512-rC/Ue5DXbQthYjLMPjomkrI+MWUaLdwVR20DMMQ739+wVesKKzJGLdjg/g1ZBye57lj6iynEDWps/jBTF1u54A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.26136d9_1699791051365_0.02278546646643842","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7c29a1e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7c29a1e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7c29a1e","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"54b0203afebcb7a6dee8237ec60b29f2edbd49e0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7c29a1e.tgz","fileCount":27,"integrity":"sha512-7xfPqGZ/mTJhWgIyM0jBga5OVI4RcLBPuSXfIWFOq87TltazR39Gwmsq3VLxbdrcETFLeEXYBpfO+/Qsj+7owg==","signatures":[{"sig":"MEUCIQComUth6ql8xa+rjMJsgphOHRHjXxbcO15Pgn7T6HMcUQIgA5MCPhmWVj1IyxGsJ/zMes9w4D/tN7uh8C830wb6KG8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7c29a1e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a4d5f7269877d9ef5237c539c6ccc6bf/solana-rpc-transport-2.0.0-experimental.7c29a1e.tgz","_integrity":"sha512-7xfPqGZ/mTJhWgIyM0jBga5OVI4RcLBPuSXfIWFOq87TltazR39Gwmsq3VLxbdrcETFLeEXYBpfO+/Qsj+7owg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7c29a1e_1700044439023_0.05111976438646426","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a8b4da6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a8b4da6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a8b4da6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"de509fde13001292a7a9086981b6316d72c5bdb7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a8b4da6.tgz","fileCount":40,"integrity":"sha512-FOivlSIyfrtYxIhbmWhW9HQk/aPZSLX2kyTcWqDoxrUZ44NgRTiYSOqJgfRvBiOwpnw7pYb5cdj0tucg3RMUUA==","signatures":[{"sig":"MEQCICSVZEc96VDI8jAFKtzW73zp1ecRKMVNupj+Tw7UJsfFAiASvL1+QfA4ER8BsDmqcWjWu+o4IsKN6R1VAN5wWlk9+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a8b4da6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d84010e707b3ffbfccf88258066633dc/solana-rpc-transport-2.0.0-experimental.a8b4da6.tgz","_integrity":"sha512-FOivlSIyfrtYxIhbmWhW9HQk/aPZSLX2kyTcWqDoxrUZ44NgRTiYSOqJgfRvBiOwpnw7pYb5cdj0tucg3RMUUA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a8b4da6_1700077584701_0.3432496902640796","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fe489b3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fe489b3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fe489b3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"397371f32325911567fedc646916fff218ff4131","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fe489b3.tgz","fileCount":40,"integrity":"sha512-Zr+hIC3dNF4fuk8ykXQXJzzLSWdQaYlDJzeA00fDZ9H/KWEi08dU/a0BwBMZS70W8dZ8KqCIqKmFGVRoMi0IQA==","signatures":[{"sig":"MEUCIElQbu733KvxA7Sn9Z3V23wq7mqL+bK7cuQetQ+dEe4JAiEA4PypiP0VG/sw3+YDStC4F3xiio0io8CdFAX3rgSQK/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fe489b3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d59f7177fbaa517d09e144f56044b60a/solana-rpc-transport-2.0.0-experimental.fe489b3.tgz","_integrity":"sha512-Zr+hIC3dNF4fuk8ykXQXJzzLSWdQaYlDJzeA00fDZ9H/KWEi08dU/a0BwBMZS70W8dZ8KqCIqKmFGVRoMi0IQA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fe489b3_1700132837401_0.4896378436328337","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6f382e5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6f382e5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6f382e5","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"67e6b9b7cb17cb7e4df65478a33e8f33938c5058","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6f382e5.tgz","fileCount":40,"integrity":"sha512-uxMUToa4zJY9IBZ4MoDFhe+KiqhaN4gNBtsLL1otOcflWw2u/CZSr6MwkeIgWukp1WxT8Zk9aS7h3maZlTRs4w==","signatures":[{"sig":"MEUCIQDYnNEXAGiW88oUO0zvqtzXwvljivTfz935fIxRHuaaaAIgaBJ5Dmm20JVQSomAzDW0LCU7/GiyCBCWvDkRuOR5yOM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6f382e5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1f235d7a321cd1afa3deba2d1dce5991/solana-rpc-transport-2.0.0-experimental.6f382e5.tgz","_integrity":"sha512-uxMUToa4zJY9IBZ4MoDFhe+KiqhaN4gNBtsLL1otOcflWw2u/CZSr6MwkeIgWukp1WxT8Zk9aS7h3maZlTRs4w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6f382e5_1700482127628_0.47706856031777556","host":"s3://npm-registry-packages"}},"2.0.0-experimental.433f475":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.433f475","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.433f475","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"86f1cc1522c9a9f1b4587ac85b7b3e99a33facb3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.433f475.tgz","fileCount":40,"integrity":"sha512-xqHWLL/GditewvzCyS+nPw3T6xdFdcHd9egsy3lqa/vnz3JHVK31Q7mV98CFFxAOLOBDhmwxs+kQVJqCXPrMjQ==","signatures":[{"sig":"MEUCIQCdWm3J5HyHVUhw7pkNMFZafgerqZ4JORlxCukD/8yCRAIgJv63Z9FjC9m+H/e2pRbBT1OlS4ay+8KP1TorENXT6BU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.433f475.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6b4e595be52de8f54f99b99eb79779ad/solana-rpc-transport-2.0.0-experimental.433f475.tgz","_integrity":"sha512-xqHWLL/GditewvzCyS+nPw3T6xdFdcHd9egsy3lqa/vnz3JHVK31Q7mV98CFFxAOLOBDhmwxs+kQVJqCXPrMjQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.433f475_1700482182845_0.19385721293369573","host":"s3://npm-registry-packages"}},"2.0.0-experimental.eeb355e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.eeb355e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.eeb355e","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"da4b260b4995952d3fb3f882e7790f6410a59e71","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.eeb355e.tgz","fileCount":40,"integrity":"sha512-LQqEugzInpT7vlrxuQS5Eh6CAyLTiopMPpMf5ycVeqE9Kir9xbY91RDFroXWiawIpYt6nrAFKZieB66foqBuMg==","signatures":[{"sig":"MEYCIQD++UnMCBpDsXrTtqks2Y5aww15svGNaVDBp8VIl7xalAIhAIorlpx7Oa05XBdfqWLElhyzEqSKAeNB8cOgSSPEa2j3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.eeb355e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/7f11f424cec59eff4fbc10386512b330/solana-rpc-transport-2.0.0-experimental.eeb355e.tgz","_integrity":"sha512-LQqEugzInpT7vlrxuQS5Eh6CAyLTiopMPpMf5ycVeqE9Kir9xbY91RDFroXWiawIpYt6nrAFKZieB66foqBuMg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.eeb355e_1700491373895_0.9876741495851369","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0983bae":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0983bae","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0983bae","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5fdc70b34d85f338ee351463584e9449af1c6562","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0983bae.tgz","fileCount":40,"integrity":"sha512-wU+EseHgPqJ5x61UZi9KToPhf7dLSqZgzQQ/W3L5442++exBDFqwwEWe51d/bm89dNJNxUedZWmEFz9HYDTz7A==","signatures":[{"sig":"MEUCIQDAzdWDqb1KR0vkOAY0UkD4z3dUp+/SuULR3MZUhdksZwIgc3Dt6c/b542Zib0I9jF71Eq2G2wtKUxywvw2FlmDli0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0983bae.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a30dc48e71e1ddd9d360236e4b897a39/solana-rpc-transport-2.0.0-experimental.0983bae.tgz","_integrity":"sha512-wU+EseHgPqJ5x61UZi9KToPhf7dLSqZgzQQ/W3L5442++exBDFqwwEWe51d/bm89dNJNxUedZWmEFz9HYDTz7A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0983bae_1700517270683_0.4701922027330194","host":"s3://npm-registry-packages"}},"2.0.0-experimental.735654a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.735654a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.735654a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c56e0f80dc1f2b37166fdb811e716bc384668b80","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.735654a.tgz","fileCount":40,"integrity":"sha512-bZh5A4dtNBR9i3kzaX9syOTYL/ZxD8SiG3NDIQivYR/TK+aJF9yps/GWkKXIqM4StUhHxam1W7O1QO6R+lf82Q==","signatures":[{"sig":"MEMCHwSh3S5gEtNxbT3T9hmy+vAiYlO9f9corgPWwVzbhtgCIGGlVQnK93SmSDHrUGdnOs4c47I2ri5HMMprEZhUbzgG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":345740},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.735654a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/77f47b5b2804c1b8dc9fa607b92cc4ed/solana-rpc-transport-2.0.0-experimental.735654a.tgz","_integrity":"sha512-bZh5A4dtNBR9i3kzaX9syOTYL/ZxD8SiG3NDIQivYR/TK+aJF9yps/GWkKXIqM4StUhHxam1W7O1QO6R+lf82Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.735654a_1700517354647_0.3852546965902188","host":"s3://npm-registry-packages"}},"2.0.0-experimental.47afb90":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.47afb90","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.47afb90","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6cdc67ea61bffd1406a74688b2b1c59be71147ad","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.47afb90.tgz","fileCount":27,"integrity":"sha512-OoGAYCQRTvwBBWSSWFyGV8M+m17d4XPiJ7ey1KbTgXM8Gsku6I55etzHBxY+iWVkg5ukcwKOjSaW0ifYieaiDg==","signatures":[{"sig":"MEYCIQCJ+D9+GdN37Ux2LkALlvb3w1yaXDkSMV3h2UuPYA5JpQIhAJ0cIrtYXGyTy5Qc9tV3w8SrUtTtM40Tn3tFuTmIJ//Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.47afb90.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/804d0a1a3ce725b1049544bf325f507a/solana-rpc-transport-2.0.0-experimental.47afb90.tgz","_integrity":"sha512-OoGAYCQRTvwBBWSSWFyGV8M+m17d4XPiJ7ey1KbTgXM8Gsku6I55etzHBxY+iWVkg5ukcwKOjSaW0ifYieaiDg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.47afb90_1700517440722_0.613839542079518","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b89f19f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b89f19f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b89f19f","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ff9951d0df43027a861d4696a13dacf6bfcef5d1","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b89f19f.tgz","fileCount":27,"integrity":"sha512-IpmO3bPBQa7uo1pag8gCVtSz+qQNZ9m3XOnmmmkeSjtEraZYhJT0T9UNdD4qEYjGTTqm3xgpJgVDQGV/QBuMkQ==","signatures":[{"sig":"MEUCIAyPL7Z/8nIupXC4JCjU6U151HH/6+ZRQ/09SsYWrqWXAiEAieQVlVrfpxGDgXNVx7y6fls7Z1DoDIxYSLEknEbhPHo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b89f19f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0d38ccc712ec5e9e4fe27bc87453cfd8/solana-rpc-transport-2.0.0-experimental.b89f19f.tgz","_integrity":"sha512-IpmO3bPBQa7uo1pag8gCVtSz+qQNZ9m3XOnmmmkeSjtEraZYhJT0T9UNdD4qEYjGTTqm3xgpJgVDQGV/QBuMkQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b89f19f_1700517480529_0.7530167306624131","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a7c0b6a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a7c0b6a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a7c0b6a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3939d3dc9eba4af0492e60fcbdd59d9120249735","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a7c0b6a.tgz","fileCount":27,"integrity":"sha512-284lznPxGPe+wwD1y1u/+XNVsl9KaIfBgATsjr4ef3bgRd0373HppOOSNHKw7he8kV9YFriVDU2rzWigapkuKA==","signatures":[{"sig":"MEUCICGe3+8maOeG/i7oh7etP3ccZTbqaGrofz7tKg0y1Pw9AiEAgcC7gofiB6oaTpnXPzmeUx+gGdaTQRsPeODAFHMzjio=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a7c0b6a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/579bcbb9041cb55d4763dd7eee23a6c0/solana-rpc-transport-2.0.0-experimental.a7c0b6a.tgz","_integrity":"sha512-284lznPxGPe+wwD1y1u/+XNVsl9KaIfBgATsjr4ef3bgRd0373HppOOSNHKw7he8kV9YFriVDU2rzWigapkuKA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a7c0b6a_1700518686032_0.5994544200703777","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7c1df0a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7c1df0a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7c1df0a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6e4ac9be7a341203257d7559837371a184c51c59","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7c1df0a.tgz","fileCount":27,"integrity":"sha512-B13v1gxFwSkgPYZyXuhn6FR4ZyxPCpOtHhcpC6MJ/al8HpGvxUUJLQoAyheqNjD56DlWuni48YmwEyy38mWIpw==","signatures":[{"sig":"MEQCIA4HePuhgSUum6pgVz7QKUyzOfuAo4EG/t6zxlqTQPUUAiAk0lheRaQv/IQh7LC6KZfkuFdczkciPsPGolcJF9Cvag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7c1df0a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/397ad5f1f7837e3de0363198df88207b/solana-rpc-transport-2.0.0-experimental.7c1df0a.tgz","_integrity":"sha512-B13v1gxFwSkgPYZyXuhn6FR4ZyxPCpOtHhcpC6MJ/al8HpGvxUUJLQoAyheqNjD56DlWuni48YmwEyy38mWIpw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7c1df0a_1700519098435_0.9280191131255813","host":"s3://npm-registry-packages"}},"2.0.0-experimental.40c54bd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.40c54bd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.40c54bd","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1ed5e55a74e290d9b6e03a72268587a6eea9d388","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.40c54bd.tgz","fileCount":27,"integrity":"sha512-xBEdCNPVsIYD7tswWL+GIIvIEIY6WUpkRcOWoAGObX8p79A0wMenzpiMTCgDhknQjGB89W8D67ypgGKYFBkzyA==","signatures":[{"sig":"MEUCIBlnLIhMHEQmVIAehn7zSjv54PlpUxkf69Pd7nJWhM7gAiEAj+DgNWqBjpcYC71SSqQ6r5064MIjqR+xaDeounSiUpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.40c54bd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1ec7b84df59c5b6256f6353f0c1082e7/solana-rpc-transport-2.0.0-experimental.40c54bd.tgz","_integrity":"sha512-xBEdCNPVsIYD7tswWL+GIIvIEIY6WUpkRcOWoAGObX8p79A0wMenzpiMTCgDhknQjGB89W8D67ypgGKYFBkzyA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.40c54bd_1700519356236_0.3224288177205912","host":"s3://npm-registry-packages"}},"2.0.0-experimental.efe6f4d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.efe6f4d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.efe6f4d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c9ca458a9dcac35a4b664a577d72b4cbcaeb7a1f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.efe6f4d.tgz","fileCount":27,"integrity":"sha512-XoxKtzKQpZNzM0VbPWNvaJrZjzRJ1o83UnRfz5wowXGdlQsMXG5kCjnYw3iJGiZLGjkKUNpo7YWXHp7einhLiQ==","signatures":[{"sig":"MEQCIFZFHn0M529C7qPFm8MZ2b0bInsiUk77KvbZs+HKH9EKAiAPL7pKXvPGPJzaigymB5/26q2S4/XLLnrVq3uPLWMM1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305944},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.efe6f4d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8e7bb5cbee09e59a1048d60482e40f1e/solana-rpc-transport-2.0.0-experimental.efe6f4d.tgz","_integrity":"sha512-XoxKtzKQpZNzM0VbPWNvaJrZjzRJ1o83UnRfz5wowXGdlQsMXG5kCjnYw3iJGiZLGjkKUNpo7YWXHp7einhLiQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"7.2.0","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.efe6f4d_1700563861649_0.22142457667037418","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3690b65":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3690b65","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3690b65","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"89874457fb304215cdb56485801041d45e4ce64f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3690b65.tgz","fileCount":27,"integrity":"sha512-D5Yjn24bLiS6wFpPt64MM9Hfv31BYewFIbSCNDmH05traijU3EPb6h8Ze9um+Oo3LxmqeTDGls2apbskWM1y3w==","signatures":[{"sig":"MEQCIGU8TQrdrXQ1A4ImwYKBcxshdnUsRsv+WgsX2iUex7q6AiBQydkp26Ldk5ojmX/x0lNpxakrzCt2sdKp2Cs1esMH4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":305945},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3690b65.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c84c4323f972414d81560a8b47bb4ef4/solana-rpc-transport-2.0.0-experimental.3690b65.tgz","_integrity":"sha512-D5Yjn24bLiS6wFpPt64MM9Hfv31BYewFIbSCNDmH05traijU3EPb6h8Ze9um+Oo3LxmqeTDGls2apbskWM1y3w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3690b65_1700595670615_0.020153773212533643","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9d0a506":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9d0a506","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9d0a506","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f47a8134f9cd306acefe93f85f20b52bea5d3afe","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9d0a506.tgz","fileCount":40,"integrity":"sha512-TFpfivVyHt/XIJx3T3g0lR90pnMBqbeDJMgWq1Ozc8BEvL2uufejDWkuivJKZ9E3/tTfPxTrQ01OIaw8fB9lMg==","signatures":[{"sig":"MEUCIBwJmfmVjH7MeFFmksJa8HlkbjEXux9sv2SCVvnIX8xzAiEAjIhaEjjhcM3Vn4C/O/RA/s/lJqksbWbT9dO1iV9948w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9d0a506.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/fb93179e95e2a7362bec3f85ab14449e/solana-rpc-transport-2.0.0-experimental.9d0a506.tgz","_integrity":"sha512-TFpfivVyHt/XIJx3T3g0lR90pnMBqbeDJMgWq1Ozc8BEvL2uufejDWkuivJKZ9E3/tTfPxTrQ01OIaw8fB9lMg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9d0a506_1700595764588_0.8857850254920778","host":"s3://npm-registry-packages"}},"2.0.0-experimental.699bde0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.699bde0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.699bde0","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f2cb8c9f0d6c820b6399e6b82b011eb2bcc21d04","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.699bde0.tgz","fileCount":40,"integrity":"sha512-y9C1STSElItyRTJJ5sqV2x+OieJSSdEkUasuTp1Cylt1zm+TkfQ72Xs621m5nhTPVB6YIk/Rbq3ukeacbkih9A==","signatures":[{"sig":"MEYCIQDCM79uJq0hSWxsQcwH7RBq4OxZUutjOH5BJL5wyefbEQIhALl8H4w0ikdbnNZw1GeXCJiWWPd4BRUqbrGFZsHizTuK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.699bde0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/35494ce31ddece752c7a1b9e956fd533/solana-rpc-transport-2.0.0-experimental.699bde0.tgz","_integrity":"sha512-y9C1STSElItyRTJJ5sqV2x+OieJSSdEkUasuTp1Cylt1zm+TkfQ72Xs621m5nhTPVB6YIk/Rbq3ukeacbkih9A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.699bde0_1700597348276_0.7256355328882504","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b77865f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b77865f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b77865f","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d866eeec01ce4f85724eb5ad20dbe1263818f46e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b77865f.tgz","fileCount":40,"integrity":"sha512-UlMGtDslWaIbLDwJoLb9tkn2n6rJV9ZU2psKtsi4uV2UoCQis6MBT22U1YgLMpAunEDVn3DvAgiEwQKOXapGeQ==","signatures":[{"sig":"MEYCIQD8yiyojTUJHQNGRtWxBC4XNoNLql9TPbNQN4Sq6gu6dAIhAMJcVY76NO4ym8nAk7C7CTBE5UlJ17ojz67+6umkUDNi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b77865f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/01c63e0b308a6f04645e08aa9c0f21a0/solana-rpc-transport-2.0.0-experimental.b77865f.tgz","_integrity":"sha512-UlMGtDslWaIbLDwJoLb9tkn2n6rJV9ZU2psKtsi4uV2UoCQis6MBT22U1YgLMpAunEDVn3DvAgiEwQKOXapGeQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b77865f_1700601311784_0.48242998823966765","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a9b5f6b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a9b5f6b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a9b5f6b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f980e6813c33fafc7485834ec69e9f9560cc1808","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a9b5f6b.tgz","fileCount":40,"integrity":"sha512-6dAP6kIgwo28kUhO07AKZmPUrWsf05yTN2v0XgEUBCMT8u2gmzGUSyqrfIgg2KH2d02rtdp7k7lKchKMYKu2pg==","signatures":[{"sig":"MEUCIDU0tXFalZPAvC3DPBVLDJdfJkV44dwoSsoae6vtNx3nAiEA0B62UeeeBAodkZZny8QdQJJvtQgfnJsMkMK2wEfmHGI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a9b5f6b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5e64339dc5159fa13d0df79a6ac567e7/solana-rpc-transport-2.0.0-experimental.a9b5f6b.tgz","_integrity":"sha512-6dAP6kIgwo28kUhO07AKZmPUrWsf05yTN2v0XgEUBCMT8u2gmzGUSyqrfIgg2KH2d02rtdp7k7lKchKMYKu2pg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a9b5f6b_1700617166001_0.8728575099229596","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4c1874d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4c1874d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4c1874d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b69841ac75d3436b84b02f8813cc2421e0ce5fe5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4c1874d.tgz","fileCount":40,"integrity":"sha512-wiIXCwT49Xl3RMT5/KiLBn/tOhZzloxDxJdzfTQWbA9sv3nJTXdmgVnP5DgU0vnxf+iCkzyi4K2MOSri+Tqfxg==","signatures":[{"sig":"MEYCIQCCekIlTg0WGq3ftI65uCAIIT+BWqJF+KTrhHIcas/q+wIhAKvI3/6GqPzaovJYH76GbNVPUA3swUNJKqUMRxxG3slN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4c1874d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/199f91c1825e86fa02d4d139e174fe70/solana-rpc-transport-2.0.0-experimental.4c1874d.tgz","_integrity":"sha512-wiIXCwT49Xl3RMT5/KiLBn/tOhZzloxDxJdzfTQWbA9sv3nJTXdmgVnP5DgU0vnxf+iCkzyi4K2MOSri+Tqfxg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4c1874d_1700652066730_0.5085233174317247","host":"s3://npm-registry-packages"}},"2.0.0-experimental.af584fc":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.af584fc","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.af584fc","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7266a4a9715151bd72e8665f7b3c6bb9f583f390","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.af584fc.tgz","fileCount":40,"integrity":"sha512-hM9V6neKnRpLkIJ7/UevO6T7bo2wslqYS7FjNLl1Yb/T6NhO73+4lkoa6Qp7rllaTa/eVErRAZtxJG5BkGRctA==","signatures":[{"sig":"MEYCIQCqCUscNH/O+kHIjXTwBT0nlUL7AsZ2BPA6P1iNTZeFFwIhAIJkmNqWBintwCKrqO3ZFB4wP1sN3xokaCTeqZotZVZ4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.af584fc.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a1b7582189c6eb0a1e11d2e5eb4b60de/solana-rpc-transport-2.0.0-experimental.af584fc.tgz","_integrity":"sha512-hM9V6neKnRpLkIJ7/UevO6T7bo2wslqYS7FjNLl1Yb/T6NhO73+4lkoa6Qp7rllaTa/eVErRAZtxJG5BkGRctA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.af584fc_1700652151607_0.4587771161791576","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0eb69ae":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0eb69ae","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0eb69ae","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7fb8934f68624725a3db19d72a642e91fc25925b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0eb69ae.tgz","fileCount":40,"integrity":"sha512-l47p8gCswlMCEwrlciXL4b9ijavz+15szNCYRqVvuZ+ymld6ae40F1vNRxFoj6Ofy2rAn9Vg/V4NamzA4vUqYw==","signatures":[{"sig":"MEUCIQCvbV2onYFNRfnzlm15lHJUQzQZwAJ+Y7RLqkyFUTOCagIgMRwCfMaBY+RwhVzD2mcd7P0XQMkZWc1ds0XXCGjdqbw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0eb69ae.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/35e58207f26083e1c33745cddc0dd374/solana-rpc-transport-2.0.0-experimental.0eb69ae.tgz","_integrity":"sha512-l47p8gCswlMCEwrlciXL4b9ijavz+15szNCYRqVvuZ+ymld6ae40F1vNRxFoj6Ofy2rAn9Vg/V4NamzA4vUqYw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0eb69ae_1700652197113_0.1133383626520228","host":"s3://npm-registry-packages"}},"2.0.0-experimental.65e87b8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.65e87b8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.65e87b8","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b1694a4e89311d59bae8b9612cd6fe52475c4088","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.65e87b8.tgz","fileCount":40,"integrity":"sha512-dAaSqcmi092sJrvoqijeTLQBXrKaEaY9z47FksC0coWK5sbafjRAGZkLNkBT1v8Wh77Qnl7KRd4FHShwDhR3sA==","signatures":[{"sig":"MEUCIFFVOYQNQY0Y6Mxxv0IBa354USzWPvK1lqYibBbHUKw8AiEAp2EthlKRBaQYyFHUgNRWOuzyHbOAjEtvbSQVzgYgjyA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.65e87b8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6090122651b248b240b1b255eae57a69/solana-rpc-transport-2.0.0-experimental.65e87b8.tgz","_integrity":"sha512-dAaSqcmi092sJrvoqijeTLQBXrKaEaY9z47FksC0coWK5sbafjRAGZkLNkBT1v8Wh77Qnl7KRd4FHShwDhR3sA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.65e87b8_1700652261330_0.6555992868487714","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ef09aec":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ef09aec","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ef09aec","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"741e9fcb64b8f0cee0ec7ca97628ac0cf5b9bad1","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ef09aec.tgz","fileCount":40,"integrity":"sha512-NNR5EXVtJa3fJrIvyPDv5dDruC4QcK2h/izSN88tLpjsxI6R1inXT9y6yzPq1NS/2AIpvPtdmvrqSNGnMSWPqg==","signatures":[{"sig":"MEUCIQCU+cMCRkWcIZrCH+L9sVMaMcOHXY/23sEHmQsOOKUQswIgHg5AycETeccDxatT8W8T9qMpMxBBBvrs6IBi0ZudfHI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ef09aec.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/dc5a9e371ca02398ca6d1e8c5425c372/solana-rpc-transport-2.0.0-experimental.ef09aec.tgz","_integrity":"sha512-NNR5EXVtJa3fJrIvyPDv5dDruC4QcK2h/izSN88tLpjsxI6R1inXT9y6yzPq1NS/2AIpvPtdmvrqSNGnMSWPqg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ef09aec_1700652385785_0.5799398620287695","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d085c72":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d085c72","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d085c72","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"90c7cef40a28fc5e3883f413d63587c84db41b05","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d085c72.tgz","fileCount":40,"integrity":"sha512-rtVXR+tW//PAJrC1LDdal2EGtNa1BSlaqSPhzQ/pGPPAEEjpGX7ztAJc+Co83EaZ2DIZWL6RZJHRUMeDoMOU+w==","signatures":[{"sig":"MEUCIE849WAVuqZmMLEZ8RhLEUGKas6gpgr023sL6GDcqH08AiEAo7ynlg9VtjM44gwh+DSsNb/peSp6sCWpARvyk3pf3og=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d085c72.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a0ddfc755ac53c3903d16b89e60bb2a6/solana-rpc-transport-2.0.0-experimental.d085c72.tgz","_integrity":"sha512-rtVXR+tW//PAJrC1LDdal2EGtNa1BSlaqSPhzQ/pGPPAEEjpGX7ztAJc+Co83EaZ2DIZWL6RZJHRUMeDoMOU+w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d085c72_1700652449929_0.44770890209914227","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bd21cc5":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bd21cc5","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bd21cc5","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7eabbbf83d230dc890a83d889b88473cb7b74f4d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bd21cc5.tgz","fileCount":40,"integrity":"sha512-2Rghu4KQeJ/vc9hmj97IwtYWsKR7+I2dh6+B/gO/HtSzkodtTqkeG6kwyYsIxwXbmctVlaFzzruEq0lM1s1Wtw==","signatures":[{"sig":"MEUCIAlTukk+8evUhk80oxVhgBusqsdrWfQk1OLtLsPnEeuhAiEApvsLu8UjKeOMTvpUcGSIfFtp6D+dwtpBAnHjpW1NxfA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bd21cc5.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/efa3a350b6b36f7b45788def09037c98/solana-rpc-transport-2.0.0-experimental.bd21cc5.tgz","_integrity":"sha512-2Rghu4KQeJ/vc9hmj97IwtYWsKR7+I2dh6+B/gO/HtSzkodtTqkeG6kwyYsIxwXbmctVlaFzzruEq0lM1s1Wtw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bd21cc5_1700652492841_0.9371041469686985","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2e4b8c7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2e4b8c7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2e4b8c7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4b56de4548a23b89abf3d5bed17c8bc1ba26a4f7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2e4b8c7.tgz","fileCount":40,"integrity":"sha512-t3hBzAnfVwIT5geOUR+nn5z/+c6RCHK0KHOaogB+b2nhr0c7+11coa50NwU2SWXdTOguvGLPdU0/qun0uxCa9w==","signatures":[{"sig":"MEYCIQCovidJxLcZLDWJm/CC0LqOSP+rMuVkU//aWipxFnlIGgIhAKbEPIDivbUXsNgvPvkGtYezZrX5KRotU0Ux1yWFAuEa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2e4b8c7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/4e12b9616641b53661fe1a51a461094c/solana-rpc-transport-2.0.0-experimental.2e4b8c7.tgz","_integrity":"sha512-t3hBzAnfVwIT5geOUR+nn5z/+c6RCHK0KHOaogB+b2nhr0c7+11coa50NwU2SWXdTOguvGLPdU0/qun0uxCa9w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2e4b8c7_1700683486061_0.7648122701971392","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d93c93b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d93c93b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d93c93b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"305e54985ed9439ca96aac5ca09d70322e7a3eb0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d93c93b.tgz","fileCount":40,"integrity":"sha512-nPVx7N6QHU4ITfFoxaOxqbhQosKeL9rbUK/J7pa26WjEsp2lgkgvVuMQtLMB6GfY9j3Xm54e6GuqScnbBE1HSw==","signatures":[{"sig":"MEUCIEJUAY3+HYVZidOJ0FXtkqRDrFVc/Z6xnXjjygg69XVlAiEAre0uTg+0hcOSbvB9yhpy7nHzrORk3k1e99WbORLZzqI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d93c93b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/914260deb012bb1bd093c9f71b0c62f7/solana-rpc-transport-2.0.0-experimental.d93c93b.tgz","_integrity":"sha512-nPVx7N6QHU4ITfFoxaOxqbhQosKeL9rbUK/J7pa26WjEsp2lgkgvVuMQtLMB6GfY9j3Xm54e6GuqScnbBE1HSw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d93c93b_1700750112822_0.051392563103900946","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b036381":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b036381","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b036381","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8e0170fa507b700b43d6b1fc765efadce7d3a17d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b036381.tgz","fileCount":40,"integrity":"sha512-Toa+hXd7kg6+Tu0HB0V6FfYWYTggKiq5KO8ZhoAlDe4iTT0VacgXppg7Cr4load6DBHzKHFxi0e7iwiP3nLhqw==","signatures":[{"sig":"MEYCIQCOc8nTPCc1WiCtC+zcVaDngY1Bto8UjyB107WCh6HluwIhAN1oEOhY7JKmrLSyKtnd7m8D72qDR70yPxMqiO4KArx+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b036381.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e9afbd1b224909b0fe188f07aec9c2a9/solana-rpc-transport-2.0.0-experimental.b036381.tgz","_integrity":"sha512-Toa+hXd7kg6+Tu0HB0V6FfYWYTggKiq5KO8ZhoAlDe4iTT0VacgXppg7Cr4load6DBHzKHFxi0e7iwiP3nLhqw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b036381_1700851407229_0.45212482756116357","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ab12c29":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ab12c29","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ab12c29","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1820566cd3591595356f1e6165910f0efe02b00e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ab12c29.tgz","fileCount":40,"integrity":"sha512-FfWBd0wZJU0MWimf+ve+8BXqY1abFi0DIDJyHfK8uUpA8m33nwOPurajoAeSkBeSMs2An/1LgV9rK4u90Jdqpw==","signatures":[{"sig":"MEYCIQDIApNdoFVvNo6KAAyNSkY4uM0Dk/pcclNRIptlu83ZCwIhAOZvYgoR+Z9Hr4RGwpARi8f+lL31KklXO2p85FytYbyl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ab12c29.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/59777f7b72bc6c723795b0c3b5eae53b/solana-rpc-transport-2.0.0-experimental.ab12c29.tgz","_integrity":"sha512-FfWBd0wZJU0MWimf+ve+8BXqY1abFi0DIDJyHfK8uUpA8m33nwOPurajoAeSkBeSMs2An/1LgV9rK4u90Jdqpw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ab12c29_1701149612383_0.021084098778099802","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bda0153":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bda0153","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bda0153","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"243b0fda727f46a3f99c365d6c6f480a6f410526","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bda0153.tgz","fileCount":40,"integrity":"sha512-0/fIn4pka/vnDjjhKT9PoXePb6HIGQiLjjqFAg39TyIAHhNZlvffK7sa4irBfq3lBOyTBwnI72Y1S2gGXpyUxw==","signatures":[{"sig":"MEYCIQDPZKfaYrntiScNz51cfoO6oPMYDQjY+LCLJQcY51VT5QIhAKrmf9A65FwryZGEM6KOjeVdDm6xCufkm++hnyhSXcqm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bda0153.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e983f4d9631b6d1592a7ea6518ba2087/solana-rpc-transport-2.0.0-experimental.bda0153.tgz","_integrity":"sha512-0/fIn4pka/vnDjjhKT9PoXePb6HIGQiLjjqFAg39TyIAHhNZlvffK7sa4irBfq3lBOyTBwnI72Y1S2gGXpyUxw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bda0153_1701152728928_0.03741926468114931","host":"s3://npm-registry-packages"}},"2.0.0-experimental.49dc7f3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.49dc7f3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.49dc7f3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5d20f1e5098b7fdce745dfb02ba960447302549b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.49dc7f3.tgz","fileCount":40,"integrity":"sha512-XF8gK5cEPTNpGL5BNZMF0XjcR449cLHFbf7MsTu1O+zp6PAgQ3W5uYzJnXQcCYEMDFpqeMdbSf0MU8tGScUZSQ==","signatures":[{"sig":"MEUCIQCEstiC+O5j0jHKP8Dh8qIvs7aa3NlFfIHHAyQgzamZBQIgZutIY74rMPi1soTEThPmU4Dpv91wyW0BKpYVd4L/4kQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.49dc7f3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/edd50c0eb4a8f5a4bb2809a19f098237/solana-rpc-transport-2.0.0-experimental.49dc7f3.tgz","_integrity":"sha512-XF8gK5cEPTNpGL5BNZMF0XjcR449cLHFbf7MsTu1O+zp6PAgQ3W5uYzJnXQcCYEMDFpqeMdbSf0MU8tGScUZSQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.49dc7f3_1701155823635_0.3067203064073256","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a293578":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a293578","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a293578","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"41349e82b1f98c38aa2048e17813a26d085cc98a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a293578.tgz","fileCount":40,"integrity":"sha512-PijMK1y4+FxIFMw3BgQR/ieTMQ5KbnXZqgjC+gGBkPmCV9nOIroKV16fbmY+VqUh7M1Am01mF9HXN23k1mKivA==","signatures":[{"sig":"MEUCIQDMmFY603LMsyArSsDJodaFvst9kXZwCB3kc34IWiihbwIgZbhdwYp4AhOQX96eCjbm42RQWOYU1eSe+hBQ5fmMD8s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a293578.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f5e8b054067ee66e0800796625827653/solana-rpc-transport-2.0.0-experimental.a293578.tgz","_integrity":"sha512-PijMK1y4+FxIFMw3BgQR/ieTMQ5KbnXZqgjC+gGBkPmCV9nOIroKV16fbmY+VqUh7M1Am01mF9HXN23k1mKivA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a293578_1701156029789_0.2835599766278287","host":"s3://npm-registry-packages"}},"2.0.0-experimental.819422a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.819422a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.819422a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"21b2d36a9b40b12a272c199c777a83382a6d10ff","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.819422a.tgz","fileCount":40,"integrity":"sha512-l1qzN38p80FcTCgoyh+Awl5DXW3RPDRkGjyotnp1b/6IrFv4gfKACOXTp0TIZKxjnSnuVNI63jGZlTzkJ4b74g==","signatures":[{"sig":"MEYCIQCw9nL5f4cxHcxcxrKK8Uqg4hVn0s72+vaaLyAbGKN3gQIhANusptWwym6D7aRLLA4OfwwLP3ukgXqVVgsM5uVvnY5x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.819422a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8ff2c6b154a553b0a17e92dd0698f868/solana-rpc-transport-2.0.0-experimental.819422a.tgz","_integrity":"sha512-l1qzN38p80FcTCgoyh+Awl5DXW3RPDRkGjyotnp1b/6IrFv4gfKACOXTp0TIZKxjnSnuVNI63jGZlTzkJ4b74g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.819422a_1701156225672_0.07280965433841224","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5013ad7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5013ad7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5013ad7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1f49f52c9432d078f34e8c446e20d0a551da4c19","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5013ad7.tgz","fileCount":40,"integrity":"sha512-e99u7Wy685VCAlw+vCzT50PevqxsfdRhylNGcFQk7HAIKK6lhQwiCO94Id8xC0xZh6t7AlhX+13ArTyTlttUTA==","signatures":[{"sig":"MEUCIF3TRO6GzJo2MmqgOVMyF/IBNN4mXzVuKIPPaLle1QYZAiEAyuRWwRskC15NtkKsUdPS/A3BH9KyN3Bo8swOdnGYNlQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346071},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5013ad7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5eec9d1a103209747d80e659514bcb8f/solana-rpc-transport-2.0.0-experimental.5013ad7.tgz","_integrity":"sha512-e99u7Wy685VCAlw+vCzT50PevqxsfdRhylNGcFQk7HAIKK6lhQwiCO94Id8xC0xZh6t7AlhX+13ArTyTlttUTA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5013ad7_1701165275900_0.32780161773851857","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e4483d3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e4483d3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e4483d3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"54e55296aecd60b9a4487fb9dfa585f260e8a170","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e4483d3.tgz","fileCount":40,"integrity":"sha512-eSPrCqA4dDNUjPY7wBEuZLg+wvxPVk/ll9TVSWZ/e2DfzRin3eU7GPmnNs48PVMNZvlPQMPcHL3pXZafEk+6PA==","signatures":[{"sig":"MEUCIC+h5opxzRs/t9Ux//PB5NWjUBGkqs7eKPPw4wVaTTitAiEAi4+oPNSsxpJ3ae6bufuIRBeH5hoSkKir2fZysfuexPI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346732},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e4483d3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0ad174341c797c5644fb9056298b19eb/solana-rpc-transport-2.0.0-experimental.e4483d3.tgz","_integrity":"sha512-eSPrCqA4dDNUjPY7wBEuZLg+wvxPVk/ll9TVSWZ/e2DfzRin3eU7GPmnNs48PVMNZvlPQMPcHL3pXZafEk+6PA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e4483d3_1701178001957_0.14833918679840608","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7d05b9c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7d05b9c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7d05b9c","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f63c9ef463e2b8de3971d7a11e7f83ee83a9a163","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7d05b9c.tgz","fileCount":40,"integrity":"sha512-Zh+p0mZGvIbLoEhAY1aAH9pqoFlvOdTlUjbKW8iphGdC11/bknUViUY0avdz4YwSUuCFnVliJUcLy5w1PFTPoA==","signatures":[{"sig":"MEUCIFmHBJDtUR4pVAwaSmZ6pXZ6SH0K/k0DyJBQB71EhYEDAiEAybtmocugR/DZiV/QV6vXt3Hbc7xtpY9JHE/rOisTeSk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346732},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7d05b9c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d96fde7a809115eea53eebb4c0e8be9e/solana-rpc-transport-2.0.0-experimental.7d05b9c.tgz","_integrity":"sha512-Zh+p0mZGvIbLoEhAY1aAH9pqoFlvOdTlUjbKW8iphGdC11/bknUViUY0avdz4YwSUuCFnVliJUcLy5w1PFTPoA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7d05b9c_1701187064440_0.07097424042897327","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e72afd8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e72afd8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e72afd8","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"629b2a76fcc9032b39bb55afb37da237e3e7abbf","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e72afd8.tgz","fileCount":40,"integrity":"sha512-B4pJ77B30QQeKJ9PAbZnFcPsMNRPqrn4xFDQBjgaK2KlWg6n1SIcPrDL9IYapg37quZxW9Gi3kyvh/Ow7Me3lw==","signatures":[{"sig":"MEUCIQCY0TplyiQSEFZNc4tVxGqGFre9Ig6fKdXU/C8WCDnlXwIgVDtLPIyVM2YVE7dtD47Q0fHnmGRGhvNPaWalC2p4Kl4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346732},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e72afd8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/667800efcfa8763bc022d892408473f4/solana-rpc-transport-2.0.0-experimental.e72afd8.tgz","_integrity":"sha512-B4pJ77B30QQeKJ9PAbZnFcPsMNRPqrn4xFDQBjgaK2KlWg6n1SIcPrDL9IYapg37quZxW9Gi3kyvh/Ow7Me3lw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e72afd8_1701200991168_0.8504638399849471","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6613088":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6613088","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6613088","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"049e00ddeae2b7c4522af4034b59ecf546ed8095","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6613088.tgz","fileCount":40,"integrity":"sha512-d8OwxbwQA+PyAlmdzOsqbX9SHa4+DKnMysw21kNbku+c24g8o0NdrLQpeD3rtLwlczSUbCanYmGuzc442+gm8Q==","signatures":[{"sig":"MEUCICunwRH51VjL1nti7akVN8yoYysXlxCiPFYnz+2TnMTUAiEAszwfMquJn8EKOLZQyxZDMEHyI+vbdKJSUpJM20Jok/4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346732},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6613088.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f268c79dc9eeab05fbbe476810c0c7cb/solana-rpc-transport-2.0.0-experimental.6613088.tgz","_integrity":"sha512-d8OwxbwQA+PyAlmdzOsqbX9SHa4+DKnMysw21kNbku+c24g8o0NdrLQpeD3rtLwlczSUbCanYmGuzc442+gm8Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6613088_1701210338676_0.9507509977181807","host":"s3://npm-registry-packages"}},"2.0.0-experimental.45c014d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.45c014d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.45c014d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"15ed95b5997d800c206a509b5e8e25e4f101690e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.45c014d.tgz","fileCount":40,"integrity":"sha512-qb1Y0eX3UvWN52A0q22RQQur/UHRP/NDw6zxIiPr+EbSPNA1ILkjx4U8erPA3GrqV2mgDgcucXZzI+HBz+8Nng==","signatures":[{"sig":"MEYCIQCMQKdp1NCbahC3xXTwn1jSS6A7SCPl5dnIUc5BX1qMAgIhAKI0Y9l5IRDFem3hZrOJEa6aK1xBSZ3SeztARnVYv+tf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346732},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.45c014d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/efd2c65b4c02efcaf80a9527dc23b22a/solana-rpc-transport-2.0.0-experimental.45c014d.tgz","_integrity":"sha512-qb1Y0eX3UvWN52A0q22RQQur/UHRP/NDw6zxIiPr+EbSPNA1ILkjx4U8erPA3GrqV2mgDgcucXZzI+HBz+8Nng==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.45c014d_1701210373193_0.39558629537604006","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d3af599":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d3af599","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d3af599","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5c7233ed7d60ba0a5bb46dc3093fc2ec7a07b7a3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d3af599.tgz","fileCount":40,"integrity":"sha512-J5fRgpg2KRsi24sqqaBO5GkE8yIqH2bpWa1aRhyKrF0gHnqE7zN9qr9loVQoJ3aa4Jib9znqi+GTwSEk26n7zg==","signatures":[{"sig":"MEUCIEHA4c+gp0eOv1sRaPG5yWgZrY0W+iwOWSiWIquvLkC4AiEAt/uXWBwt0HKfx1kkt1jYEzUGzY9zj0A2MILEj9OcQbM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346732},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d3af599.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cea9da0628f2ed3e1835f65c6a754de4/solana-rpc-transport-2.0.0-experimental.d3af599.tgz","_integrity":"sha512-J5fRgpg2KRsi24sqqaBO5GkE8yIqH2bpWa1aRhyKrF0gHnqE7zN9qr9loVQoJ3aa4Jib9znqi+GTwSEk26n7zg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d3af599_1701210446371_0.7034721698970396","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a48ebd2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a48ebd2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a48ebd2","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"50400ac5dce910bbed15ad933fb247b6729cb5cc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a48ebd2.tgz","fileCount":40,"integrity":"sha512-tPHqVkWqWfWC+3O37ci6Ccg9FXPRia5acN/T+qNSOlXG3xd/QiP4UT4piUL+SsYb5Z4KIndNQgudh8SLogGesw==","signatures":[{"sig":"MEQCIE+7BZX5WTAUfr68j6kU+5eVfzfjfL0sQMDGmj470izQAiA4wtw3w+JmgfEYIDmJzppDQkycFXMO7z56LxI/e0IVYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346732},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a48ebd2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3099e43cddfec015e70b45eda86816e1/solana-rpc-transport-2.0.0-experimental.a48ebd2.tgz","_integrity":"sha512-tPHqVkWqWfWC+3O37ci6Ccg9FXPRia5acN/T+qNSOlXG3xd/QiP4UT4piUL+SsYb5Z4KIndNQgudh8SLogGesw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^2.8","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a48ebd2_1701297361343_0.8196458809739156","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1a269a8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1a269a8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1a269a8","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f6477bdfa748433158067efc641b73c5c8349083","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1a269a8.tgz","fileCount":40,"integrity":"sha512-XjTO/IdOQu+jUCt4vPJnHsUmsmHasJVqjVrlRgfLZg28I9MwtnvcBRzTU164wj5p8gwWZyEKbDoWujFNv0Qu3A==","signatures":[{"sig":"MEYCIQC73JxZs7wQ3pUCP8qIjOIlqVKrNGX9qnk5m7t0ldxdKAIhAMoGag2pmVKHuMJxglipWmBn4VxfEEhg0nc+GjmO3BLE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346797},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1a269a8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a50a0e44b8c3e9df4ccd02bc14ce603a/solana-rpc-transport-2.0.0-experimental.1a269a8.tgz","_integrity":"sha512-XjTO/IdOQu+jUCt4vPJnHsUmsmHasJVqjVrlRgfLZg28I9MwtnvcBRzTU164wj5p8gwWZyEKbDoWujFNv0Qu3A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1a269a8_1701299636044_0.11082677651883732","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c156b67":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c156b67","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c156b67","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a566739142788443e9b15bf6a6d551419ba12f0e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c156b67.tgz","fileCount":40,"integrity":"sha512-D7KCIcsgrytDV9e+Nh9S4vPDJTrMhCAqZmSthi0BUwN1gFVSe/Ksn4Q8Oz0BbqXWFAaAh9i3aIYuaMG5+kHOYw==","signatures":[{"sig":"MEUCIA2VT1rVV7NLMfY0nI8fOETChMdJZoSwXz7wB0HdDzJsAiEA4wSTSZqzBvWL+mnB5ThyozOz+ksEuUVqQ3IOhPFB5ZU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346797},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c156b67.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2df0d13d71975454c22cf5629f4a4b6b/solana-rpc-transport-2.0.0-experimental.c156b67.tgz","_integrity":"sha512-D7KCIcsgrytDV9e+Nh9S4vPDJTrMhCAqZmSthi0BUwN1gFVSe/Ksn4Q8Oz0BbqXWFAaAh9i3aIYuaMG5+kHOYw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c156b67_1701301303298_0.354544197408341","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a344eae":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a344eae","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a344eae","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3d1239eea79b38459a0b9172549b2e0110258268","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a344eae.tgz","fileCount":40,"integrity":"sha512-YDm7oPkFz7kHZA+YHFUxDaiIqq5le8SUwjmy1k25PIESaeqm7Eeu6NpinSL7ItBaWV0kp+GLLYFow4i3gZdAuw==","signatures":[{"sig":"MEYCIQD862/qK6C8gmV1sdeOmL13Jru2bSsv0WWHf+zD8mw+oAIhAMzQl1a6n0czc2zLCM0dmdgbBR25yXpb3zrvAcAX5pJq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346797},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a344eae.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/32b2746ac5b247d6613fd41ff56f652b/solana-rpc-transport-2.0.0-experimental.a344eae.tgz","_integrity":"sha512-YDm7oPkFz7kHZA+YHFUxDaiIqq5le8SUwjmy1k25PIESaeqm7Eeu6NpinSL7ItBaWV0kp+GLLYFow4i3gZdAuw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a344eae_1701336563938_0.9995901150090918","host":"s3://npm-registry-packages"}},"2.0.0-experimental.85b7dfe":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.85b7dfe","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.85b7dfe","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"50a5620f9cce2bfd4c3bfbc16fa008e015df32dd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.85b7dfe.tgz","fileCount":40,"integrity":"sha512-BFk/0+QB81RyDgYpnoTrgcfuvZkGh8gdQWbil4vIChGe3HWalA5CdUCfUbbVd1ae59HTad0SmyFaKblRw9Zgqw==","signatures":[{"sig":"MEUCID334iy1RCHjxBZ2cjLu9utsOXX1lKuFcY0q2wcrOlHVAiEAtaQBWHm9TR/xFM6Ph8ghwSypWdshTDbvMXde2X+4baA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346797},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.85b7dfe.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a6b3ea2b49b728ebb88b3eb2f4280d5e/solana-rpc-transport-2.0.0-experimental.85b7dfe.tgz","_integrity":"sha512-BFk/0+QB81RyDgYpnoTrgcfuvZkGh8gdQWbil4vIChGe3HWalA5CdUCfUbbVd1ae59HTad0SmyFaKblRw9Zgqw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.85b7dfe_1701344997740_0.6705288875266242","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a7c51e0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a7c51e0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a7c51e0","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fcfdff61cae45e782a660c7f75d85a6d7da6e95a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a7c51e0.tgz","fileCount":40,"integrity":"sha512-0s0AgP2mKr5CBp8xBRauioOHVzjBihdxngDoHTaqtj2+pu1Pk39oxtZ18SBmBajCE+WVe7/zglY9973cTptRNQ==","signatures":[{"sig":"MEUCIQD8GkXhIqsxoPVwywfow/gAAogg3YS7+T47vFgUQhaxtwIgd1vIu+maUdKdQSSZGIyB+4nDynVR9GIczcy0YOfSURM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346797},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a7c51e0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d7e0611d15796be5f5514c2493f4b7aa/solana-rpc-transport-2.0.0-experimental.a7c51e0.tgz","_integrity":"sha512-0s0AgP2mKr5CBp8xBRauioOHVzjBihdxngDoHTaqtj2+pu1Pk39oxtZ18SBmBajCE+WVe7/zglY9973cTptRNQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a7c51e0_1701369808427_0.23799017302082892","host":"s3://npm-registry-packages"}},"2.0.0-experimental.89b469e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.89b469e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.89b469e","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"75a356851aa23095a9ae07f9173c93abbc3d5b5f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.89b469e.tgz","fileCount":40,"integrity":"sha512-xEZ8C31ffQX/mIiADVJ+pwoP8ceD3rZRWmkmP3E/eKfMQo9PbdjmLpwbXi8TgMmKE5OvcDXcaeyN0V6WokPtSQ==","signatures":[{"sig":"MEUCIQD6PSOqbtZCL8FoAz6xdr83FvVp2R4fIluLOM+vemv5GgIgZ4zYZXfjEygE1GBnvo7iCfhhW9sVMTnQn9wElhG/n5Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346797},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.89b469e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/490ceedbf7606a2194225ed5e3f3b869/solana-rpc-transport-2.0.0-experimental.89b469e.tgz","_integrity":"sha512-xEZ8C31ffQX/mIiADVJ+pwoP8ceD3rZRWmkmP3E/eKfMQo9PbdjmLpwbXi8TgMmKE5OvcDXcaeyN0V6WokPtSQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.89b469e_1701444894523_0.4406839464365391","host":"s3://npm-registry-packages"}},"2.0.0-experimental.745437f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.745437f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.745437f","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0b5e8c0f630375dcbce05e3b52cabaabaaa798ab","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.745437f.tgz","fileCount":40,"integrity":"sha512-KO8aTAJ3KHmp9L6Qk4DBzMZuTQyldsFJQ6Vgo7S/P08dz84ggIhYakCdwXtBISQBh3+FuXrfN2Z1MsFTnj+Dhw==","signatures":[{"sig":"MEYCIQCtN0Q/UBRXcEz1mhLxnRKF0aOu1gWUf1MEnC+T9Hm5LQIhAKH6FdvHhoPqSr99D4R7n/TmWSJe9gOHdHjO2DI2S6x/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346797},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.745437f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/560ec6cbab9bb120ee0567989901166c/solana-rpc-transport-2.0.0-experimental.745437f.tgz","_integrity":"sha512-KO8aTAJ3KHmp9L6Qk4DBzMZuTQyldsFJQ6Vgo7S/P08dz84ggIhYakCdwXtBISQBh3+FuXrfN2Z1MsFTnj+Dhw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.745437f_1701446901023_0.007055378682714553","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a28936e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a28936e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a28936e","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e32d20ad0fd848607820c11052010f885f5e9b41","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a28936e.tgz","fileCount":40,"integrity":"sha512-6kPP/VkPPg7vsbzxXZkzjfWw98RckpxgFJkZ4EO/G0FrS/jIiHfQ6FoYlwiDdq3nD/uHMw90BeOgeSsyRXx00A==","signatures":[{"sig":"MEQCIGDPMorywiL5XHPXW+rhoEk2cbE04oYdVCDIAtDFqm2cAiBcTGSGlfvMVcHXSjT72IPPkgo+RhcYIDDvFGDqy5zCog==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a28936e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9e8d2b0fe573063bc472cd925e2dfb65/solana-rpc-transport-2.0.0-experimental.a28936e.tgz","_integrity":"sha512-6kPP/VkPPg7vsbzxXZkzjfWw98RckpxgFJkZ4EO/G0FrS/jIiHfQ6FoYlwiDdq3nD/uHMw90BeOgeSsyRXx00A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a28936e_1701577144203_0.9604035841817271","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fb88a79":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fb88a79","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fb88a79","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ac0909ebe7c200a3c9288f9079417ac669aab158","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fb88a79.tgz","fileCount":40,"integrity":"sha512-wxke7FNYv5QIskiqFiQHMKjExZ9buYnltRNv90sDQhj28foE1rul1G2zAa0icUIOVyvveoUpg0X+9+ACQBvsyA==","signatures":[{"sig":"MEUCIFFLruI36PM7g4j+swmGpwdfOOj6JdDOtkO03pEWlxS2AiEAxofUxnvRhPFM0xtiKmqyWMZ4d4mEDATThIEbZYDsctM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346797},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fb88a79.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8bf298465d9f58524846f7357bd500dd/solana-rpc-transport-2.0.0-experimental.fb88a79.tgz","_integrity":"sha512-wxke7FNYv5QIskiqFiQHMKjExZ9buYnltRNv90sDQhj28foE1rul1G2zAa0icUIOVyvveoUpg0X+9+ACQBvsyA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"^20","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fb88a79_1701577158794_0.5486259241331919","host":"s3://npm-registry-packages"}},"2.0.0-experimental.aef0571":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.aef0571","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.aef0571","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"aea6674b3a1aa01731f771948b6550b9361592bf","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.aef0571.tgz","fileCount":40,"integrity":"sha512-CZjVffHIQNNy51Y0SBEmbl2wzDNUCbnuZV+TxRsqmlnwbMKQbR5sTS4NJO6n5StPHzMpO4elT53asyx9Ael7Uw==","signatures":[{"sig":"MEYCIQC7mOvF9AXsI7WEIRxWoEcFxnuIvgGugROyYWF9eZtP7gIhAK6W4Gb01DgOuHQ0LD2LV74SELr+jHSqohb06225toHq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.aef0571.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/f937b710fbaae6b058bf5b618f0b34b1/solana-rpc-transport-2.0.0-experimental.aef0571.tgz","_integrity":"sha512-CZjVffHIQNNy51Y0SBEmbl2wzDNUCbnuZV+TxRsqmlnwbMKQbR5sTS4NJO6n5StPHzMpO4elT53asyx9Ael7Uw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.aef0571_1701682319490_0.9736622420305294","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3bc22e7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3bc22e7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3bc22e7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"36f287ee6470c570c8a016c0113b1801a7ed7bb1","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3bc22e7.tgz","fileCount":40,"integrity":"sha512-QU4OYBHx93d11c6yDEJLSxNSwQ16BBo4L04nVVcVrKHfesbj7wQnApqRuPzQD4HGwI4lwylhzVMr0TCmALvqzg==","signatures":[{"sig":"MEQCIC+z57MDW6tE8zdQ81gsCjlqPuQdYePn/chhIvVokPDRAiBj67GVpMYNeQU0v9OAAgrXvcfq2VNv8L1YauOoc7EJjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3bc22e7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1304d74ae86d2444fd8b74449af1b06c/solana-rpc-transport-2.0.0-experimental.3bc22e7.tgz","_integrity":"sha512-QU4OYBHx93d11c6yDEJLSxNSwQ16BBo4L04nVVcVrKHfesbj7wQnApqRuPzQD4HGwI4lwylhzVMr0TCmALvqzg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3bc22e7_1701683104278_0.11059450580550911","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7ed772d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7ed772d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7ed772d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0cda8a5732e62ad10deb5811756e4eb5a7f00b18","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7ed772d.tgz","fileCount":40,"integrity":"sha512-Hcalp4BybVMtnNAcg/jdXl/s04bkwBfxEarC9Y1omTBRvBH9mJo+DeEc63e/roPjeneO2o3ENIK2tcFQ9l7UEw==","signatures":[{"sig":"MEUCIGGQBfqZ8ogsu/jQPwmZysLFjdPMiO224AFRg8O3SxIcAiEAiBAbP872blU4IkeqDNBaDpQ0Ste5tdIsLxnEGQZ6QzU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7ed772d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/394e09951fa687eed1205c020cca3a44/solana-rpc-transport-2.0.0-experimental.7ed772d.tgz","_integrity":"sha512-Hcalp4BybVMtnNAcg/jdXl/s04bkwBfxEarC9Y1omTBRvBH9mJo+DeEc63e/roPjeneO2o3ENIK2tcFQ9l7UEw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.4.1","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7ed772d_1701739053717_0.38948531048604673","host":"s3://npm-registry-packages"}},"2.0.0-experimental.445121c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.445121c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.445121c","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"833228d26c4caa4cfea4b12cc2c032138a1d9160","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.445121c.tgz","fileCount":40,"integrity":"sha512-7a+lqx8Od1VFWF56E8d0XveCCZn9b1Ga38rrHwH6VrOmEbEuhb7z4k5pTlGtcPtX0p05qVI6j2CsH4K4oW9mWA==","signatures":[{"sig":"MEUCIHDG8u82DQrQXg0ixN60SrUj77omZxJVoSDNDyJ7Am5xAiEAy/dFNyUO8e0POM8KKAjnU6ZYz2pIlP8YwQ7cmSgxcx8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.445121c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/cea2a0e2434146f7c050b3b8f470cb9d/solana-rpc-transport-2.0.0-experimental.445121c.tgz","_integrity":"sha512-7a+lqx8Od1VFWF56E8d0XveCCZn9b1Ga38rrHwH6VrOmEbEuhb7z4k5pTlGtcPtX0p05qVI6j2CsH4K4oW9mWA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.445121c_1701767965410_0.9613698906287309","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0f3404a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0f3404a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0f3404a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"554636715b97c79a6050ba31864db8cff5dfa6a9","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0f3404a.tgz","fileCount":40,"integrity":"sha512-zc47PmNMgFgFv/JDJOOQCkkYe/qBdqQIE5BWQivGFaMYHzG0f9QrKUMnpFKKIp12Dg/gJ3HBD4VSA8+iJL/grQ==","signatures":[{"sig":"MEYCIQDlqk5/lzmRlE25XUGRB/LqlXjzFGxOjrhPyWipuxBJyAIhAJyKGZ6iA1cIiwkaH/cQMi0fR5Y/BNkpC3uCLbAyMMmq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0f3404a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/802d0ef3080c25feda722938bcc8a0c1/solana-rpc-transport-2.0.0-experimental.0f3404a.tgz","_integrity":"sha512-zc47PmNMgFgFv/JDJOOQCkkYe/qBdqQIE5BWQivGFaMYHzG0f9QrKUMnpFKKIp12Dg/gJ3HBD4VSA8+iJL/grQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0f3404a_1701797650567_0.17371280197422512","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fcff844":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fcff844","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fcff844","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"57d50c37f05d3376c08bf4f55c16c5332bab0d76","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fcff844.tgz","fileCount":40,"integrity":"sha512-xhj609ZdFjqCUoDrJ8SRAnYK1ejjvDkKasqFhGgmX8JjAqpk3kUa3jfLNXwxoTHC/fgJlZZT/z+mNvXhXNK8Tg==","signatures":[{"sig":"MEUCIDJQMR74BrMuJ0rq+nvSsCfngD6mBKwL9DKp9m03gsdEAiEA3nyiE/Iy9f3PQbwZaKVYqWejzDHtxRxY2s1lB3OABKE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fcff844.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3cb4c9d6d6ce8849e5ed28ffb90ad183/solana-rpc-transport-2.0.0-experimental.fcff844.tgz","_integrity":"sha512-xhj609ZdFjqCUoDrJ8SRAnYK1ejjvDkKasqFhGgmX8JjAqpk3kUa3jfLNXwxoTHC/fgJlZZT/z+mNvXhXNK8Tg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fcff844_1701913104172_0.8835692894849405","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8618508":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8618508","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8618508","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"190888e479bd19ceefb3c76a43ac7510ece699df","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8618508.tgz","fileCount":40,"integrity":"sha512-Nd9Voc1lIf9mEMTV0ZOKNrP8tcElAv6bCtrT7eBetCc5wxsIKFG2LtbjkJWoNxU3U3gFr+C5Agdc6g+jlUOHAQ==","signatures":[{"sig":"MEYCIQCh3u6iRiVgohtKKkx2WSW0mMQyrTH0dsu2vPahRClrVgIhAODSe/XFRqxeILb7+9ZMelyf535hiVmfQ4LZ+QVYbJMB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8618508.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9a3743e77eba2d0f63ac22c352877762/solana-rpc-transport-2.0.0-experimental.8618508.tgz","_integrity":"sha512-Nd9Voc1lIf9mEMTV0ZOKNrP8tcElAv6bCtrT7eBetCc5wxsIKFG2LtbjkJWoNxU3U3gFr+C5Agdc6g+jlUOHAQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8618508_1701944140326_0.6787604848448907","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e1ca396":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e1ca396","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e1ca396","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"707a224b9e6f89303ce8db9cab27c44d84909249","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e1ca396.tgz","fileCount":40,"integrity":"sha512-qzfUmct+GzzcHJgqT+842BhD5B8h7oepJymRzrcIdRtGkgjFwNBpNFntfTdUyQm0NY6MXD0284sDwPM1KuWORw==","signatures":[{"sig":"MEQCIBtwD5Hy3RCjCalghrfJXD7OVg5Niz8l30ZM9Keelt+SAiAhh5mzsgcUbjx3w7zVSeoLRRamCXQQjuUC5ETOKyuoYw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346802},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e1ca396.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6b33722c94c7177b8a2253711f53a02b/solana-rpc-transport-2.0.0-experimental.e1ca396.tgz","_integrity":"sha512-qzfUmct+GzzcHJgqT+842BhD5B8h7oepJymRzrcIdRtGkgjFwNBpNFntfTdUyQm0NY6MXD0284sDwPM1KuWORw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.6","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e1ca396_1701947867032_0.7938261187490736","host":"s3://npm-registry-packages"}},"2.0.0-experimental.be3a154":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.be3a154","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.be3a154","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"951bd0e552bd688ec6c64156ce1103057bad3dd8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.be3a154.tgz","fileCount":40,"integrity":"sha512-/tzI7WWSsaxgvvfCBXAm2YPpV/v8UZzPwxBA1tea12EzD9VosBfTtn1at8J+gtClaKCAr1CXSHpT60UGvauzhA==","signatures":[{"sig":"MEQCICSgMQiD7eXtKcQva6LGJyioLFhB81OVR7iW/rJ/V7/rAiBQF9uHfxA3p885sASskj02FNn/5UENvyMpTg/hWDO6GA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346913},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.be3a154.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/14f899426a63e80c65c37bebe311a0f9/solana-rpc-transport-2.0.0-experimental.be3a154.tgz","_integrity":"sha512-/tzI7WWSsaxgvvfCBXAm2YPpV/v8UZzPwxBA1tea12EzD9VosBfTtn1at8J+gtClaKCAr1CXSHpT60UGvauzhA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.be3a154_1701948520468_0.5938607540651155","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9855bfb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9855bfb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9855bfb","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c040b04f9aab06f937b4fa1bc81018376e76de20","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9855bfb.tgz","fileCount":40,"integrity":"sha512-O5EaeVb8Z+rGTwu+1+KhytLOT8HhVNKXhvTaxqeg3z0BtF7lbm1kyZA18d3NNd0RaqYie/pgpY2KwrW4bITkWQ==","signatures":[{"sig":"MEQCIGd+tsVIXbhxZadrT7/bgVIyQsVftDBfwiXw5E0OlTSrAiBs5HRq7PAOITwsG3/+NCPRX59ZJXj4qdpLEi/ZRAzXdg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346913},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9855bfb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/991d495e8fe6b4e9dd01a864410e4539/solana-rpc-transport-2.0.0-experimental.9855bfb.tgz","_integrity":"sha512-O5EaeVb8Z+rGTwu+1+KhytLOT8HhVNKXhvTaxqeg3z0BtF7lbm1kyZA18d3NNd0RaqYie/pgpY2KwrW4bITkWQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9855bfb_1701999644801_0.37160065955914146","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8de8e11":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8de8e11","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8de8e11","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e68af56d6a018fcf996aa656e919d35ef1a0a30c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8de8e11.tgz","fileCount":40,"integrity":"sha512-MmeHv2XelozthfbsVlPnBARd7vmVrlwB8QwsVUcRyLvFKxUI4j3sBEFQKmCSVLeudcgU11qf6es2HfSBiyqy9Q==","signatures":[{"sig":"MEUCIQDqGgJRU6WJBiiduLbJUltJawChMDQ3XZW3zfJ/1RzY9gIgNOBmqO3I6lL8UqNbu79uBtG4fOw8O5m4XG6siJfbQnE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346913},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8de8e11.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8f123720495d0243dc2ca243f5b27b14/solana-rpc-transport-2.0.0-experimental.8de8e11.tgz","_integrity":"sha512-MmeHv2XelozthfbsVlPnBARd7vmVrlwB8QwsVUcRyLvFKxUI4j3sBEFQKmCSVLeudcgU11qf6es2HfSBiyqy9Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8de8e11_1702009125875_0.15017231526450403","host":"s3://npm-registry-packages"}},"2.0.0-experimental.76cf6b4":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.76cf6b4","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.76cf6b4","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6916cfdc3ecd59ba848cd9b6d5601c27ae370ec8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.76cf6b4.tgz","fileCount":40,"integrity":"sha512-721aCfZkmIdNjXWe0GX8EFomUTSXVdDtmK15VWJhMfUkE4ArmieJ7OoA0XIwTOKWxaU9OHdQcAbuUlsETLgjOg==","signatures":[{"sig":"MEUCIQDKSpB83j6+zsHkdQ9wNzrxxD7BNVWSEM3hIxlDcANXPwIgNrOA1OBs43wpjF6bb82UZh7YWTtGYZqN6CV3YSgtGrU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346913},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.76cf6b4.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/aa7be5355871163cdf0ed69307a44cc3/solana-rpc-transport-2.0.0-experimental.76cf6b4.tgz","_integrity":"sha512-721aCfZkmIdNjXWe0GX8EFomUTSXVdDtmK15VWJhMfUkE4ArmieJ7OoA0XIwTOKWxaU9OHdQcAbuUlsETLgjOg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.76cf6b4_1702009187820_0.6121786779949769","host":"s3://npm-registry-packages"}},"2.0.0-experimental.24d0d92":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.24d0d92","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.24d0d92","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e46aac5f8b465b1e26b79778ae2d44c02706b1c5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.24d0d92.tgz","fileCount":40,"integrity":"sha512-6XvhRO5HqcEUReyh4GkIsDC7AK+wxk4Q8YM0JEwM2zxi4ed2z8BnKiGQLQ3b7IazFDRuX8a+0todwt/DKU+nqg==","signatures":[{"sig":"MEQCIE1vccHQwbu5Vtr4mmQmsvsQvx2bZEal5Xrp9mzepcHRAiB7uakWvyOFxq4S4MJxY3OU5lU0zoly+0aJB63Jgimqig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346913},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.24d0d92.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/5266ac745e6c2b621dc3c8cebb68312c/solana-rpc-transport-2.0.0-experimental.24d0d92.tgz","_integrity":"sha512-6XvhRO5HqcEUReyh4GkIsDC7AK+wxk4Q8YM0JEwM2zxi4ed2z8BnKiGQLQ3b7IazFDRuX8a+0todwt/DKU+nqg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.7.0"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.24d0d92_1702028249981_0.5038090217510891","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c9bd7fa":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c9bd7fa","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c9bd7fa","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b4f49780addb9d439b84bb3a9b1ce3bbe793ae55","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c9bd7fa.tgz","fileCount":40,"integrity":"sha512-msOZf5AiLkqcbVorYtDM7FqlhE1Y2rbXTQOpStIBqIEdIwU4Xj9bRoSUTb57Av2r9R0oteJRBaVus9I824P9Zw==","signatures":[{"sig":"MEUCIB16jaFVuL/5x41EpWGYPm6r2iwqeOeTYWlQJFrZ2+sfAiEAr8Lur5xzK5CKKVe4rTZNGL3CovPDwkZEguTCdrQERW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c9bd7fa.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1c57dd52b90541262a6e282da45f0064/solana-rpc-transport-2.0.0-experimental.c9bd7fa.tgz","_integrity":"sha512-msOZf5AiLkqcbVorYtDM7FqlhE1Y2rbXTQOpStIBqIEdIwU4Xj9bRoSUTb57Av2r9R0oteJRBaVus9I824P9Zw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c9bd7fa_1702028946006_0.5041824088277431","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3e9cf67":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3e9cf67","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3e9cf67","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"394f2e716a6fb11d87ae57e9df2bae98fe003d32","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3e9cf67.tgz","fileCount":40,"integrity":"sha512-UuJkKWmA2hRF5lHDwElVrs21gqnKX71bSMPb04cdtl3Fy/5GySvwdgoB8pxeMVu0ot8IhK8On8RK78UqVXTvMw==","signatures":[{"sig":"MEUCIBNIWkVArcCCaDRsqTHKPyiEyELZZaGuJdEUOiIPO09vAiEA/V2I7VX/JL78yYsx6fe4XJPE4RSSzsgqnT2c49D/mIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3e9cf67.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ec7163a51d3517ab55f767abfbd1111a/solana-rpc-transport-2.0.0-experimental.3e9cf67.tgz","_integrity":"sha512-UuJkKWmA2hRF5lHDwElVrs21gqnKX71bSMPb04cdtl3Fy/5GySvwdgoB8pxeMVu0ot8IhK8On8RK78UqVXTvMw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"9.8.1","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3e9cf67_1702029239124_0.22260134547307175","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5b8e43b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5b8e43b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5b8e43b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"7c514f6aae5d56fc8aa0af998b387b4dcd6949b5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5b8e43b.tgz","fileCount":40,"integrity":"sha512-IAWdWyL9QP7IZC8zwCDlY7EvYfdFlkXix9+zIa0fCLUal6eYX88WR0kcQh1A7OklXY4QtwUsWhMFtsRRICbSxA==","signatures":[{"sig":"MEUCIQC7a3ylwq08/ZfF3Wkm9QGj8XIHIPl8i4ieU04JR6NZhQIgIVp6TApTTQxepDOZVdWA8LOQf9c4M1E6GdF3uwxziog=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5b8e43b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/b62d517f233882a6115ef8009aa2fdd6/solana-rpc-transport-2.0.0-experimental.5b8e43b.tgz","_integrity":"sha512-IAWdWyL9QP7IZC8zwCDlY7EvYfdFlkXix9+zIa0fCLUal6eYX88WR0kcQh1A7OklXY4QtwUsWhMFtsRRICbSxA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5b8e43b_1702063427004_0.24936151935459794","host":"s3://npm-registry-packages"}},"2.0.0-experimental.3b54eda":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.3b54eda","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.3b54eda","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5770f5b10b2a17f5e865a8d099fb40a43eb236ab","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.3b54eda.tgz","fileCount":40,"integrity":"sha512-DaeWtJUBDNBmegG5MBLKQV5e5Ioghh2jR8Ye+jqNJngYFB54JFjOvVorb0MWvLiG1g1RJRJGfyImkdIDhzRnMQ==","signatures":[{"sig":"MEYCIQChVy25DQFKobddYt8tB63c9KJqTyhtrT3Uc9+znHaGmAIhAM17eElyKtnsLLRCNmaM1RUFxA6p8K51ZFQ9pdYI7SJK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.3b54eda.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/759c6b6846b0ba832033954e04722946/solana-rpc-transport-2.0.0-experimental.3b54eda.tgz","_integrity":"sha512-DaeWtJUBDNBmegG5MBLKQV5e5Ioghh2jR8Ye+jqNJngYFB54JFjOvVorb0MWvLiG1g1RJRJGfyImkdIDhzRnMQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.3b54eda_1702075240608_0.18633399084321134","host":"s3://npm-registry-packages"}},"2.0.0-experimental.31ff931":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.31ff931","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.31ff931","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"c1a496639d13fa5401507f8c5707745e209f0590","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.31ff931.tgz","fileCount":40,"integrity":"sha512-YtBZdEViLP2gzpCldrlj/aD1USCF+IUTzFf5HDRDkeHVlKoH6pb3KAZQpKW6WweZGJ3O5AFnus6b0SDUNKhdmA==","signatures":[{"sig":"MEQCIC1wy9xd83yY4FrpDdYvyXql4F8x54xmN4/5O8hRF3nqAiAdyCWYTlHUIwwbC+hEvif20IKGxW5pv2eGQBAhNgMg3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.31ff931.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/491fdb2c955856921b6f4699c7c1c338/solana-rpc-transport-2.0.0-experimental.31ff931.tgz","_integrity":"sha512-YtBZdEViLP2gzpCldrlj/aD1USCF+IUTzFf5HDRDkeHVlKoH6pb3KAZQpKW6WweZGJ3O5AFnus6b0SDUNKhdmA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.31ff931_1702075291560_0.8869815179842786","host":"s3://npm-registry-packages"}},"2.0.0-experimental.96442d1":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.96442d1","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.96442d1","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2c9f563ac9b6ff321bcad939dd506cfb0b5e01d7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.96442d1.tgz","fileCount":40,"integrity":"sha512-uZ7+rWAJCjk5A59p2qe0CNr6fEteAqimKofxdXpBgmawidJxf3LemFEGiT5DMLlR5+yI2t0PTFgo5Fc24Zh98A==","signatures":[{"sig":"MEYCIQDbcVNolQH/gPfYWPRtnpDmzDpIIKvOuyY3SGyX/Q4nDAIhAP4ybD6nhiNbEEXBKRrlOEZPQYDOGldbnmKXV1oiKcRH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.96442d1.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/cedd7e6c4ddf0d6368cd346196e1d1cd/solana-rpc-transport-2.0.0-experimental.96442d1.tgz","_integrity":"sha512-uZ7+rWAJCjk5A59p2qe0CNr6fEteAqimKofxdXpBgmawidJxf3LemFEGiT5DMLlR5+yI2t0PTFgo5Fc24Zh98A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.96442d1_1702075299248_0.24287423389083584","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c42ccfd":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c42ccfd","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c42ccfd","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1f16a72b8393a25bb3936b1998e00ce5ba0b7fbc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c42ccfd.tgz","fileCount":40,"integrity":"sha512-8WdJ0Velc9XfXnxMHMK4brTiCbZnfnsRKsDoKcAlED6+bkvQowqOI3TlPMG7cT3WyjUUi/mgg7LYmg1C+40u0g==","signatures":[{"sig":"MEYCIQDkRgasLjXCyKfjkmv9oGKmD6TeVyXspUfdI/1ZPjOE4wIhAPjAJQH+rjYQK8ZReLdYJSRWmOr9DP/QeWX71K/HqhX6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c42ccfd.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/6ba279fe65d3b9851dc145d50c0c206a/solana-rpc-transport-2.0.0-experimental.c42ccfd.tgz","_integrity":"sha512-8WdJ0Velc9XfXnxMHMK4brTiCbZnfnsRKsDoKcAlED6+bkvQowqOI3TlPMG7cT3WyjUUi/mgg7LYmg1C+40u0g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c42ccfd_1702076990744_0.496983524753813","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7297b81":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7297b81","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7297b81","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8194569e73db961fe0143431dd1c8b2a3996b251","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7297b81.tgz","fileCount":40,"integrity":"sha512-CAgsu1N0bQqxr/vmHK3+/OB3CU1bQ2X+jZ7kyLRLG8gYsrJubdUdLUAGoz12ZOIA0pHf3OAXUxgYh066o/Fg8Q==","signatures":[{"sig":"MEUCIAz0qI7SaSmW3CIe7ORe8jzwOztdLA7ynEo+yuJpRw8cAiEAx44BT5+jJC4OOwA2MUYhksXIwkjEOBysLQSPeNSVqtQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7297b81.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/bef5929276e6ab91ac9403a82f18265d/solana-rpc-transport-2.0.0-experimental.7297b81.tgz","_integrity":"sha512-CAgsu1N0bQqxr/vmHK3+/OB3CU1bQ2X+jZ7kyLRLG8gYsrJubdUdLUAGoz12ZOIA0pHf3OAXUxgYh066o/Fg8Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7297b81_1702077599475_0.7137654221374155","host":"s3://npm-registry-packages"}},"2.0.0-experimental.9741939":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.9741939","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.9741939","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"93f1278b298184e6d21d5ab9a707c59593bcb194","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.9741939.tgz","fileCount":40,"integrity":"sha512-w3PeLlo1kMdsW9p1SgV7lZtYd39uSb2X/fkqThsDnq29pUqU5HeRr09bfx/76xsiApvR1usGBrGA2iVHHO79Ow==","signatures":[{"sig":"MEUCIEg1/8npEbCRI4tz4Lm2M0yOzeGHszqgL9b8+s5QvIQSAiEA/fo0+eKzm7XwPgDhn0CPH0T6nGVHOmTQnVi4x7hzfwQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.9741939.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/2664eca6fefd51ea7c422363d1277dc0/solana-rpc-transport-2.0.0-experimental.9741939.tgz","_integrity":"sha512-w3PeLlo1kMdsW9p1SgV7lZtYd39uSb2X/fkqThsDnq29pUqU5HeRr09bfx/76xsiApvR1usGBrGA2iVHHO79Ow==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.9741939_1702083431648_0.6025298082254722","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4c009bf":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4c009bf","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4c009bf","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"85df905afb84deb868a067da9cdd17b57572c91c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4c009bf.tgz","fileCount":40,"integrity":"sha512-K1Z2KEjcF4ilMlBsL0G6cU1jdQzyAJcXWc+7nFinNsf3Ev5+1STZPcIcYsGfouFv4EX1gkUtEWrqtUNWIsIsBg==","signatures":[{"sig":"MEUCIBTTkJhZ/4hCU6laoPx4YqHZJO+AAPwLZYaOouxvJS61AiEA+ylJZvKa40H28TtUbmT5+5sR6WIO6x9WuHrhP2yWPgU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4c009bf.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/48f05be1322a825cbffc356aa5fff8da/solana-rpc-transport-2.0.0-experimental.4c009bf.tgz","_integrity":"sha512-K1Z2KEjcF4ilMlBsL0G6cU1jdQzyAJcXWc+7nFinNsf3Ev5+1STZPcIcYsGfouFv4EX1gkUtEWrqtUNWIsIsBg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4c009bf_1702297758706_0.16205621380803392","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ed98b3d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ed98b3d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ed98b3d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"cb133443d6afe22d9f2ddb81f069ee56ca13eef6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ed98b3d.tgz","fileCount":40,"integrity":"sha512-HfUOyQ23eoLJjk8jb6uyEYnMV6mwxT/15jkDttjAcckNopF0SbqseS/7Jw7+eBJMhhTL7LDsqSIvp3auTviNdw==","signatures":[{"sig":"MEUCIDPzXyRRSWchLnaqiBjg7sOVj9TllYuOdXObPeTdNObzAiEA5cN0jk++XJsHo5VSx/dkQM0X8wfv5toPkWqLlxgED6c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ed98b3d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/2c62fa8b597b692caf8ea3d80130c93d/solana-rpc-transport-2.0.0-experimental.ed98b3d.tgz","_integrity":"sha512-HfUOyQ23eoLJjk8jb6uyEYnMV6mwxT/15jkDttjAcckNopF0SbqseS/7Jw7+eBJMhhTL7LDsqSIvp3auTviNdw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ed98b3d_1702315211410_0.9380184457307938","host":"s3://npm-registry-packages"}},"2.0.0-experimental.63c7492":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.63c7492","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.63c7492","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0e951eccf95548b6edd5a7dc9e8c6a279ea91c38","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.63c7492.tgz","fileCount":40,"integrity":"sha512-YRlb/lH9npqrEAugLz4B9GYnB3/4Z1S35otpo3M7Zrf1j5WkrUILpgwv9mCPl0Z0MWWpTzfb0H/wkAHdoy/7wA==","signatures":[{"sig":"MEUCIBf3L5Izr/ChROqls09JuBMpMmD+qLIrSADT4T2zG6GpAiEA7aGVRazAu3CxqcnN1gdmT4ir3KzcCu+dHA7aBnupHk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":346914},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.63c7492.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/a5b414b35e996f5ff6b157bcced528a6/solana-rpc-transport-2.0.0-experimental.63c7492.tgz","_integrity":"sha512-YRlb/lH9npqrEAugLz4B9GYnB3/4Z1S35otpo3M7Zrf1j5WkrUILpgwv9mCPl0Z0MWWpTzfb0H/wkAHdoy/7wA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.63c7492_1702318355220_0.3837150737320181","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c144a41":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c144a41","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c144a41","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"34bde546e19a3be4331f1fea2eede3d80b1006d3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c144a41.tgz","fileCount":42,"integrity":"sha512-v/ybnc+nIZdb5JfLIerS0BiNA1zCRUWQwuZnGLeHAOSPMUTl4oulF4yhBce074/OZWpqErs8qFzkPC+GmHk/MQ==","signatures":[{"sig":"MEQCIDr6sycss3tLtFx/qDJufu+xFpJ4Ux6FSrXGMGwwWQmMAiBREGV5cetWxTtrO02SpMnNzBDia6ncTMDauFL1NiOdwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":347813},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c144a41.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseProcessor: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/d4721f4ef9c5e77f4cca44b574838b49/solana-rpc-transport-2.0.0-experimental.c144a41.tgz","_integrity":"sha512-v/ybnc+nIZdb5JfLIerS0BiNA1zCRUWQwuZnGLeHAOSPMUTl4oulF4yhBce074/OZWpqErs8qFzkPC+GmHk/MQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c144a41_1702345149710_0.6566710726364202","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1e2106f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1e2106f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1e2106f","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"89f83e91c22bbf6db73b6a472ad9206549d41f9f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1e2106f.tgz","fileCount":44,"integrity":"sha512-0RLyWxkrWG9DOtojSR+7+wPmyUwy4Hdd9VCD7KTMR9uQDbRKKy3lOQv1LEiYJn+NXo9dshcQzmMQdfkOiadtGg==","signatures":[{"sig":"MEUCIDi3VkhpnAuBzZnbCq8B3MAluSxE4PcojMYJS1sKp82pAiEA2TsH9u0qExl7i21SxocQQZ0M1/yxJ0mCm9nbNEjjyLM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":363651},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1e2106f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/d645037e324a7ccfba38cb9214a7d9b1/solana-rpc-transport-2.0.0-experimental.1e2106f.tgz","_integrity":"sha512-0RLyWxkrWG9DOtojSR+7+wPmyUwy4Hdd9VCD7KTMR9uQDbRKKy3lOQv1LEiYJn+NXo9dshcQzmMQdfkOiadtGg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1e2106f_1702345304996_0.7594913413712334","host":"s3://npm-registry-packages"}},"2.0.0-experimental.15440e6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.15440e6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.15440e6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2e59c4f059ffd58f31f0bce022b1ba06d9b4157c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.15440e6.tgz","fileCount":44,"integrity":"sha512-Dr9Wn6rXXv4TZk+fO77yNtL0X3iM0IbfSJLRPy1Kckcl4O3zniEm0ksEW3yNrcVMjUS+bvGOggtTwMihhjJy1A==","signatures":[{"sig":"MEUCIQDodQAPAfc6Jaq7g2gxNuiWNAiUGevke1zbhBfef24GLwIgJtsqNJ5q+8A/baiEHTr9WRu0bv5vf46OqCyvavUE9CA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":364353},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.15440e6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/5801e1fdb7bebf20f91757805e7d1da5/solana-rpc-transport-2.0.0-experimental.15440e6.tgz","_integrity":"sha512-Dr9Wn6rXXv4TZk+fO77yNtL0X3iM0IbfSJLRPy1Kckcl4O3zniEm0ksEW3yNrcVMjUS+bvGOggtTwMihhjJy1A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.15440e6_1702345360480_0.8189065656930725","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ae3f1f0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ae3f1f0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ae3f1f0","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8c441bc475c17434dde88779f8889f986ccd24e7","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ae3f1f0.tgz","fileCount":46,"integrity":"sha512-gJPoFcTkynG7YEAqujt1tsr2bcRcHjuheC2UzgPPya0a/HEFXaGJO/bazIblKQSyXNJXGmWZhTLKMucJHyYiDQ==","signatures":[{"sig":"MEQCIBmiAi+MRIYGTCdGPeIuKkiKUV4R4rQruXLMR4ZS/HBJAiBfKZ87+shuBZVLyMhI4p45IeQIINOs9Mp0zTbnExjZUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387966},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ae3f1f0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/0e5bdce40f962e25bbdb08be0c5115e9/solana-rpc-transport-2.0.0-experimental.ae3f1f0.tgz","_integrity":"sha512-gJPoFcTkynG7YEAqujt1tsr2bcRcHjuheC2UzgPPya0a/HEFXaGJO/bazIblKQSyXNJXGmWZhTLKMucJHyYiDQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ae3f1f0_1702345414780_0.08221255878034572","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2ac1df6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2ac1df6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2ac1df6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"169259027816919e1b3f997898cfdd791fefe49f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2ac1df6.tgz","fileCount":46,"integrity":"sha512-6yDAkGfsQpUuUN7/qGHabvs73Xhmwcbvlnjx+Dy75Dr6Rya6HWj+VtZA+9wpwYAeF9RXrRRTsV1zoFZYA/Owzg==","signatures":[{"sig":"MEUCIFi3jMSsQZMKOggkf6mgj9vmhdEHz6SkW82khzcC8UUkAiEA5P9fj9bSgRESsfhJ7SuwSk6TrYspt4AvfVJApC9uzZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":387966},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2ac1df6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/97b3fa2313e6a60da7e04a1ac37c5fcd/solana-rpc-transport-2.0.0-experimental.2ac1df6.tgz","_integrity":"sha512-6yDAkGfsQpUuUN7/qGHabvs73Xhmwcbvlnjx+Dy75Dr6Rya6HWj+VtZA+9wpwYAeF9RXrRRTsV1zoFZYA/Owzg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2ac1df6_1702547958701_0.503073352256713","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b315352":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b315352","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b315352","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ba5a54751968bc9b3c02d45e69ff1035e8ef4655","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b315352.tgz","fileCount":46,"integrity":"sha512-MGIlVgbRld+IiZ1hGn16A+Bww6Nbd86nQiD8HVdt0QDlZql77lCLxRZak47M8X0SWjxc8Igf+25MieHqsvjH7g==","signatures":[{"sig":"MEUCIBO9Wqzd7v0zECVbaEB8Z2r0I1XNXd4GPbteYINMTdzaAiEA30vH9bj5ICXupMzmuprDkoqCluiTePg0evcunJGYyMg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b315352.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/8fe6d4f911272cc2c15a6859a6954873/solana-rpc-transport-2.0.0-experimental.b315352.tgz","_integrity":"sha512-MGIlVgbRld+IiZ1hGn16A+Bww6Nbd86nQiD8HVdt0QDlZql77lCLxRZak47M8X0SWjxc8Igf+25MieHqsvjH7g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b315352_1702688401298_0.6311856985758413","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2962a3f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2962a3f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2962a3f","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8c78f37e484c333e5050b8b390142e13656af17b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2962a3f.tgz","fileCount":46,"integrity":"sha512-hNCz7kf9fZdD/n8Os2xgRne8OIqsrufyNCuUdwbgUlTADf9D+VTwu7H04uGaO9C57uEGMyVDTDGzgpAtTa9CfQ==","signatures":[{"sig":"MEUCIQDJKcyXRajJAzFCynoBDiDLMhkOZ9Hu2zrL3E7nRtDgsgIgLSdt8/5NFcKwKRQ/Y2u7axgkZPXvmVz5GD60vEHvZME=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2962a3f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/86db19058f2aa70b79a3232cec97fda9/solana-rpc-transport-2.0.0-experimental.2962a3f.tgz","_integrity":"sha512-hNCz7kf9fZdD/n8Os2xgRne8OIqsrufyNCuUdwbgUlTADf9D+VTwu7H04uGaO9C57uEGMyVDTDGzgpAtTa9CfQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2962a3f_1702942362725_0.9485141740563414","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e1b2277":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e1b2277","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e1b2277","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b5826bc1fede019d210ed0a30ef685420a4f977e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e1b2277.tgz","fileCount":46,"integrity":"sha512-6AFbMZSgW4qJSHX0qghA+A+GITvxoNaChhALvbB3SYIw3CfV7RLPNdsS9P7ue3zNvUzd7ArIzvf23WSjoDYeWQ==","signatures":[{"sig":"MEUCIGOLxvfcjBMvoeHLGzcjIzEo42mBDLdX7ER4JkLJV8avAiEAvzzKjfT40zWAE9vlRzNJq4LfBsZRZv8nGd84x5OtHSY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e1b2277.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/dd00d6278bb497510250277d781ccd0e/solana-rpc-transport-2.0.0-experimental.e1b2277.tgz","_integrity":"sha512-6AFbMZSgW4qJSHX0qghA+A+GITvxoNaChhALvbB3SYIw3CfV7RLPNdsS9P7ue3zNvUzd7ArIzvf23WSjoDYeWQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e1b2277_1703015519476_0.28666268962125296","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a1fafee":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a1fafee","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a1fafee","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"82def1f45640ce213f9b3b505cfce54822a54613","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a1fafee.tgz","fileCount":46,"integrity":"sha512-QCrT8TohCKB9lISP4i+Po1G8e+sEH1QfpTNg40jA4BQJqmNMj0SHneWroB0aFAG2m/lf53xlq5I2nR2qe5TG0Q==","signatures":[{"sig":"MEQCIBc4uJQo1k64AOT3vysxMXgvSlMffzclIuRz3LJKVn24AiA8+3uofINVLHiQnu5x9o+FEKpbDQa3+ygbXJa3Angq8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a1fafee.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/59dc2d9f82e784d8262465165752049b/solana-rpc-transport-2.0.0-experimental.a1fafee.tgz","_integrity":"sha512-QCrT8TohCKB9lISP4i+Po1G8e+sEH1QfpTNg40jA4BQJqmNMj0SHneWroB0aFAG2m/lf53xlq5I2nR2qe5TG0Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a1fafee_1703190318833_0.7617167489796859","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ef2569b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ef2569b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ef2569b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"edea58574c9187e69ef51c8bcc680274eae5e319","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ef2569b.tgz","fileCount":46,"integrity":"sha512-nOsyvxOVL1FNL2Y5Cybn7rV1FFDoSLU8KuV2zdj7ueyAee62Oj2+3RiitXjv5PTiXQwkOG3RKutEh/EWsjSeFw==","signatures":[{"sig":"MEYCIQDazW3tyKbwVgvXZ8o8h0BLyuUiWc39jprTOm2+CfLUDQIhALN6OvZtApvNo1eIpoGeqErJs57pjoHneim5k54c/2kA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ef2569b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/985c9139b36e6f9638c15aff676aca44/solana-rpc-transport-2.0.0-experimental.ef2569b.tgz","_integrity":"sha512-nOsyvxOVL1FNL2Y5Cybn7rV1FFDoSLU8KuV2zdj7ueyAee62Oj2+3RiitXjv5PTiXQwkOG3RKutEh/EWsjSeFw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ef2569b_1704218166253_0.26160966891074766","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a157265":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a157265","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a157265","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"3772854a6b24c15aa72908ea3b2c90dbbcca3f76","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a157265.tgz","fileCount":46,"integrity":"sha512-6D40lILohr1/hraZf2pxf07QDhmgk6EmHKDR5Ux7TzG2NJfCQ5x8VFJP6hVeW1tnAiFuy7PkmcrR8y1wAk6gGA==","signatures":[{"sig":"MEUCIDgIJhqUHVAReFzMxdWMy8Ag/xQqF3DatCCs532+OnWyAiEAyCn71gAOoqF1D5vOIgARARNnOD1cFeKvg8U73wiek0I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a157265.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/116efef617f1e2372fd04350ee0f6d22/solana-rpc-transport-2.0.0-experimental.a157265.tgz","_integrity":"sha512-6D40lILohr1/hraZf2pxf07QDhmgk6EmHKDR5Ux7TzG2NJfCQ5x8VFJP6hVeW1tnAiFuy7PkmcrR8y1wAk6gGA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a157265_1704301725918_0.45106578837095346","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5e737f9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5e737f9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5e737f9","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"8781a2a9919991c4c76a3545da39535c454dc259","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5e737f9.tgz","fileCount":46,"integrity":"sha512-lF6qPJUvjI+HP469qjUSKVflL2rkdwQvHCnAv3HzInONTT6NAAEhLdZBN0/GvkChpn13q/j2f9PsWUWSbi6NAg==","signatures":[{"sig":"MEYCIQCtJMYD02ElIWVXWQoXqsId/D/PvxyzIut7cG4AwpgM4AIhAMbxI2ne8DI51iRlIceNjafng67jXp7pQHHRIDj350Xe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5e737f9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/daaf5ddc3ab18d8472d52329cda39450/solana-rpc-transport-2.0.0-experimental.5e737f9.tgz","_integrity":"sha512-lF6qPJUvjI+HP469qjUSKVflL2rkdwQvHCnAv3HzInONTT6NAAEhLdZBN0/GvkChpn13q/j2f9PsWUWSbi6NAg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5e737f9_1704457848371_0.11637452437110252","host":"s3://npm-registry-packages"}},"2.0.0-experimental.109615d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.109615d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.109615d","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"97293919a02699be86a136c339d720be04eaa072","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.109615d.tgz","fileCount":46,"integrity":"sha512-KulQSJvECMYgPp5nNuaKAMb6QklGybwkpNdPP3me3fwXN9tYruPyBDd7waNLYg9tfsgvakPi+4BXaJeGEFM/ow==","signatures":[{"sig":"MEQCIFepvj4U1kEVZzoVmpt6CvVo9g/vbPy8odAYOHjzm2kmAiBGu6zfVCuvOJPHsaLHXJjxhTLn25AmYd24RQcBjqcj5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.109615d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/73362cf7b29d98a3f4cb61e652186c80/solana-rpc-transport-2.0.0-experimental.109615d.tgz","_integrity":"sha512-KulQSJvECMYgPp5nNuaKAMb6QklGybwkpNdPP3me3fwXN9tYruPyBDd7waNLYg9tfsgvakPi+4BXaJeGEFM/ow==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.109615d_1704478214264_0.6705327070933185","host":"s3://npm-registry-packages"}},"2.0.0-experimental.59e5893":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.59e5893","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.59e5893","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d055de7ee476efae2381bc2531ba8cc2bed8de2e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.59e5893.tgz","fileCount":46,"integrity":"sha512-0WXqJ6USFrWE5rce/f7bj0efZeW+S0HE8sKhDcIhmksEJpLstJofInZQcfxEiOb85BxIsAdnzPw85N7JDpZQFw==","signatures":[{"sig":"MEQCIGDhi/X3dxmY8Oq42Melz8BbM/KxLXkIBaKK+COMZviDAiAImtpex9zICejDhWf0iIHGlAk2fdQtRc6srblPK5iaHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.59e5893.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/034f7f73f5f2b4e036250aa86a3da804/solana-rpc-transport-2.0.0-experimental.59e5893.tgz","_integrity":"sha512-0WXqJ6USFrWE5rce/f7bj0efZeW+S0HE8sKhDcIhmksEJpLstJofInZQcfxEiOb85BxIsAdnzPw85N7JDpZQFw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.59e5893_1704494071893_0.021525161009485316","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6d27574":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6d27574","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6d27574","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"65070ed829607f227a3a62c34a7f3ff3e9a31adc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6d27574.tgz","fileCount":46,"integrity":"sha512-H5JaN0O28W7zEcBnAKn3rxOA6S/6TeaE34ESAU6iRd6/sv2djE8462DaFzTaiw1WPxeqRdGOYaDQUytHuUDIuA==","signatures":[{"sig":"MEQCIH1gp/9h3gZFv1ygMBmnISijvnK9UxUB92XPpOTJG+IjAiB63ysJGLxqRIEoNmnkALppFFmRDGhxzF9MywHDQYKfLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6d27574.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/d55f285248fdcd4760224913ad6a1bc6/solana-rpc-transport-2.0.0-experimental.6d27574.tgz","_integrity":"sha512-H5JaN0O28W7zEcBnAKn3rxOA6S/6TeaE34ESAU6iRd6/sv2djE8462DaFzTaiw1WPxeqRdGOYaDQUytHuUDIuA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6d27574_1704518345181_0.35575345370058886","host":"s3://npm-registry-packages"}},"2.0.0-experimental.24d71d6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.24d71d6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.24d71d6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"44425b62f30b908e6dbec6cfb302bafe1b4fb50f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.24d71d6.tgz","fileCount":46,"integrity":"sha512-sEGNCvT9Zxkqpzo+o6WTPdkiULo81mSzZnhtuaC+QD5UMa8hW4pj2FwKI7GblIZ4/Ipyp/aB0p69OIXA744fUA==","signatures":[{"sig":"MEUCIQDHvJWQ4VndpJ1Em3IDlXC37dOu8EFjoIld+48/9y+LqgIgAv2Nkrv43A1tJNPV388DNPjJ1MbLOwqe57joeCa4nbA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.24d71d6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/e561a8b0b5c9456923aa0e70424e17b9/solana-rpc-transport-2.0.0-experimental.24d71d6.tgz","_integrity":"sha512-sEGNCvT9Zxkqpzo+o6WTPdkiULo81mSzZnhtuaC+QD5UMa8hW4pj2FwKI7GblIZ4/Ipyp/aB0p69OIXA744fUA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.24d71d6_1704519835340_0.012856675798700978","host":"s3://npm-registry-packages"}},"2.0.0-experimental.944fbc3":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.944fbc3","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.944fbc3","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b694475dcc1b1bff71b0834938d7cec0e5905c59","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.944fbc3.tgz","fileCount":46,"integrity":"sha512-PQafUNoq+MdmJIG0JOYgcsU4aIUelsk+A+a1xEZ6BA6OAm0Z/LISjr6Xr2Lps0rkpvH8UdPpouGpkDJQ6VMGCA==","signatures":[{"sig":"MEUCIQCxw15WYe7MJigUdGTCumcDmazOyhfyXNc+L+aFLMew8AIgf5xMAW9A95Jn+QqASX0bmcR8obvvPKdZCqm28RbdWus=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.944fbc3.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/2a17e590c10914e6790ccf384c83d89f/solana-rpc-transport-2.0.0-experimental.944fbc3.tgz","_integrity":"sha512-PQafUNoq+MdmJIG0JOYgcsU4aIUelsk+A+a1xEZ6BA6OAm0Z/LISjr6Xr2Lps0rkpvH8UdPpouGpkDJQ6VMGCA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.944fbc3_1704829815662_0.22731932538339605","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f5d64e6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f5d64e6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f5d64e6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6dbface8f95a2019b57efee4bfe7fb607075ba6c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f5d64e6.tgz","fileCount":46,"integrity":"sha512-/z4APXAc75wJTi2LxUCYnFmWmbiwdwfakjzdOigR/c/7E7k4adpcFFKo2q5ZAs078DD9lCeBPgOEDQFluT8Baw==","signatures":[{"sig":"MEQCIGxviC1PkGT0vc0ZjckWc67YX5apeSzKjzjuZ9PH7yQWAiBncj5WARUVkVAoePNhKfQPcSVWZH+e6G/XDcABWyKn6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f5d64e6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/5127e931439426d10ffdde274ee8d07b/solana-rpc-transport-2.0.0-experimental.f5d64e6.tgz","_integrity":"sha512-/z4APXAc75wJTi2LxUCYnFmWmbiwdwfakjzdOigR/c/7E7k4adpcFFKo2q5ZAs078DD9lCeBPgOEDQFluT8Baw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f5d64e6_1704829958977_0.2631977736190152","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d148156":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d148156","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d148156","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5cd48ee591cba9504aa874b84a58b0b07ecc6927","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d148156.tgz","fileCount":46,"integrity":"sha512-XznB82/Zw3SzFP7YN+BbGwQRHBXKoTrXx+rgaxu8+U0eIkpspXnUCAUl89PJArL6duaW2DGGAkXWA9Kh5msjAA==","signatures":[{"sig":"MEUCIQC0fDpQc1ihPeJKWtk2dNwANmUWejVhfj5tFwxqzK2bcgIgE0EWlO9x7BJakM1wM5etzmYKJIINnXuX3WoI0oULT54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d148156.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/16b2b5753739c548e11b446f85b8cb3e/solana-rpc-transport-2.0.0-experimental.d148156.tgz","_integrity":"sha512-XznB82/Zw3SzFP7YN+BbGwQRHBXKoTrXx+rgaxu8+U0eIkpspXnUCAUl89PJArL6duaW2DGGAkXWA9Kh5msjAA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d148156_1704830054474_0.9387028367364041","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0835c79":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0835c79","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0835c79","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"197cd711ac5b7e686825987f72f92002300568ec","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0835c79.tgz","fileCount":46,"integrity":"sha512-kMlnzE6OF8fJCAgEp4VyVuqe/qr2ynZ93cHNOcayU+InWvMGRo/IZfMOrMuLRL7AG1kfGqlCSVdDH2xSeodXSQ==","signatures":[{"sig":"MEUCIE8f92CPalmBjyMmMiRr8PF2IP324c4B3ZnR98IxvSc3AiEAxOdh0ApTTqudQ7wqQ375fHT+nnAhCm7dPo3Se+iA8CM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0835c79.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/5f619024186d5098ce2613bf76ce3d08/solana-rpc-transport-2.0.0-experimental.0835c79.tgz","_integrity":"sha512-kMlnzE6OF8fJCAgEp4VyVuqe/qr2ynZ93cHNOcayU+InWvMGRo/IZfMOrMuLRL7AG1kfGqlCSVdDH2xSeodXSQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0835c79_1704842398844_0.43741853217908333","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8488c9f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8488c9f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8488c9f","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"29c840c54c4a55bae1f93e84e2fcb5c4c6d90efa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8488c9f.tgz","fileCount":46,"integrity":"sha512-+njttwfVXRvYlBjESFy+QmKeIV1TCrdMVl/XoI8Frocfq1hSIRNwNrG7dVZ9296kiJI0vsB5OXQJU8zY2WN/IA==","signatures":[{"sig":"MEQCH0wAICQ/rX5BILWIoTKl7bD4gE7U4XaeiU+BlDgE2E0CIQCnXksraj2d7XLxQ6mSpFWvrclF9qRqXqN1CdbmRhyBIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8488c9f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/f85e0009d7b49f2b93d9e7273cba9a28/solana-rpc-transport-2.0.0-experimental.8488c9f.tgz","_integrity":"sha512-+njttwfVXRvYlBjESFy+QmKeIV1TCrdMVl/XoI8Frocfq1hSIRNwNrG7dVZ9296kiJI0vsB5OXQJU8zY2WN/IA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8488c9f_1704842715743_0.44342815231324484","host":"s3://npm-registry-packages"}},"2.0.0-experimental.510ead7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.510ead7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.510ead7","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"dc5028bbf478bd87ff8e1f063aa2afff43638c9b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.510ead7.tgz","fileCount":46,"integrity":"sha512-qHzzcANSLrkW3m9p66q5otXONI+SEFFV3yqflTG08t9h5SJYUgkCZuZ1R+NZNXt+UMfGRycOe4buPLDKYlZrjQ==","signatures":[{"sig":"MEUCIHs75a7fqMkSfb/y3kHNeEB4kac3b6CbpF+OzOrnLE9OAiEAoFbZmdOfBqh6oHvApa2UD6dwUzXDhGgmqoPNb43QkPs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.510ead7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/83d8769a31873ee14b6907df7ac2fad5/solana-rpc-transport-2.0.0-experimental.510ead7.tgz","_integrity":"sha512-qHzzcANSLrkW3m9p66q5otXONI+SEFFV3yqflTG08t9h5SJYUgkCZuZ1R+NZNXt+UMfGRycOe4buPLDKYlZrjQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.510ead7_1704885206983_0.36614923398531984","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b5bbd3a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b5bbd3a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b5bbd3a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"45c881cafc9d1847ba5de325915564de9f379bf8","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b5bbd3a.tgz","fileCount":46,"integrity":"sha512-lHqQQfBIGYDLt4pT5LIKBN8eT0DnZ7llvKh+kpmsPe20YVu+NUZMwI8rP8YutGYcajDtUmjc5VmHNmwnkyZ4oA==","signatures":[{"sig":"MEUCIQDCZ+BRl6B/KepZVsA+8Op6wNp76RClD2BoxjBk3n/NaAIgHjcpzT37+aMzCafqOJN1oxV0tVmeA44s/VlqO+ofZh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b5bbd3a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/231af2995688f45f1e1a32bcbd3375de/solana-rpc-transport-2.0.0-experimental.b5bbd3a.tgz","_integrity":"sha512-lHqQQfBIGYDLt4pT5LIKBN8eT0DnZ7llvKh+kpmsPe20YVu+NUZMwI8rP8YutGYcajDtUmjc5VmHNmwnkyZ4oA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b5bbd3a_1704897884903_0.6511806620052394","host":"s3://npm-registry-packages"}},"2.0.0-experimental.acab173":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.acab173","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.acab173","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"82d4832a029f47fef5749054240e450a31a8cb84","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.acab173.tgz","fileCount":46,"integrity":"sha512-MBbbPTRsNnXX4/28jobzWAxOEm7SU8EFyOXArrFz07vBugus74L07DoyWswMgWzd5NWcFjVWDo4ARH0LftfMYg==","signatures":[{"sig":"MEQCIAWARER/veG5QdpqpUfBCLx7X5v2rSVTksRPtepG28VZAiABd6lsr7Eamq2c3fZ49h0VGvzPxD4bDkOIqLnxJUGINg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.acab173.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/b472666e3548e8eadba624aca4316668/solana-rpc-transport-2.0.0-experimental.acab173.tgz","_integrity":"sha512-MBbbPTRsNnXX4/28jobzWAxOEm7SU8EFyOXArrFz07vBugus74L07DoyWswMgWzd5NWcFjVWDo4ARH0LftfMYg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.acab173_1704970215524_0.5264422109217073","host":"s3://npm-registry-packages"}},"2.0.0-experimental.23420ec":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.23420ec","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.23420ec","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"91799447b1ee9676e7106ed816552953298f65af","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.23420ec.tgz","fileCount":46,"integrity":"sha512-tjubucY7zB8vnyQyu0xd475tQJ6W719IUxJ23baqXjJBsbsm3PY2STIDWPnqgDA1rATpupYgEXEJfhnfxH6lmQ==","signatures":[{"sig":"MEQCIBRqIvvcdWqH5y/dj7qJSk2A1Faomr8swF6Fz0T88FMNAiAi7FMOx1UNUR/xQq54yu+GtvhePhyjw9CdaFLdmktxyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.23420ec.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/cd0dbbc1efe5f186c9d30f9f01cdbcc5/solana-rpc-transport-2.0.0-experimental.23420ec.tgz","_integrity":"sha512-tjubucY7zB8vnyQyu0xd475tQJ6W719IUxJ23baqXjJBsbsm3PY2STIDWPnqgDA1rATpupYgEXEJfhnfxH6lmQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.23420ec_1704970462392_0.35744172240859706","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6466d76":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6466d76","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6466d76","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2c4ec64a44f973a11ec0866f15a411030d0bd59c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6466d76.tgz","fileCount":46,"integrity":"sha512-dFw4H3DDl0UwYFRA0W5mMb3H0iIHr22WCuQMD0kjTqjC9X9tmHX94woSkSeXYwvOzq8rEj2yag5D/zEpxxYWdA==","signatures":[{"sig":"MEQCIFU0VHPQzmlI73SM7ly81xx94voVaCLaJQ1QmnYQDZZCAiA73ao9FEcoe8PevAlc40ZiJHFTOUVplNSwe/sVwLmOhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6466d76.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/8e4419a61c46b7f6150c840602965d79/solana-rpc-transport-2.0.0-experimental.6466d76.tgz","_integrity":"sha512-dFw4H3DDl0UwYFRA0W5mMb3H0iIHr22WCuQMD0kjTqjC9X9tmHX94woSkSeXYwvOzq8rEj2yag5D/zEpxxYWdA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6466d76_1704970945454_0.042840106646474974","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c588817":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c588817","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c588817","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9fd0d21da774e1d3471be42f47b7ac3ae8af2dc6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c588817.tgz","fileCount":46,"integrity":"sha512-HNNPlSFDR0YnyloQGgwJjVIp11sASMKdbbYJqsxECFSCkGOYEw9J+UiP8uj7vnoqQE08x8mRoMH8gGg2xQbKRA==","signatures":[{"sig":"MEUCIFI8fXh1eAtstMlLvjK1wK8DTYsv6/YkFhF5y2Izgln7AiEA+uIx7DbTney1Bsee3M2MFJY5Li/PiuRrOFY83UV6JtE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c588817.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/77375a2426be65e65f3f7b07b129ad31/solana-rpc-transport-2.0.0-experimental.c588817.tgz","_integrity":"sha512-HNNPlSFDR0YnyloQGgwJjVIp11sASMKdbbYJqsxECFSCkGOYEw9J+UiP8uj7vnoqQE08x8mRoMH8gGg2xQbKRA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c588817_1704972191535_0.5883767359401482","host":"s3://npm-registry-packages"}},"2.0.0-experimental.62b6bd6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.62b6bd6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.62b6bd6","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4506fe9949b6665949766afb92f7997d56962410","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.62b6bd6.tgz","fileCount":46,"integrity":"sha512-bBqb1xV+QpRx+1NBpMS8pwW4lgRDc88mUGcNlIExABu6utFTY5I6HVTSJ1J0+Osi61bWZuteTkKcC66WvMWonA==","signatures":[{"sig":"MEUCIHJkiNO6UK25S+pbwfFKrUVTAPLubvn9kgA5CIX92XD1AiEA54xvYaaM78WEhIXr/o0dFcVlNcdDGiKXUceDuDKwAEA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.62b6bd6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/514071609b2fa053cccb6ef8daf50b2e/solana-rpc-transport-2.0.0-experimental.62b6bd6.tgz","_integrity":"sha512-bBqb1xV+QpRx+1NBpMS8pwW4lgRDc88mUGcNlIExABu6utFTY5I6HVTSJ1J0+Osi61bWZuteTkKcC66WvMWonA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.62b6bd6_1704973706190_0.30378977314723077","host":"s3://npm-registry-packages"}},"2.0.0-experimental.dbe6a73":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.dbe6a73","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.dbe6a73","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fa5124324c81197f569e957119674d15857c31a3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.dbe6a73.tgz","fileCount":46,"integrity":"sha512-QGu5oXvxRTeFrxzu7tIVnLbffO3rBvvN3TIuj9VdugsvhjReqlzC9PYHl5Qa9u9ivk0gRbZqm9jhx5UeRA+cRQ==","signatures":[{"sig":"MEUCIQDmeEcNkfjLqpaw3p6xsLIoE4MXOaBdgpydKs/EFPiZ9AIgB8a5Wy3HuRzoTfCs53ZUc2n/mGUflG4W3x6DZW3HbDI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.dbe6a73.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/e8ee182357b60d4e789389ed8249ab30/solana-rpc-transport-2.0.0-experimental.dbe6a73.tgz","_integrity":"sha512-QGu5oXvxRTeFrxzu7tIVnLbffO3rBvvN3TIuj9VdugsvhjReqlzC9PYHl5Qa9u9ivk0gRbZqm9jhx5UeRA+cRQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.dbe6a73_1705044920137_0.07253645378889084","host":"s3://npm-registry-packages"}},"2.0.0-experimental.cee6f23":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.cee6f23","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.cee6f23","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a90b32f9081d35d9f6e579094651cf9eea780714","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.cee6f23.tgz","fileCount":46,"integrity":"sha512-XgufdAaV3JISGuZMhqhKlTLlSJTnRDkpPVtnIwsADJxnNQ5vNFVwTQmV+cV3QV8BxLqQcjmeevll4Zl4sNJxHw==","signatures":[{"sig":"MEQCIFdd70DP6URshk/URi3S/xppLJmH0c6wf5Vs0/QCY3XWAiBOZYMGYwlxL/VjplBWOnRERZKVQI2FtkGBNHSe226LnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.cee6f23.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/ea6e0fa2a60c9c1d00cccb40c361d5dd/solana-rpc-transport-2.0.0-experimental.cee6f23.tgz","_integrity":"sha512-XgufdAaV3JISGuZMhqhKlTLlSJTnRDkpPVtnIwsADJxnNQ5vNFVwTQmV+cV3QV8BxLqQcjmeevll4Zl4sNJxHw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.cee6f23_1705060725768_0.9586989558184646","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4c9a8b8":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4c9a8b8","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4c9a8b8","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2dc8d5cbc5ec840c8eee70f5b9c759ec594eb120","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4c9a8b8.tgz","fileCount":46,"integrity":"sha512-p/nTzLvGeGX51sAPFtCbXj/vto7fZ0gMF+fxInaxYEBPoes+WFtVbBrgqHNdzvGru6zp5phGcuHzDoH2o3trNg==","signatures":[{"sig":"MEUCIQD2b2iPATOkMjjn5MMWqJFHQwbngnlnSI8vweDoqyWLEAIgesor6JWSCYFxP/Vj3DBDB02odOkpl5XGgN5iCcP3F6k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4c9a8b8.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/a70c519ed63f211d5c3518dc1574f21a/solana-rpc-transport-2.0.0-experimental.4c9a8b8.tgz","_integrity":"sha512-p/nTzLvGeGX51sAPFtCbXj/vto7fZ0gMF+fxInaxYEBPoes+WFtVbBrgqHNdzvGru6zp5phGcuHzDoH2o3trNg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4c9a8b8_1705070981706_0.5100802352821086","host":"s3://npm-registry-packages"}},"2.0.0-experimental.7aeac5a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.7aeac5a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.7aeac5a","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fef6c299530a3cbcd362c24cab7b7f892832dcac","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.7aeac5a.tgz","fileCount":46,"integrity":"sha512-ibQ4YR7WCmgpOTA0gjNg7/fcXsMPcbRO0EYM9AzL2ap1pA1K8JBbeSxV56KXRaxeSlQBsz68538eL79rpNFW7A==","signatures":[{"sig":"MEQCIAG5I5ma+MCwTMRa2OAJVJO3hcL29fXNnLwleiJwVQqEAiA1xqzzpPjHzTvQysOxT0XVQ1HH9CBcbfn1xdNtvKUbdw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.7aeac5a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/488f4fe963ffcb4033ff95839d32c092/solana-rpc-transport-2.0.0-experimental.7aeac5a.tgz","_integrity":"sha512-ibQ4YR7WCmgpOTA0gjNg7/fcXsMPcbRO0EYM9AzL2ap1pA1K8JBbeSxV56KXRaxeSlQBsz68538eL79rpNFW7A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.7aeac5a_1705351242440_0.11496528704386044","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5e43617":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5e43617","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5e43617","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a1464ae0ca74c0dea87bc704f40b18ab213e3285","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5e43617.tgz","fileCount":46,"integrity":"sha512-zlkhjumu9BmyZEKrvXr42xFyZhVFXNkY5wJeo+vZVi2uPIN9BEHJSbGzfSuZbuqOzAU+Xjs16/lgAmjwNHi5cg==","signatures":[{"sig":"MEYCIQDeQA8+/EvNGvEFSEAIP3FosRtxr8WXeaHIk5OyZNKhOAIhAMoKMpAViwe1Ajj4MrmGgqb0vcAwddI2OK9OEWiQlmP/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5e43617.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/035d130b8a98c740c379c939f059901a/solana-rpc-transport-2.0.0-experimental.5e43617.tgz","_integrity":"sha512-zlkhjumu9BmyZEKrvXr42xFyZhVFXNkY5wJeo+vZVi2uPIN9BEHJSbGzfSuZbuqOzAU+Xjs16/lgAmjwNHi5cg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5e43617_1705351933790_0.30330868846912473","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1c57210":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1c57210","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1c57210","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1bf69ee5b4f5bfe8d4ef25f24b39a8215490f590","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1c57210.tgz","fileCount":46,"integrity":"sha512-zOEm4hpuZOridkQzRbqb1bHEQpuL8wS0mK1sSWAzRpm1lLT9FylrwiZo1VfXHpRiEQUtQ4pi+1A79X638ElA7Q==","signatures":[{"sig":"MEUCIQC144ZtTm+2GwocqPuvh/d2/uLQUko7Kfiqx2oBt0LPOgIgbrdCV+gdGSSFjpvAhsEi+K3zLoTSeoIigSE1bv7UiEw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1c57210.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/6140c0f5b3bdc2a6cc75399c534241a2/solana-rpc-transport-2.0.0-experimental.1c57210.tgz","_integrity":"sha512-zOEm4hpuZOridkQzRbqb1bHEQpuL8wS0mK1sSWAzRpm1lLT9FylrwiZo1VfXHpRiEQUtQ4pi+1A79X638ElA7Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1c57210_1705417963146_0.10076599672243569","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6d93188":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6d93188","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6d93188","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"96e3e9660b2896c74bd3b118850a5a927d81ffbc","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6d93188.tgz","fileCount":46,"integrity":"sha512-MTa9tULW990R65LXv7oezm4E652X/fr+iyDMGb2VZbpUi/yrqiubiK8ge3DrRx5kuwox+jz02bmbW/kBSU76Uw==","signatures":[{"sig":"MEUCIBBRjJFaWe8ul+kH+YOB1N+gUzCPOpelKam2r5oHfYQEAiEAzcFu6RCU49f+unTegvXqQ8aZ/uQj6pQqXzp2QiR8hoE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6d93188.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/b7cd8550a18b42acb9619d0bee707d60/solana-rpc-transport-2.0.0-experimental.6d93188.tgz","_integrity":"sha512-MTa9tULW990R65LXv7oezm4E652X/fr+iyDMGb2VZbpUi/yrqiubiK8ge3DrRx5kuwox+jz02bmbW/kBSU76Uw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6d93188_1705418570923_0.7072248393254759","host":"s3://npm-registry-packages"}},"2.0.0-experimental.651e653":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.651e653","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.651e653","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"53a0861e880680ecfe339b0b5f77efe09c18d211","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.651e653.tgz","fileCount":46,"integrity":"sha512-mAS6ftThlLrB9d8IP4DoP/GFMUUAS9QzPg6xsV9U1ptOvFkB+LiMBhG8IP4oq+KyO0Y/93uepWc0Gw/mfTcsOg==","signatures":[{"sig":"MEUCIElvFsCH+vcnwEdTCgyTm9f1AG5V/42bp/ulvpuCs9VgAiEAzVH/rp2zMvF+kqg09D/HSv0vGpfCv9z4EjHOoE3Cmxk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.651e653.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/2591e24180764ee90a9d0dad77c2c55f/solana-rpc-transport-2.0.0-experimental.651e653.tgz","_integrity":"sha512-mAS6ftThlLrB9d8IP4DoP/GFMUUAS9QzPg6xsV9U1ptOvFkB+LiMBhG8IP4oq+KyO0Y/93uepWc0Gw/mfTcsOg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.651e653_1705531028655_0.7113087018973079","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f2a2e5b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f2a2e5b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f2a2e5b","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"071a5fb021d3bdd4bfd738f52b6f3e209a393ce0","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f2a2e5b.tgz","fileCount":46,"integrity":"sha512-bw4VqcUv7p6slOA79+JJiiExFdRxxYyyIgl2W72Q0PU+tZ6wT06Ja4Q1Yw8uG5JPySX73j5E6q1h01dyqV5zPw==","signatures":[{"sig":"MEUCIBnIeFcnMxGUKg1GbB1prB2Pssd7LW1e7s4xpcnf0xXdAiEAppnr7v5CIPgQKRgBQ1wMBWuqodO7nzx/67vJFSdbIcE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f2a2e5b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/445b84f101059a5cc5e9e5535180fb19/solana-rpc-transport-2.0.0-experimental.f2a2e5b.tgz","_integrity":"sha512-bw4VqcUv7p6slOA79+JJiiExFdRxxYyyIgl2W72Q0PU+tZ6wT06Ja4Q1Yw8uG5JPySX73j5E6q1h01dyqV5zPw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f2a2e5b_1705531795620_0.13925187137641304","host":"s3://npm-registry-packages"}},"2.0.0-experimental.ca243cb":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.ca243cb","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.ca243cb","maintainers":[{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b74afb16df22409b1b8b97bc7be4b7df42895c2b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.ca243cb.tgz","fileCount":46,"integrity":"sha512-wBsI3MTll0KVSwZzt/3BJAe5zlH+LVwpt+/ydq4Nkb7k4cXhxFW8em0tR4rcw/Uw0dC2Zis+XtSge1Af1hCpKg==","signatures":[{"sig":"MEUCIQCf+SFRfnSGT1DErjUq8rAty24r04qNb2pxq+4VEiXlfwIgTAyvtoZvlzbdyZxq2+Zuf06iphr48bUzmi1meBZpSJA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.ca243cb.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"lorisleiva","email":"loris.leiva@gmail.com"},"_resolved":"/tmp/5f4807f4d3bd31bf81c71b7895c4a754/solana-rpc-transport-2.0.0-experimental.ca243cb.tgz","_integrity":"sha512-wBsI3MTll0KVSwZzt/3BJAe5zlH+LVwpt+/ydq4Nkb7k4cXhxFW8em0tR4rcw/Uw0dC2Zis+XtSge1Af1hCpKg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.ca243cb_1705591469458_0.8629142752305827","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a81a78e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a81a78e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a81a78e","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f8ce40aa31e8c49a98f5018479aa876da135b475","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a81a78e.tgz","fileCount":46,"integrity":"sha512-QELPu0q0eXbHDsftPSmFcyKpilpuN4nnLshyBwWHA42HtqQdYhJjr2vn1jnoP9RhMkQCQooMA6FN6IAqZoCLFg==","signatures":[{"sig":"MEUCIEfkZXFuG7SP+RNOg7lNVVhRUxZsYzmfhRSnxd/9wLCtAiEA/0rvZulGl+zomMKHMebJW083tYvO7HJZoZEg8G8qWqI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a81a78e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c61621cd3897e446e83482af36580521/solana-rpc-transport-2.0.0-experimental.a81a78e.tgz","_integrity":"sha512-QELPu0q0eXbHDsftPSmFcyKpilpuN4nnLshyBwWHA42HtqQdYhJjr2vn1jnoP9RhMkQCQooMA6FN6IAqZoCLFg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a81a78e_1705947367669_0.9469212212635363","host":"s3://npm-registry-packages"}},"2.0.0-experimental.a0b9a27":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.a0b9a27","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.a0b9a27","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5f9ccff67d9bb8ab3d636dc508b0cfb59af3c82b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.a0b9a27.tgz","fileCount":46,"integrity":"sha512-Y6Y7RE7UjTjBp0+dbbZYQj6WskDs+vIiDBWYUJARlBOSo5D2+RN5QevPQ+Uqf7Suz8RlKqzA05FhwZfyv3NWSQ==","signatures":[{"sig":"MEUCIQDmc6/2Pf/UlvilcoLbLkwCqnlIgfCNeITZQxQQgK+0OgIgXwt/Zghjr6fXUVMkxZ/qT2qVH3GXQ2LtYsYyFymIpiY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":388032},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.a0b9a27.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0d639df5ce733fc07e1df9896413da62/solana-rpc-transport-2.0.0-experimental.a0b9a27.tgz","_integrity":"sha512-Y6Y7RE7UjTjBp0+dbbZYQj6WskDs+vIiDBWYUJARlBOSo5D2+RN5QevPQ+Uqf7Suz8RlKqzA05FhwZfyv3NWSQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.a0b9a27_1705994433153_0.26029288266933914","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4f33613":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4f33613","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4f33613","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9c2d959fee6fd40c9f9de1a4a28c6cf91e38fab3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4f33613.tgz","fileCount":46,"integrity":"sha512-Fjdw0i8pjyQbZhANtFLvYuxeXThYoD1AYJlLbgjsiLtsZzIpRs7XuD6NmhQB0PzkxtAy+I0Yo2jZVPVwX/h7qA==","signatures":[{"sig":"MEUCIC8bTopK4XvD4gTofDT3ydoKySo4HYYUU9hnjuQIzn+LAiEAx767TedtEj4OfUqaEnZZ7quI0cfs9iVmIkAkvmaBKu8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4f33613.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/fbf1bdd8e7f57e8d6f336729f2237847/solana-rpc-transport-2.0.0-experimental.4f33613.tgz","_integrity":"sha512-Fjdw0i8pjyQbZhANtFLvYuxeXThYoD1AYJlLbgjsiLtsZzIpRs7XuD6NmhQB0PzkxtAy+I0Yo2jZVPVwX/h7qA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.4f33613"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4f33613_1706069915367_0.6138975884328277","host":"s3://npm-registry-packages"}},"2.0.0-experimental.098806e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.098806e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.098806e","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"586077c42af91b2832d439ca0e8025cac797c13e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.098806e.tgz","fileCount":46,"integrity":"sha512-9f9yIty3OzxeJfGco5iM4fihnZJ7O3pJBcyU+hcu1CnfXhRl8G+17nyb4LBDlzxTynEWeOPXt+PIKbRlCl2d3A==","signatures":[{"sig":"MEUCID7Anc6CXP6+9lBlYdC59GpFHRwTZoEP2OwclM/OZwHQAiEAw6B378vr2kVx1jMW6PXaWcM2DyDhtEQgSYRZt1RcHP0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.098806e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/75eda19903dc618c96801a9efb6500d1/solana-rpc-transport-2.0.0-experimental.098806e.tgz","_integrity":"sha512-9f9yIty3OzxeJfGco5iM4fihnZJ7O3pJBcyU+hcu1CnfXhRl8G+17nyb4LBDlzxTynEWeOPXt+PIKbRlCl2d3A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.098806e"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.098806e_1706069966322_0.8928435719399992","host":"s3://npm-registry-packages"}},"2.0.0-experimental.35de86b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.35de86b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.35de86b","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"88a94d896d66c386e70d978a6ac4fe847f1c9d84","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.35de86b.tgz","fileCount":46,"integrity":"sha512-pMOe1HMM0b0CAzsOnfn07T8SMtf4XBYqf3zLGumNg2ABlqrtcLUJ5TgjOGdnqXwvHG33nwzd2IfqgClfGcyQrw==","signatures":[{"sig":"MEUCIBn+zBw63yK+R1s0hO/e5a1UF/wbiUD/4zdfcUfUSb9QAiEAn3sqBDbmJkG06XbmKp9CfuSjsfdcf/toNgXzQB3B+10=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.35de86b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/eeb4e70dc193d0d0a82d2d7ec22853e1/solana-rpc-transport-2.0.0-experimental.35de86b.tgz","_integrity":"sha512-pMOe1HMM0b0CAzsOnfn07T8SMtf4XBYqf3zLGumNg2ABlqrtcLUJ5TgjOGdnqXwvHG33nwzd2IfqgClfGcyQrw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.35de86b"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.35de86b_1706070126942_0.1002253402965998","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f8c941c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f8c941c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f8c941c","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5b98f9d7549a0791aa24490f6ca825cf933695df","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f8c941c.tgz","fileCount":46,"integrity":"sha512-bJPnQvLHHtQd2o8uTBXfUAk/so4Zc5XRk44c+w83kqVvyvpXdFOC6JZFUH3FTwJhNNnFYXiwVw1mMtKbrfnuOg==","signatures":[{"sig":"MEUCICW3+jpI+G/n04/HNh+k57l47APZRXxALJr9cOlx4UIzAiEAq3XFCZPTRo8ngLWVz63td9cyxB9K+MWVcDHceL6PWGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f8c941c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/52171f486cfd1abbee814587cf61c4cd/solana-rpc-transport-2.0.0-experimental.f8c941c.tgz","_integrity":"sha512-bJPnQvLHHtQd2o8uTBXfUAk/so4Zc5XRk44c+w83kqVvyvpXdFOC6JZFUH3FTwJhNNnFYXiwVw1mMtKbrfnuOg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.f8c941c"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f8c941c_1706395397854_0.25759815959937304","host":"s3://npm-registry-packages"}},"2.0.0-experimental.f025b33":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.f025b33","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.f025b33","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"fdf46e5a1a055e92ab3f9fd59e39d3df6f8c05e5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.f025b33.tgz","fileCount":46,"integrity":"sha512-rpZEpE3+pfnVjwp1aXWKIhfMBGVMFcU4xQQJclV5fcp72B5U3zMxvhbC/+GEvRv8lOu/amoTJjIePzacVjoY4Q==","signatures":[{"sig":"MEYCIQDGgP0zbhSTRcIxdNr6Fsnx7FVbecXtm8pXks7EzfhzPgIhAMCnc3UJxrbvinLdFXztp4efui1AhFDqjJGENLSnHZbN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.f025b33.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6252b7f9a8f49d35e9f22c635505354e/solana-rpc-transport-2.0.0-experimental.f025b33.tgz","_integrity":"sha512-rpZEpE3+pfnVjwp1aXWKIhfMBGVMFcU4xQQJclV5fcp72B5U3zMxvhbC/+GEvRv8lOu/amoTJjIePzacVjoY4Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.f025b33"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.f025b33_1706395523729_0.7824237124450004","host":"s3://npm-registry-packages"}},"2.0.0-experimental.76ad167":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.76ad167","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.76ad167","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0df9778c8978bebd2ec75cf309bcb7b954b9405e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.76ad167.tgz","fileCount":46,"integrity":"sha512-jaSL8svweolm3ZK2OUmas5ISWEPoAq/3muUYRl5G5qO0ZSH3MNrmdsuP343zNJIvtPIbWJ+O8C4NGb9da4038w==","signatures":[{"sig":"MEUCIQCBel3q4X//t/TVVPzHZcrDOMy74E07jv3A7yScb5GP0gIgJDDlKVn3mmn5RYDF2P1lSHW3BUlBs547I8hv6s1q/W0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.76ad167.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/828652ddc3ea5fa90cdf06be3979e058/solana-rpc-transport-2.0.0-experimental.76ad167.tgz","_integrity":"sha512-jaSL8svweolm3ZK2OUmas5ISWEPoAq/3muUYRl5G5qO0ZSH3MNrmdsuP343zNJIvtPIbWJ+O8C4NGb9da4038w==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.76ad167"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.76ad167_1706545319609_0.4953254152036959","host":"s3://npm-registry-packages"}},"2.0.0-experimental.71dcc4e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.71dcc4e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.71dcc4e","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ce73abe902bb263440258fdce30348c5f90cdfd1","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.71dcc4e.tgz","fileCount":46,"integrity":"sha512-IQ6dR8Ta0li/WCeLvHg/z8iZQA+nmlJDTo8GZUpIJ8o55QsBOkyL77JfIHxvO+fEDR8+iqP4ygAZQLWZiVcR0Q==","signatures":[{"sig":"MEQCIBr6v9WNve25P541oTisnvl1CuUaEBKXNq9rktKFo4avAiBnMiknQXzNO3nL1DmFzukjxTnyu8IItrohy9JNmyqiCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.71dcc4e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/16e71b783542868b84e817e18238c0b4/solana-rpc-transport-2.0.0-experimental.71dcc4e.tgz","_integrity":"sha512-IQ6dR8Ta0li/WCeLvHg/z8iZQA+nmlJDTo8GZUpIJ8o55QsBOkyL77JfIHxvO+fEDR8+iqP4ygAZQLWZiVcR0Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.71dcc4e"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.71dcc4e_1706742466011_0.7839203307935372","host":"s3://npm-registry-packages"}},"2.0.0-experimental.af9f012":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.af9f012","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.af9f012","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2b5d6c573e37abe267379ded7e25c2fdfae597aa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.af9f012.tgz","fileCount":46,"integrity":"sha512-Aouy3lk+g4FaOs9ZtRUUxQ8kfLafReqdDVmkMCQHTEpPwgMOZNr88ra/Gl5NZnOxJ8e4XP/44S0lDrJ3rlp6Sg==","signatures":[{"sig":"MEUCIQCHRNCjVdwEfJytR915G6F+HSDZgYsh4S7L27OZDiODGwIgXMvqMVKbAO/1mwAeiImGYx3lvIiKMsPHW8UGaOImU/o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.af9f012.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e70a6bd6e48cf0142bcd11d4d1481f7c/solana-rpc-transport-2.0.0-experimental.af9f012.tgz","_integrity":"sha512-Aouy3lk+g4FaOs9ZtRUUxQ8kfLafReqdDVmkMCQHTEpPwgMOZNr88ra/Gl5NZnOxJ8e4XP/44S0lDrJ3rlp6Sg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.af9f012"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.af9f012_1706814933857_0.4248250239941016","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c34bab9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c34bab9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c34bab9","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0c2a717c11c2d5c0b25de8c6354bc6cc9d8a6baa","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c34bab9.tgz","fileCount":46,"integrity":"sha512-DjDdndgq3t3lRhKNzh7+5O36ksdNsIZyd9Q0c/W+HKD6NnXAckQ1m440n9c1vCRhUFgbJZKfbAsG7gk+chbCrQ==","signatures":[{"sig":"MEUCIQCT2VJXxCKeKr+rARJWrff4DR2r+5o2TngZMSIkU5UTMwIgYYWRX5s1bR358daYbdud1DwpqW0PTiveeaN6AXj0MKU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c34bab9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/a4037d200c07dafdab77eff6e5ca0d30/solana-rpc-transport-2.0.0-experimental.c34bab9.tgz","_integrity":"sha512-DjDdndgq3t3lRhKNzh7+5O36ksdNsIZyd9Q0c/W+HKD6NnXAckQ1m440n9c1vCRhUFgbJZKfbAsG7gk+chbCrQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.c34bab9"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c34bab9_1706814994698_0.25210661923932887","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8e39a42":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8e39a42","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8e39a42","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"70b68129c51e2645d03c42465ed980a7ace86703","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8e39a42.tgz","fileCount":46,"integrity":"sha512-8h73p6Tsmbyp9YTregON8ij/WHwt7sat5I5pAVMV68O78tje4e5hJnslmxkiLoFWBKHeh/inSmpsILebhTeKJQ==","signatures":[{"sig":"MEQCIBDQE9XIy6WIxHoOuGFu51Vb9ldQ+tuOhaEKwS662NTeAiAm9gH3AwUs1AoWRKByf2LwGxPBGzopTwoXfNCgRJelLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8e39a42.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/84b67fc6fa297b09151db58ccfc5f3b4/solana-rpc-transport-2.0.0-experimental.8e39a42.tgz","_integrity":"sha512-8h73p6Tsmbyp9YTregON8ij/WHwt7sat5I5pAVMV68O78tje4e5hJnslmxkiLoFWBKHeh/inSmpsILebhTeKJQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.8e39a42"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8e39a42_1706815257016_0.7223952772799576","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b93299a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b93299a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b93299a","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a793ee282a1b781943683b24ca06cbfcc07c5cbd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b93299a.tgz","fileCount":46,"integrity":"sha512-SBVvD+95PjxU9Oe2vL1gdQfX5YnZpmArXlvNrimSSNtVqWWrs5tvmIX8z3oVmTPEWfuJ+ZM5xcfFd4HQlEOZXg==","signatures":[{"sig":"MEUCIQCS34b2sSZR5mh8HIx4i559HNUenmDX+Op878u+m/f6ngIgAwkptivRaCNN6Xy2FF3Jdt6nYynCWDBHmgU2Y2P2xeM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330498},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b93299a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/6a645b448cf912847c9ad352a64ea01a/solana-rpc-transport-2.0.0-experimental.b93299a.tgz","_integrity":"sha512-SBVvD+95PjxU9Oe2vL1gdQfX5YnZpmArXlvNrimSSNtVqWWrs5tvmIX8z3oVmTPEWfuJ+ZM5xcfFd4HQlEOZXg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b93299a_1706815358898_0.86292088875357","host":"s3://npm-registry-packages"}},"2.0.0-experimental.6725a9f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.6725a9f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.6725a9f","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"806cb8117bcd6150f3811411a00a6bfe963b35ce","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.6725a9f.tgz","fileCount":46,"integrity":"sha512-pxTpx9NK4wSgKaSrcijOCPcvpEwHrfIy+CMuj8MSlGci3+amkwPgrf/q89pV7iHeyNAf8DASS2kDZLknzYCMcA==","signatures":[{"sig":"MEQCIDxNvj2ainNGVb9DqBdVPTqX2VYQnOTyzQM22JcRcQShAiAno8LRfL+smuhsIhjuZbdHKG9P1hjlTYjPQKb8vRXbIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.6725a9f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1bf5409619a889e40df5b871d614bb6f/solana-rpc-transport-2.0.0-experimental.6725a9f.tgz","_integrity":"sha512-pxTpx9NK4wSgKaSrcijOCPcvpEwHrfIy+CMuj8MSlGci3+amkwPgrf/q89pV7iHeyNAf8DASS2kDZLknzYCMcA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.6725a9f"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.6725a9f_1706818328284_0.8681296930191753","host":"s3://npm-registry-packages"}},"2.0.0-experimental.fd64233":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.fd64233","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.fd64233","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1ef885d720fb3d16174ab69c85b189d0033be618","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.fd64233.tgz","fileCount":46,"integrity":"sha512-K05de/AlCEYLZu4Cw/FheyTXPFZX+79xE5hZTg34mSVvzzxmp1ak6+xfdN3FLnR74N/AQ8ZhzBuFv7gEwY+7Pw==","signatures":[{"sig":"MEQCIGZQfwuDmsA5G4ynX0atdiZ0IbwiXh0DYvyFCb9zXrFxAiBAVBm5pFBu6mdH8eOn1ixL9pgT5t06Hjb95WZsdrzWXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.fd64233.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/feeb33104e767d53d838e7a498955bfb/solana-rpc-transport-2.0.0-experimental.fd64233.tgz","_integrity":"sha512-K05de/AlCEYLZu4Cw/FheyTXPFZX+79xE5hZTg34mSVvzzxmp1ak6+xfdN3FLnR74N/AQ8ZhzBuFv7gEwY+7Pw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.fd64233"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.fd64233_1706818619037_0.3710360829059789","host":"s3://npm-registry-packages"}},"2.0.0-experimental.11dd48f":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.11dd48f","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.11dd48f","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"493a39d0dd31ccc0afb5e77480531e08f5302bda","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.11dd48f.tgz","fileCount":46,"integrity":"sha512-mnLYiMvgKYhS6HmPovJiTwoimYpVSfNx+2eSWo3CY9tpEETE4Gw3lecibqIU+fFBp+TglFZNq3jU6gyEaa7NiQ==","signatures":[{"sig":"MEYCIQCF3cfwJf9rch4hsib+jhrEczCctUEzEhg9jyqTpqCigQIhAKiBWytFueCRRziJqWXJr51CLjudtAsXEhac5XozhFPD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.11dd48f.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/23fe516f788c04a869e385735312c92c/solana-rpc-transport-2.0.0-experimental.11dd48f.tgz","_integrity":"sha512-mnLYiMvgKYhS6HmPovJiTwoimYpVSfNx+2eSWo3CY9tpEETE4Gw3lecibqIU+fFBp+TglFZNq3jU6gyEaa7NiQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.11dd48f"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.11dd48f_1706823659217_0.4676487304832335","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e9c1b10":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e9c1b10","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e9c1b10","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1a89c9543011c65fdce3f5da423967fa0667e0cb","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e9c1b10.tgz","fileCount":46,"integrity":"sha512-P9SVDpk8bcQVBVFUxmX/+B/r2kwaPnHlijxbwm42TuD6CGq0H5yHLEKoX8XiQP3EPSx1Z9wD2+xQfaEm/Hkg1A==","signatures":[{"sig":"MEYCIQDP884Oj7riAwt7tBGL6l+LmuXTxt8ODzbvJ0hsop9zawIhAJnxWwfY3k5GXmVuyaRASnX6qHZ4lb4FZqaXiSeEij/L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e9c1b10.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ceaf6c87618c1d3055d81d7bd540c596/solana-rpc-transport-2.0.0-experimental.e9c1b10.tgz","_integrity":"sha512-P9SVDpk8bcQVBVFUxmX/+B/r2kwaPnHlijxbwm42TuD6CGq0H5yHLEKoX8XiQP3EPSx1Z9wD2+xQfaEm/Hkg1A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.e9c1b10"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e9c1b10_1706823972544_0.2433071576391319","host":"s3://npm-registry-packages"}},"2.0.0-experimental.61f7ba0":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.61f7ba0","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.61f7ba0","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"0f26d35cceadf9349a61fed9a809723dd43a5b56","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.61f7ba0.tgz","fileCount":46,"integrity":"sha512-aWqnKZlKnZpTUrUe8NsDjjGZcJeM1Oy4uocfiertuPeV0RT/GgKDtZ8FIq/Rvebk71RN9GXDJnuFSKLdn3OdlQ==","signatures":[{"sig":"MEUCIDoptuM2M+P/yrI3qcKKCHNkpmqJu/W4cjD9PS9BbqM8AiEAuA6f3Ubhx7GG9rXOhM3PdXeOLyrzw/lDW+sXcDOctfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330507},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.61f7ba0.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/16c5d2ef09fdf0ef558dedd8f99c5cc2/solana-rpc-transport-2.0.0-experimental.61f7ba0.tgz","_integrity":"sha512-aWqnKZlKnZpTUrUe8NsDjjGZcJeM1Oy4uocfiertuPeV0RT/GgKDtZ8FIq/Rvebk71RN9GXDJnuFSKLdn3OdlQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.61f7ba0"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.61f7ba0_1706892266082_0.5220604604410717","host":"s3://npm-registry-packages"}},"2.0.0-experimental.e58bb22":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.e58bb22","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.e58bb22","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"6903da75ff69a52dcb869f226ad688d68978dfeb","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.e58bb22.tgz","fileCount":48,"integrity":"sha512-7mIWs8zopF2pux4fJ56b4m5bsKgoSG5uUR7aBX5amdBJ3Ib1LH4O+lQemexZLRRgCl1IJcyoYLgX2TwCBqZCPA==","signatures":[{"sig":"MEUCIQD/hhIxBr6LMRegfgesGjo5PbSdP/d0vozb4/tExb8r6wIgdieQruQrynOiPhUEl7vNX+JQTQFgJnf3y0z5U60VPwc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341934},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.e58bb22.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/53a7759b934cc019a622dcec9cf248a9/solana-rpc-transport-2.0.0-experimental.e58bb22.tgz","_integrity":"sha512-7mIWs8zopF2pux4fJ56b4m5bsKgoSG5uUR7aBX5amdBJ3Ib1LH4O+lQemexZLRRgCl1IJcyoYLgX2TwCBqZCPA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.e58bb22"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.e58bb22_1706892430319_0.3356484749149542","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5175d8a":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5175d8a","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5175d8a","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ce3896caf2315233a9e0d56bf27c229cd9835457","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5175d8a.tgz","fileCount":48,"integrity":"sha512-HhuOSME5KD6mazD67CFKC7obgqqYPNdIJmYrOGuT1pTGa9SujMLRlpqqxUaLml4tFw5j2opsPpDz6frCPk4hrA==","signatures":[{"sig":"MEYCIQCnsYex6tSUXB3OAec//2Y+/NLRBjS4HB30WZng3PcTdAIhAPg+5/a3sGNgaCZw6Rca08ZcpuccnSRETf461RYciQXw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341934},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5175d8a.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/9e46ca59c7adc28dd8505cbb39dc9791/solana-rpc-transport-2.0.0-experimental.5175d8a.tgz","_integrity":"sha512-HhuOSME5KD6mazD67CFKC7obgqqYPNdIJmYrOGuT1pTGa9SujMLRlpqqxUaLml4tFw5j2opsPpDz6frCPk4hrA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.5175d8a"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5175d8a_1706892516977_0.9476402461213151","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5a6335d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5a6335d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5a6335d","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"5f8d3f09f2983fac1b5e620723549f2cd58c237d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5a6335d.tgz","fileCount":48,"integrity":"sha512-y4mZHkNXf0d0a/rsIqfj4oG/jqycLTr6N1WV6TXOE3BlR3B3JeE5U+43n1rKsvnIt5grsjrOtTdHNm5sl5ghsA==","signatures":[{"sig":"MEYCIQCy8M49F0gPmF1OIyGduPorWuo4sT5Thpt+9oSF47okRQIhAJiIaPXad3rtHAHOsb/lGwDS4EG+YoOzqTXPjYOlvfLR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341934},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5a6335d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/0f710bfc464a25bb44ae15708eab517c/solana-rpc-transport-2.0.0-experimental.5a6335d.tgz","_integrity":"sha512-y4mZHkNXf0d0a/rsIqfj4oG/jqycLTr6N1WV6TXOE3BlR3B3JeE5U+43n1rKsvnIt5grsjrOtTdHNm5sl5ghsA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.5a6335d"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5a6335d_1706892646941_0.2132472712275677","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0e03ca9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0e03ca9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0e03ca9","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"449b7cf90cbc92c60847c2f2e0e732df8483aad5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0e03ca9.tgz","fileCount":48,"integrity":"sha512-YWPDFh+043dEtKjFcsNfimCutS+/AveN06Xk8UckgfOwM8v8XNInH9DvKullWd6cGL89+3JFWsN5WQxnI3aa1g==","signatures":[{"sig":"MEUCIBehUEy4hlHEUSF73FXzdIuHdNU5+PobX6c7PlSKLj5OAiEAy7eAoY+L3lU8Ndh10cO3Dn43w/+QJvpP9Hosk9CtG2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0e03ca9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/639aae4a5d5baf574a1b11e5c88745ce/solana-rpc-transport-2.0.0-experimental.0e03ca9.tgz","_integrity":"sha512-YWPDFh+043dEtKjFcsNfimCutS+/AveN06Xk8UckgfOwM8v8XNInH9DvKullWd6cGL89+3JFWsN5WQxnI3aa1g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.0e03ca9"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0e03ca9_1706892863169_0.9670040382082392","host":"s3://npm-registry-packages"}},"2.0.0-experimental.64d583b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.64d583b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.64d583b","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ea3c24584611172253388aae91788deb8cf0bf7b","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.64d583b.tgz","fileCount":48,"integrity":"sha512-J+0UVCPI8tH0pNTch9TAsRv76eEP94KVPMAnP9hRQLvj4INBHT264PGkje2ku4r0oetg5rgHdatOOVFgJNYM2A==","signatures":[{"sig":"MEQCIFIrrhraPV6ZXRFgnv7LcyF+HNZhL0yKhv0ubjmZqMKIAiAOfnVymVng4sAlYk9M9rr9rH1ZBwaMj0QSMvp8hZwTHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.64d583b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/3bee5011864dd0fc5629b821b4b74843/solana-rpc-transport-2.0.0-experimental.64d583b.tgz","_integrity":"sha512-J+0UVCPI8tH0pNTch9TAsRv76eEP94KVPMAnP9hRQLvj4INBHT264PGkje2ku4r0oetg5rgHdatOOVFgJNYM2A==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.64d583b"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.64d583b_1707153743297_0.8704435040868486","host":"s3://npm-registry-packages"}},"2.0.0-experimental.dd2096e":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.dd2096e","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.dd2096e","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"d04bd4db6bc16aa47d6bc4bb15391fb659aba0f3","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.dd2096e.tgz","fileCount":48,"integrity":"sha512-5moK6CHe3EPRv8n2Zdzfcfu6KEcsdThV1aWAi8g6XSYP+TITkFrl7gwweoTcLt0xHakFrMSTIDi+b21cz8OBlQ==","signatures":[{"sig":"MEUCIFw/ByBhriq+1MCWy3myOwIjAm84S1ry46OYuoVEbZ+PAiEA2SArdAUVGrtN2eMuHZCGuu9vbmqBlWIhs/1CTAxCg38=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.dd2096e.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/b9df57c4827324eb5ba8437109711fa5/solana-rpc-transport-2.0.0-experimental.dd2096e.tgz","_integrity":"sha512-5moK6CHe3EPRv8n2Zdzfcfu6KEcsdThV1aWAi8g6XSYP+TITkFrl7gwweoTcLt0xHakFrMSTIDi+b21cz8OBlQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.dd2096e"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.dd2096e_1707161122362_0.8046311866214297","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1a0940d":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1a0940d","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1a0940d","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"40a8b114026f565b57456ed759b66c629b3ee741","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1a0940d.tgz","fileCount":48,"integrity":"sha512-PyL8kfbATbbE2PbhlKk1up42gXVetZ8yM0DjUsqHeeo65se45PLlQGntkGVsoSjJpiLaIejg+/bvcONOhNqqBg==","signatures":[{"sig":"MEUCIQDcepWUUegIbQ4FMzuaOfZGCn4J8BwRl+bfhQ7MXuChqgIgIlLm0C/o1mGBhx3/8LYqcIqmY1A7vEsMFya/o3+QwN0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1a0940d.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/80bfd2a30e79ec5f5622f49317432c75/solana-rpc-transport-2.0.0-experimental.1a0940d.tgz","_integrity":"sha512-PyL8kfbATbbE2PbhlKk1up42gXVetZ8yM0DjUsqHeeo65se45PLlQGntkGVsoSjJpiLaIejg+/bvcONOhNqqBg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.1a0940d"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1a0940d_1707273990413_0.3133644192970866","host":"s3://npm-registry-packages"}},"2.0.0-experimental.606040b":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.606040b","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.606040b","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1370c03cbb5545e5dc0b1671294d361286908760","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.606040b.tgz","fileCount":48,"integrity":"sha512-E5u6OANM50HWMBV5w4nM2sY7fH+YpvErDTjs+MH6LEhtxi4KlF3YDlG2E80CGOssxCu/T/Qwc/hASD9oJPE26Q==","signatures":[{"sig":"MEUCIAHsz0woYP5NO/UdkoMiF9Mje0wwQH9/xNpC/rHt1OEdAiEAj95Gqrlc8InNDYfB2K+T63PnC3t4G8HCzUvbfnawx68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.606040b.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/2d27340f61109bb570911fca5ed499c9/solana-rpc-transport-2.0.0-experimental.606040b.tgz","_integrity":"sha512-E5u6OANM50HWMBV5w4nM2sY7fH+YpvErDTjs+MH6LEhtxi4KlF3YDlG2E80CGOssxCu/T/Qwc/hASD9oJPE26Q==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.606040b"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.606040b_1707316317064_0.8574771228932418","host":"s3://npm-registry-packages"}},"2.0.0-experimental.025ef21":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.025ef21","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.025ef21","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"b260715f73e7767e58ed60c85209f09337ea974a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.025ef21.tgz","fileCount":48,"integrity":"sha512-dtZJys1mg2hxAaXqrpTlmkIl54jWv58tLhDxk66OJ3znncvATChMPgcjvPheYkbEHdJTiPTPMhLPULorksKy7g==","signatures":[{"sig":"MEUCIE4RcaVusObsDkxg/m8l/LboagTaSvoSLRu3wKdJsB1qAiEAwq+gQjjTyU/nY9FyiWz8SUgqcdlk2ddesjiXlHTTLpg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.025ef21.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/006f11613fd427fb0bb6ea4077925587/solana-rpc-transport-2.0.0-experimental.025ef21.tgz","_integrity":"sha512-dtZJys1mg2hxAaXqrpTlmkIl54jWv58tLhDxk66OJ3znncvATChMPgcjvPheYkbEHdJTiPTPMhLPULorksKy7g==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.025ef21"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.025ef21_1707537649267_0.6467254372699509","host":"s3://npm-registry-packages"}},"2.0.0-experimental.b2c1b82":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.b2c1b82","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.b2c1b82","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a0cc3eefcb8bf8f39b6a9d99758bc92b91943c99","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.b2c1b82.tgz","fileCount":48,"integrity":"sha512-0eFTnb+gG7epopXzx9lKGLSZGn+cVOPey0no92CdrSGQRjX52ALNkSFJgmnN98CQkCvdxMIn1579mgWWnTQmYA==","signatures":[{"sig":"MEYCIQCI2Qx4ov/CUQVzDVUQmvrd6dh/PuYXqqtNRMVrvNZ7RwIhAOZav9wnIO/S6KsLme1qVl8EdnLiTFS/4hTptjJI+NQh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.b2c1b82.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/83c1810c5c23a7d6815fa1d0b6d72006/solana-rpc-transport-2.0.0-experimental.b2c1b82.tgz","_integrity":"sha512-0eFTnb+gG7epopXzx9lKGLSZGn+cVOPey0no92CdrSGQRjX52ALNkSFJgmnN98CQkCvdxMIn1579mgWWnTQmYA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.b2c1b82"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.b2c1b82_1707539331106_0.657081961542294","host":"s3://npm-registry-packages"}},"2.0.0-experimental.06517d7":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.06517d7","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.06517d7","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"805fc53361fa9d5c5ac6325890fe55c5c064cee5","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.06517d7.tgz","fileCount":48,"integrity":"sha512-CadUN3NblIiO1vAMwgmX0dVc5OkfxUzQBAayLV34EWRuDa4GwUpovQtSaqKWG4tqsE0PUXnGpH8w6JmEhGaZgQ==","signatures":[{"sig":"MEYCIQCFM5rXq/s/gba5rleqAdYU98oFdU7qmG2zQko5O3zS8AIhAMWOs+kUc+wFHHSxewkLjBAsN6GEnVxxDKTgD4rgF0KO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356480},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.06517d7.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/fcee388c756703d9bce4d824c98fd2a0/solana-rpc-transport-2.0.0-experimental.06517d7.tgz","_integrity":"sha512-CadUN3NblIiO1vAMwgmX0dVc5OkfxUzQBAayLV34EWRuDa4GwUpovQtSaqKWG4tqsE0PUXnGpH8w6JmEhGaZgQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.06517d7_1708109163710_0.48159005401720223","host":"s3://npm-registry-packages"}},"2.0.0-experimental.8792aa2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.8792aa2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.8792aa2","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"2dc205439552be66b616ebeb042616a0bb0d79f6","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.8792aa2.tgz","fileCount":48,"integrity":"sha512-iknd0gWBt088FwuqKl5pa9BIRDdbNJ1Jf0hCFxdxhVBg5G80f5+TG+9iPJOXC3YaDPonY0r7Vo6IsyrqP8kvOQ==","signatures":[{"sig":"MEQCID0EdLLMqz9NSrWiK/iXnDNjN/mIAjcaLKMs+wOyliq3AiA1ZZINWPxPnk3wu1UBGeBzpJUYEIFWujU66IXjeT4ovA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.8792aa2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/8eabeaab4d63a195a66d01628ef67c7c/solana-rpc-transport-2.0.0-experimental.8792aa2.tgz","_integrity":"sha512-iknd0gWBt088FwuqKl5pa9BIRDdbNJ1Jf0hCFxdxhVBg5G80f5+TG+9iPJOXC3YaDPonY0r7Vo6IsyrqP8kvOQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.8792aa2"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.8792aa2_1708117284120_0.32398931483076243","host":"s3://npm-registry-packages"}},"2.0.0-experimental.0898b99":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.0898b99","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.0898b99","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"970deb9b93f7e23d6de2fc1b1ff08585f944c11f","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.0898b99.tgz","fileCount":48,"integrity":"sha512-h0H9uTJRKpUjDG8ZWvyIYXFlRozgoLsryKskfcsQhlTrvU4kCVl4q9CBs4R0hHI6tG/K7t5aMSeL0ZJnLlpLTA==","signatures":[{"sig":"MEQCIDsPtpBWn/lBVmAiNcpuCyQ6sooCLFnB2xAR8zFmruZzAiBYBXTqMJfU6I35bFh3A6jCDFIL7tVtPbfifWCPbSKtag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.0898b99.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/ebe19328ce531443fa1009d567a0f3f2/solana-rpc-transport-2.0.0-experimental.0898b99.tgz","_integrity":"sha512-h0H9uTJRKpUjDG8ZWvyIYXFlRozgoLsryKskfcsQhlTrvU4kCVl4q9CBs4R0hHI6tG/K7t5aMSeL0ZJnLlpLTA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.0898b99"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.0898b99_1708138055009_0.20791178113191933","host":"s3://npm-registry-packages"}},"2.0.0-experimental.d603013":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.d603013","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.d603013","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4edd00094fd1b08718445b2461908d8fd39b2771","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.d603013.tgz","fileCount":48,"integrity":"sha512-nklBgMfBFE6QhStJQj6aULpMlQGY7VnqAXfOs4ZOxTMHvmjv/3/w9irHXpmvBbA82raSoiN/lYEQY3KHvv/Svw==","signatures":[{"sig":"MEQCIEFEjDwfNfwr5YJc9Elm0VvoR1pijIaJurh1inILVuriAiAxvNPJLFzwxIRqXCVYsxDE0xYk3YJ7Sztn6Cv49829WA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356489},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.d603013.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/d113ee5f99c2cdf4d3bbf96844dd990c/solana-rpc-transport-2.0.0-experimental.d603013.tgz","_integrity":"sha512-nklBgMfBFE6QhStJQj6aULpMlQGY7VnqAXfOs4ZOxTMHvmjv/3/w9irHXpmvBbA82raSoiN/lYEQY3KHvv/Svw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.d603013"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.d603013_1708286762386_0.3115934800759026","host":"s3://npm-registry-packages"}},"2.0.0-experimental.db105a6":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.db105a6","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.db105a6","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"9330b4502ca05ee2a631f9f3ffe24d438b55542e","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.db105a6.tgz","fileCount":48,"integrity":"sha512-1X/zxcANZVacvW+eHRaVHLqA0q7Q0jDlK+0jbQslRx6dP3w1vCijtmG6cfuXivbkuuDYbYq2AXk/Vyvu4P/zZA==","signatures":[{"sig":"MEQCIE+Ar6bfMmuGqyIAdjvtgeAeRlECfu4Bg7x4+UEFOmP1AiB0+ATOHgLebX7YWqc1VYzZsI76VoLq4XvhC1OW2QdxDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356548},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.db105a6.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/1c31280c2a71f4a2dc68587a02f81089/solana-rpc-transport-2.0.0-experimental.db105a6.tgz","_integrity":"sha512-1X/zxcANZVacvW+eHRaVHLqA0q7Q0jDlK+0jbQslRx6dP3w1vCijtmG6cfuXivbkuuDYbYq2AXk/Vyvu4P/zZA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.db105a6_1708341283822_0.009913091911672334","host":"s3://npm-registry-packages"}},"2.0.0-experimental.bb65ba9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.bb65ba9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.bb65ba9","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ceda08a9ee0876b3694ef9ef6038a203b5e131cd","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.bb65ba9.tgz","fileCount":48,"integrity":"sha512-RTtQch501xkQXwqCXbSU8pkpxloJ7CvxJPbryCXSiuUHtpF+vC5HFWV+0B6cUr/rMmXMAhYmWuOraQuL23Q1Tg==","signatures":[{"sig":"MEQCIGTiS3GuzbJ0RVK+ttWna/cWpgnRw9yBLtIya5ScGdBAAiA3lIDq4Q8/0KgmKDpaR1tMBFqpAacyxnvoEk0iuimEiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356548},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.bb65ba9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/61899457889a833e5172b2f9bd2ce38c/solana-rpc-transport-2.0.0-experimental.bb65ba9.tgz","_integrity":"sha512-RTtQch501xkQXwqCXbSU8pkpxloJ7CvxJPbryCXSiuUHtpF+vC5HFWV+0B6cUr/rMmXMAhYmWuOraQuL23Q1Tg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.bb65ba9_1708364130303_0.5683564649724688","host":"s3://npm-registry-packages"}},"2.0.0-experimental.98dd0a9":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.98dd0a9","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.98dd0a9","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4d71be8f0769f91fd67a8aab3efd7206d8dbbb64","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.98dd0a9.tgz","fileCount":48,"integrity":"sha512-eOnI0D+x+CvW5xIkaGqydBARpB+rRtpRE+IeOI126ELfX1rvr6KbWUoc7MQxL/mg4UO5Z2dQq/ormCx+BI62xg==","signatures":[{"sig":"MEUCIGsEHuSMMwd4T86xnZAP7zpoZIW4brzAkegqPRBPnmOTAiEAy9+NJutWlg21itcnsFd0xrvP/fwu1blj9XxmZwS53sA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356548},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.98dd0a9.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/e62aeb86252fc1a56c8932100f820aec/solana-rpc-transport-2.0.0-experimental.98dd0a9.tgz","_integrity":"sha512-eOnI0D+x+CvW5xIkaGqydBARpB+rRtpRE+IeOI126ELfX1rvr6KbWUoc7MQxL/mg4UO5Z2dQq/ormCx+BI62xg==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.98dd0a9_1708457920895_0.9824516965345236","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4a3c533":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4a3c533","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4a3c533","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"e5727e16bd2653aedd5a82b7b71cd79a7461749a","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4a3c533.tgz","fileCount":48,"integrity":"sha512-L+Zm7rBM53xHp71st6JPoMdH9BgUthIs3Zu4DHxlMa/45TAud9c1Jk8J3ImFJLeaS17OBATAV1WNmY62apbrZw==","signatures":[{"sig":"MEYCIQDhlBsEGLO4+9yTt6cnFAz5YpI3Y7ObzubAG3cEv98AWAIhAOFQg+zJsDXxYOTnYKH48pb3kbGWhKSQ5/NIKDDSrqm+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356548},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4a3c533.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c45daae4001e55073e3ef39de023817c/solana-rpc-transport-2.0.0-experimental.4a3c533.tgz","_integrity":"sha512-L+Zm7rBM53xHp71st6JPoMdH9BgUthIs3Zu4DHxlMa/45TAud9c1Jk8J3ImFJLeaS17OBATAV1WNmY62apbrZw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4a3c533_1708458110312_0.15705210563120175","host":"s3://npm-registry-packages"}},"2.0.0-experimental.2d1d49c":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.2d1d49c","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.2d1d49c","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"67597989c0d7acc5302ee9f071822d3ea579ac5c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.2d1d49c.tgz","fileCount":48,"integrity":"sha512-1fz6ASVV4Uh9t8y0R3FX0+UqsXvA2qt7JdsluqLHnPT8T0PBIhmeHRCmT5ZjGUSoZa8Yqj6v52zMA4xfw6v8lw==","signatures":[{"sig":"MEYCIQDglbacUfaN7Gc9ri6FKN7Fq01ODMaqWe7h3Zs5vPVqIwIhAPJqUptTmjkeW7O77uSPXr6wmWsz7FTjZllpbxdBvPRy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356548},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.2d1d49c.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/283a2d111e08fdee85ae49e43eb0afd3/solana-rpc-transport-2.0.0-experimental.2d1d49c.tgz","_integrity":"sha512-1fz6ASVV4Uh9t8y0R3FX0+UqsXvA2qt7JdsluqLHnPT8T0PBIhmeHRCmT5ZjGUSoZa8Yqj6v52zMA4xfw6v8lw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.2d1d49c_1708470311332_0.46313614644939816","host":"s3://npm-registry-packages"}},"2.0.0-experimental.1532546":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.1532546","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.1532546","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"1941aa8dc8026d08cd213e66245c2b4c44e1bc24","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.1532546.tgz","fileCount":48,"integrity":"sha512-nD+DPtCx0wtCVyVPGma7LHJe9RaYXGByo6OeOyq0kmSVpbjy5wbTLjqtZACCIyN36h3hJD6rtXAvxuMoyj9BLA==","signatures":[{"sig":"MEUCIFNX6mxwQs6JY0gTXoYFEOqR6Ie79b74YK87T8lJjbuOAiEAziN03L//XXlc2fCyn8l2fsYhJ8zjggDwcllvrw6coqY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":356548},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.1532546.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/787a373fdeba7341b5079755b5a1bb41/solana-rpc-transport-2.0.0-experimental.1532546.tgz","_integrity":"sha512-nD+DPtCx0wtCVyVPGma7LHJe9RaYXGByo6OeOyq0kmSVpbjy5wbTLjqtZACCIyN36h3hJD6rtXAvxuMoyj9BLA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","agadoo":"^3.0.0","eslint":"^8.45.0","ws-impl":"0.0.0","prettier":"^3.1","tsconfig":"0.0.0","@swc/jest":"^0.2.29","fetch-impl":"0.0.0","typescript":"^5.2.2","@types/jest":"^29.5.11","@types/node":"18.11.19","test-config":"0.0.0","build-scripts":"0.0.0","version-from-git":"^1.1.1","eslint-plugin-jest":"^27.4.2","jest-runner-eslint":"^2.1.2","jest-websocket-mock":"^2.5.0","jest-fetch-mock-fork":"^3.0.4","jest-runner-prettier":"^1.0.0","fast-stable-stringify":"^1.0.0","jest-environment-jsdom":"^29.7.0","@typescript-eslint/parser":"^6.3.0","eslint-plugin-sort-keys-fix":"^1.1.2","@solana/eslint-config-solana":"^1.0.2","@typescript-eslint/eslint-plugin":"^6.13.2"},"peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.1532546_1708471216400_0.7822688893788221","host":"s3://npm-registry-packages"}},"2.0.0-experimental.900b946":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.900b946","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.900b946","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"30c16cb298fd58613f808dc7ab828c2dbcd06b1c","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.900b946.tgz","fileCount":48,"integrity":"sha512-uG3aR8uxc309rb1IZkNBnJaQdGls/qXfDW4ZA3APQvA5lx3vPUSV8FyuBvz4p9bL8r7wsZh7eHmaImeDW1UeGA==","signatures":[{"sig":"MEUCIQCC2rA7+6m7n7eS6XJCjyjXmeUsoKSiv2WSEyKhJAq/LAIgd5RgaqafEqrjUiNWdrNRPsFXLZ7o3zzF5rse3Aqpy+E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":355794},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.900b946.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/@solana/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/@solana/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/@solana/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/@solana/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/@solana/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/62bd9023f196cc5649e24f45831f25d9/solana-rpc-transport-2.0.0-experimental.900b946.tgz","_integrity":"sha512-uG3aR8uxc309rb1IZkNBnJaQdGls/qXfDW4ZA3APQvA5lx3vPUSV8FyuBvz4p9bL8r7wsZh7eHmaImeDW1UeGA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.900b946_1708473697670_0.24427585439175115","host":"s3://npm-registry-packages"}},"2.0.0-experimental.c098656":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.c098656","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.c098656","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"ca60d6acb05c24f01c68a3454cc5cac67648473d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.c098656.tgz","fileCount":48,"integrity":"sha512-wNi3WnmbGlSG3vzmscgvq0mmfr/+zI9ZuX5fpFRk9XOD+PrckmzReSPXY+kFUSTPoBOHBcVdOOOBDRFmY+qeIQ==","signatures":[{"sig":"MEYCIQDqmoF32ZGBh2qljaSRglL8zJpWx1wQAEcfWAcE4x20pQIhANvEg2fqiOrhvjhGeAgOJammSxoQcg9ThJKPehyqSRc/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":355794},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.c098656.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/@solana/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/@solana/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/@solana/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/@solana/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/@solana/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/c44d937e3fb47e10f0f195cf268435e3/solana-rpc-transport-2.0.0-experimental.c098656.tgz","_integrity":"sha512-wNi3WnmbGlSG3vzmscgvq0mmfr/+zI9ZuX5fpFRk9XOD+PrckmzReSPXY+kFUSTPoBOHBcVdOOOBDRFmY+qeIQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.c098656_1708474220281_0.4550630837911178","host":"s3://npm-registry-packages"}},"2.0.0-experimental.5ceb5a2":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.5ceb5a2","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.5ceb5a2","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"f8d008203d1059ce1f256715fc296adf3e2c6591","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.5ceb5a2.tgz","fileCount":48,"integrity":"sha512-NMzlNvzqNceIuzcCCDBOcxID5fYNDpmada+HRQs3WVO85oRijDy87AgMYdOO1hl1tVOJOaTo+lk9+/lD/bi5QQ==","signatures":[{"sig":"MEUCIHN4ytcakzeKOoxsk5lGwr02MozJXATkmHWtl5z0BGtjAiEA5xKECmgORdbdRpcITgYOj/6VVPnfz+rhwBgoTg2eaq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":355794},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.5ceb5a2.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/@solana/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","test:prettier":"jest -c node_modules/@solana/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/@solana/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/@solana/build-scripts/add-js-extension-to-types.mjs","publish-packages":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:unit:browser":"jest -c node_modules/@solana/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/915b07ae4b38d3fa588e9d54507317b5/solana-rpc-transport-2.0.0-experimental.5ceb5a2.tgz","_integrity":"sha512-NMzlNvzqNceIuzcCCDBOcxID5fYNDpmada+HRQs3WVO85oRijDy87AgMYdOO1hl1tVOJOaTo+lk9+/lD/bi5QQ==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.3","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.0","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-development"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.5ceb5a2_1708484382281_0.9820426353666376","host":"s3://npm-registry-packages"}},"2.0.0-experimental.4097784":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.4097784","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.4097784","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"4de4a4125b19e97707e43a5b9d8eb7339f725efb","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.4097784.tgz","fileCount":48,"integrity":"sha512-40V9XAB4rI9q7kgPuis5k1v8ySyKvvWxlm1jbytrcLa3GtXlqsP5cviU/HEcWNwCReyUS997d70ZJwqGjC5UeA==","signatures":[{"sig":"MEUCIQCdeALIBqzeqpT0kzOlxPs2yTLKTNczPjbJeYR9bf3/wwIgFMF+38YcOe21qs41BlT7p3QpGihNRiKYIOpXnkaI+BQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":355867},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.4097784.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/@solana/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","publish-impl":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:prettier":"jest -c node_modules/@solana/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/@solana/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/@solana/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm prepublishOnly && pnpm publish-impl","test:unit:browser":"jest -c node_modules/@solana/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/92dc6817e34ec38b271d6ddd95aec326/solana-rpc-transport-2.0.0-experimental.4097784.tgz","_integrity":"sha512-40V9XAB4rI9q7kgPuis5k1v8ySyKvvWxlm1jbytrcLa3GtXlqsP5cviU/HEcWNwCReyUS997d70ZJwqGjC5UeA==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.4097784"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.4097784_1708518015986_0.8385112712102838","host":"s3://npm-registry-packages"}},"2.0.0-experimental.34c3228":{"name":"@solana/rpc-transport","version":"2.0.0-experimental.34c3228","keywords":["blockchain","solana","web3"],"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","_id":"@solana/rpc-transport@2.0.0-experimental.34c3228","maintainers":[{"name":"mcintyre94","email":"mcintyre1994@gmail.com"},{"name":"2501babe","email":"hana@solana.com"},{"name":"lorisleiva","email":"loris.leiva@gmail.com"},{"name":"buffalojoec","email":"joe.caulfield@solana.com"},{"name":"ngundotra","email":"noah@gundotra.org"},{"name":"_chido","email":"yihau.chen@solana.com"},{"name":"steveluscher","email":"me+npm@steveluscher.com"},{"name":"sebastianbor","email":"sebastian_bor@hotmail.com"},{"name":"seanyoung","email":"sean@mess.org"},{"name":"mvines","email":"mvines@gmail.com"},{"name":"tyera","email":"tyera@solana.com"},{"name":"joncinque","email":"me@jonc.dev"},{"name":"ryoqun","email":"ryoqun@gmail.com"},{"name":"trent-solana","email":"trent@solana.com"},{"name":"jordansexton","email":"jordan@jordansexton.com"}],"homepage":"https://github.com/solana-labs/solana-web3.js#readme","bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"dist":{"shasum":"a9b634c8662b8e7041338094cb37e9489925b83d","tarball":"https://registry.npmjs.org/@solana/rpc-transport/-/rpc-transport-2.0.0-experimental.34c3228.tgz","fileCount":48,"integrity":"sha512-TvMg+0m0AIMJpKoCUqWgmSThlLsK3iT/nYMmCtxVTxpbZIszlfHXleu1xXaaO0ruFKan2jg0EX4IxoYTFCu1Tw==","signatures":[{"sig":"MEUCICKRXOINtRrzg5j/5XJX2wIvJVhzfcnGBeaudOzYvk2cAiEAxuJTsklQavkUCS5cBWI2baP+MIcUrn86ovDRGT4hK5U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":355867},"main":"./dist/index.node.cjs","type":"module","_from":"file:solana-rpc-transport-2.0.0-experimental.34c3228.tgz","types":"./dist/types/index.d.ts","module":"./dist/index.node.js","readme":"[![npm][npm-image]][npm-url]\n[![npm-downloads][npm-downloads-image]][npm-url]\n[![semantic-release][semantic-release-image]][semantic-release-url]\n<br />\n[![code-style-prettier][code-style-prettier-image]][code-style-prettier-url]\n\n[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n[code-style-prettier-url]: https://github.com/prettier/prettier\n[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-transport/experimental.svg?style=flat\n[npm-image]: https://img.shields.io/npm/v/@solana/rpc-transport/experimental.svg?style=flat\n[npm-url]: https://www.npmjs.com/package/@solana/rpc-transport/v/experimental\n[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-release-url]: https://github.com/semantic-release/semantic-release\n\n# @solana/rpc-transport\n\nThis package implements a JSON-RPC client with which you can interact with the Solana network. It can be used standalone, in combination with an RPC specification such as [`@solana/rpc-core`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/rpc-core), but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@experimental`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).\n\n## Configuration\n\nA new transport created with `createJsonRpc()` can be configured as follows:\n\n### `api` (required)\n\nAn object that conforms to `IRpcApi<TMethods>`, where `TMethods` is an interface that specifies the type of every RPC function.\n\n```ts\ninterface ExampleApi {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number>;\n}\n```\n\n#### With no concrete implementation\n\nCrucially, this object does not _need_ to provide _implementations_ of those methods. This allows an infinite number of JSON-RPC methods to be added to the API without affecting the size of the client bundle.\n\nAbsent a concrete implementation, `@solana/rpc-transport` will simply send the function name and its arguments to the RPC as the JSON-RPC method and params. For example, if no concrete implementation for `getBlocks` is provided in `api`, the following call:\n\n```ts\nrpc.getBlocks(1, 20).send();\n```\n\n&hellip;will result in an RPC call whose `method` is `getBlocks` and whose `params` are `[1, 20]`.\n\n#### With an optional concrete implementation\n\nIf you would like to modify the inputs to a given method call before they are sent, or would like to post-process the response from the JSON-RPC server, you may supply a concrete implementation for one or more methods of `api`.\n\n```ts\nconst api = {\n    getBlocks(startSlot: number, endSlot: number): ReadonlyArray<number> {\n        return {\n            // Optionally pre-process the method name,\n            methodName: 'getBlocksInRange',\n            // Pre-process the inputs any way you like.\n            params: [assertIsInteger(startSlot), assertIsInteger(endSlot)],\n            // Provide an optional function to modify the response.\n            responseTransformer: response => ({\n                confirmedBlocks: response,\n                queryRange: [startSlot, endSlot],\n            }),\n        };\n    },\n};\n```\n\n### `transport` (required)\n\nA function that implements a wire transport.\n\n```ts\ntype RpcTransportConfig = Readonly<{\n    payload: unknown;\n    signal?: AbortSignal;\n}>;\n\nexport interface IRpcTransport {\n    <TResponse>(config: RpcTransportConfig): Promise<TResponse>;\n}\n```\n\nAn HTTP wire transport is supplied with this package, but you can supply any wire transport that conforms to `IRpcTransport`.\n","browser":{"./dist/index.node.js":"./dist/index.browser.js","./dist/index.node.cjs":"./dist/index.browser.cjs"},"exports":{"node":{"import":"./dist/index.node.js","require":"./dist/index.node.cjs"},"types":"./dist/types/index.d.ts","browser":{"import":"./dist/index.browser.js","require":"./dist/index.browser.cjs"},"react-native":"./dist/index.native.js"},"scripts":{"dev":"jest -c node_modules/@solana/test-config/jest-dev.config.ts --rootDir . --watch","style:fix":"pnpm eslint --fix src/* && pnpm prettier -w src/* package.json","test:lint":"jest -c node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent","compile:js":"tsup --config build-scripts/tsup.config.package.ts","publish-impl":"npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks","test:prettier":"jest -c node_modules/@solana/test-config/jest-prettier.config.ts --rootDir . --silent","test:typecheck":"tsc --noEmit","test:unit:node":"jest -c node_modules/@solana/test-config/jest-unit.config.node.ts --rootDir . --silent","compile:typedefs":"tsc -p ./tsconfig.declarations.json && node node_modules/@solana/build-scripts/add-js-extension-to-types.mjs","publish-packages":"pnpm prepublishOnly && pnpm publish-impl","test:unit:browser":"jest -c node_modules/@solana/test-config/jest-unit.config.browser.ts --rootDir . --silent","test:treeshakability:node":"agadoo dist/index.node.js","test:treeshakability:native":"agadoo dist/index.native.js","test:treeshakability:browser":"agadoo dist/index.browser.js"},"_npmUser":{"name":"steveluscher","email":"me+npm@steveluscher.com"},"_resolved":"/tmp/972728aec8a3c4b6a320ea41a9c67a97/solana-rpc-transport-2.0.0-experimental.34c3228.tgz","_integrity":"sha512-TvMg+0m0AIMJpKoCUqWgmSThlLsK3iT/nYMmCtxVTxpbZIszlfHXleu1xXaaO0ruFKan2jg0EX4IxoYTFCu1Tw==","repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"_npmVersion":"10.2.4","bundlewatch":{"files":[{"path":"./dist/index*.js"}],"defaultCompression":"gzip"},"description":"Network transports for accessing the Solana JSON RPC API","directories":{},"sideEffects":false,"_nodeVersion":"18.19.1","browserslist":["supports bigint and not dead","maintained node versions"],"dependencies":{"@solana/rpc-types":"2.0.0-experimental.34c3228"},"react-native":"./dist/index.native.js","_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"ws":"^8.14.0"},"_npmOperationalInternal":{"tmp":"tmp/rpc-transport_2.0.0-experimental.34c3228_1708548479018_0.2371685834809092","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-03-29T07:32:56.216Z","modified":"2025-06-02T16:11:15.201Z","0.0.0-experimental.0":"2023-03-29T07:32:56.489Z","0.0.0-experimental.1":"2023-03-29T16:08:55.282Z","0.0.0-experimental.2":"2023-03-29T16:09:16.330Z","2.0.0-experimental.093f058":"2023-04-04T01:41:04.740Z","2.0.0-experimental.044c967":"2023-04-04T01:51:17.952Z","2.0.0-experimental.149244b":"2023-04-04T04:32:53.138Z","2.0.0-experimental.c64b6e4":"2023-04-04T06:25:18.902Z","2.0.0-experimental.cf4231e":"2023-04-04T20:26:37.087Z","2.0.0-experimental.feb03f8":"2023-04-04T20:42:20.065Z","2.0.0-experimental.ca22964":"2023-04-04T20:52:24.267Z","2.0.0-experimental.732dc1e":"2023-04-04T22:44:57.474Z","2.0.0-experimental.56d3a22":"2023-04-05T17:21:26.551Z","2.0.0-experimental.36b9cc0":"2023-04-06T16:07:48.315Z","2.0.0-experimental.847f0a9":"2023-04-07T00:46:52.223Z","2.0.0-experimental.f10010c":"2023-04-11T18:25:40.083Z","2.0.0-experimental.dccb97c":"2023-04-12T05:32:28.737Z","2.0.0-experimental.680e3ef":"2023-04-12T05:32:56.017Z","2.0.0-experimental.021b83f":"2023-04-12T18:26:14.623Z","2.0.0-experimental.66685ba":"2023-04-12T18:28:53.647Z","2.0.0-experimental.f41d32d":"2023-04-13T04:13:31.709Z","2.0.0-experimental.c091b0a":"2023-04-13T04:20:51.289Z","2.0.0-experimental.5108520":"2023-04-13T04:37:39.947Z","2.0.0-experimental.cf3cbb7":"2023-04-14T05:59:05.134Z","2.0.0-experimental.73932e0":"2023-04-14T05:59:58.757Z","2.0.0-experimental.bd89c41":"2023-04-15T01:44:12.974Z","2.0.0-experimental.0174e10":"2023-04-15T01:46:17.903Z","2.0.0-experimental.3290268":"2023-04-15T01:48:25.052Z","2.0.0-experimental.bbe9bfe":"2023-04-18T17:54:33.954Z","2.0.0-experimental.50ab13b":"2023-04-18T17:56:33.779Z","2.0.0-experimental.92a60c3":"2023-04-18T19:58:25.768Z","2.0.0-experimental.f0db543":"2023-04-18T22:14:45.764Z","2.0.0-experimental.982fafd":"2023-04-19T02:56:42.609Z","2.0.0-experimental.274e073":"2023-04-20T20:14:21.590Z","2.0.0-experimental.a77f814":"2023-04-20T21:20:24.822Z","2.0.0-experimental.20762e0":"2023-04-20T21:23:25.346Z","2.0.0-experimental.239bb91":"2023-04-21T00:07:22.272Z","2.0.0-experimental.cc1b7bb":"2023-04-21T00:27:27.520Z","2.0.0-experimental.b69daf2":"2023-04-21T00:36:34.543Z","2.0.0-experimental.83a390d":"2023-04-25T05:40:38.260Z","2.0.0-experimental.1b52291":"2023-04-25T05:51:37.975Z","2.0.0-experimental.d6c5c0e":"2023-04-25T05:58:49.864Z","2.0.0-experimental.a1e77c4":"2023-04-25T06:34:32.984Z","2.0.0-experimental.8f00f4f":"2023-04-25T06:35:01.103Z","2.0.0-experimental.b219d97":"2023-04-25T06:35:45.988Z","2.0.0-experimental.9d02c04":"2023-04-25T06:37:25.358Z","2.0.0-experimental.a3f93f3":"2023-04-25T06:38:05.574Z","2.0.0-experimental.d2fa52f":"2023-04-25T06:39:05.241Z","2.0.0-experimental.77f78a8":"2023-04-25T07:27:08.281Z","2.0.0-experimental.3244e3e":"2023-04-25T07:38:11.070Z","2.0.0-experimental.edfcbdc":"2023-04-25T20:37:29.128Z","2.0.0-experimental.ed7c7b8":"2023-04-25T21:16:34.659Z","2.0.0-experimental.dfc6d58":"2023-05-01T18:13:04.294Z","2.0.0-experimental.7b00896":"2023-05-09T19:12:03.744Z","2.0.0-experimental.d16acbd":"2023-05-17T04:27:01.034Z","2.0.0-experimental.caf8d51":"2023-05-17T16:38:17.489Z","2.0.0-experimental.b5dd2ce":"2023-05-17T17:21:03.868Z","2.0.0-experimental.21f7d3e":"2023-05-17T18:49:39.258Z","2.0.0-experimental.88723ed":"2023-05-17T18:51:02.502Z","2.0.0-experimental.c8ada8d":"2023-05-17T19:12:19.853Z","2.0.0-experimental.01c1f5f":"2023-05-18T09:28:02.782Z","2.0.0-experimental.5e42084":"2023-05-18T17:08:08.788Z","2.0.0-experimental.487d81c":"2023-05-19T20:57:00.679Z","2.0.0-experimental.527bafd":"2023-05-19T21:53:33.011Z","2.0.0-experimental.88618c2":"2023-05-23T22:09:06.540Z","2.0.0-experimental.e1fc77c":"2023-05-24T18:01:54.068Z","2.0.0-experimental.21cfcdd":"2023-05-24T18:11:19.394Z","2.0.0-experimental.20e2b21":"2023-05-24T23:54:26.959Z","2.0.0-experimental.d2e0117":"2023-05-24T23:56:01.233Z","2.0.0-experimental.9409822":"2023-05-25T03:58:13.221Z","2.0.0-experimental.ac2f09a":"2023-05-25T09:15:16.421Z","2.0.0-experimental.50fb93e":"2023-05-25T09:27:07.367Z","2.0.0-experimental.ffa81ab":"2023-05-25T16:41:36.113Z","2.0.0-experimental.6d9c2f3":"2023-05-26T02:45:06.155Z","2.0.0-experimental.2b0c16d":"2023-05-26T09:19:47.146Z","2.0.0-experimental.7a6786e":"2023-05-28T03:21:34.901Z","2.0.0-experimental.d29c2a8":"2023-05-29T09:24:07.497Z","2.0.0-experimental.d2e9567":"2023-05-29T09:28:49.950Z","2.0.0-experimental.4480ae1":"2023-05-30T09:09:14.313Z","2.0.0-experimental.0b7dd02":"2023-05-31T21:36:46.536Z","2.0.0-experimental.0a86f01":"2023-05-31T21:46:29.811Z","2.0.0-experimental.1cb3e8b":"2023-05-31T21:59:15.394Z","2.0.0-experimental.29fe5fe":"2023-06-01T09:18:50.082Z","2.0.0-experimental.f965d44":"2023-06-01T09:31:47.643Z","2.0.0-experimental.09348ce":"2023-06-02T09:12:10.216Z","2.0.0-experimental.bfb2f6f":"2023-06-02T09:17:09.555Z","2.0.0-experimental.f8229ef":"2023-06-02T09:27:29.368Z","2.0.0-experimental.aeec044":"2023-06-05T09:10:43.362Z","2.0.0-experimental.f1b44c6":"2023-06-05T09:16:47.276Z","2.0.0-experimental.46f8588":"2023-06-05T09:25:06.545Z","2.0.0-experimental.bc38d16":"2023-06-06T09:12:00.778Z","2.0.0-experimental.461cafe":"2023-06-09T22:25:02.278Z","2.0.0-experimental.b0e1171":"2023-06-09T23:22:38.292Z","2.0.0-experimental.b79b56f":"2023-06-09T23:26:11.165Z","2.0.0-experimental.b8df7b4":"2023-06-09T23:26:51.635Z","2.0.0-experimental.8d948c9":"2023-06-09T23:43:35.353Z","2.0.0-experimental.6524b01":"2023-06-09T23:53:25.746Z","2.0.0-experimental.7d8a778":"2023-06-09T23:54:12.101Z","2.0.0-experimental.3e5b95c":"2023-06-20T20:33:55.380Z","2.0.0-experimental.de111d2":"2023-06-20T20:36:06.410Z","2.0.0-experimental.2678c4b":"2023-06-20T20:36:17.544Z","2.0.0-experimental.eefafdf":"2023-06-20T20:36:24.523Z","2.0.0-experimental.8608356":"2023-06-20T20:36:52.298Z","2.0.0-experimental.4e091b2":"2023-06-20T20:38:25.967Z","2.0.0-experimental.7d4c36d":"2023-06-27T23:58:23.709Z","2.0.0-experimental.c9a65a0":"2023-06-27T23:59:48.611Z","2.0.0-experimental.e264f4d":"2023-06-28T00:00:01.055Z","2.0.0-experimental.8e1b3b7":"2023-06-28T16:27:40.105Z","2.0.0-experimental.2989216":"2023-06-28T23:25:11.600Z","2.0.0-experimental.bcca4c4":"2023-06-28T23:25:25.820Z","2.0.0-experimental.e7a27fb":"2023-06-28T23:25:50.709Z","2.0.0-experimental.743e0a6":"2023-06-28T23:31:39.107Z","2.0.0-experimental.fbdf21a":"2023-06-29T04:15:54.756Z","2.0.0-experimental.7713bac":"2023-06-29T16:53:16.853Z","2.0.0-experimental.81a951a":"2023-06-29T17:02:41.910Z","2.0.0-experimental.8d5318e":"2023-06-29T17:02:49.214Z","2.0.0-experimental.7b06723":"2023-06-29T19:15:29.191Z","2.0.0-experimental.f291d36":"2023-06-29T19:17:26.872Z","2.0.0-experimental.02a66ef":"2023-06-29T19:18:45.445Z","2.0.0-experimental.3775937":"2023-06-29T19:22:12.058Z","2.0.0-experimental.874d89c":"2023-06-30T16:09:28.336Z","2.0.0-experimental.d1e0dc6":"2023-07-05T21:03:03.672Z","2.0.0-experimental.083ac3e":"2023-07-06T00:31:52.197Z","2.0.0-experimental.444644c":"2023-07-06T20:25:05.475Z","2.0.0-experimental.ca5fcbd":"2023-07-06T21:02:04.999Z","2.0.0-experimental.3b1c7d5":"2023-07-06T21:02:28.499Z","2.0.0-experimental.4f36046":"2023-07-07T00:23:32.979Z","2.0.0-experimental.9232d2b":"2023-07-07T04:42:26.939Z","2.0.0-experimental.49ed817":"2023-07-07T05:10:47.522Z","2.0.0-experimental.3d43623":"2023-07-07T10:42:08.200Z","2.0.0-experimental.4539c77":"2023-07-07T10:43:23.306Z","2.0.0-experimental.d79809f":"2023-07-14T10:53:06.385Z","2.0.0-experimental.c727961":"2023-07-14T23:19:57.276Z","2.0.0-experimental.9bf9fdb":"2023-07-14T23:20:39.025Z","2.0.0-experimental.cb1a5a0":"2023-07-14T23:21:09.070Z","2.0.0-experimental.91c8b54":"2023-07-14T23:33:18.464Z","2.0.0-experimental.f0d60d9":"2023-07-14T23:39:39.927Z","2.0.0-experimental.6cedd3a":"2023-07-15T05:14:29.804Z","2.0.0-experimental.0e113c0":"2023-07-15T05:25:51.866Z","2.0.0-experimental.457d032":"2023-07-18T04:52:47.696Z","2.0.0-experimental.c29513e":"2023-07-18T05:37:38.558Z","2.0.0-experimental.6b66b7d":"2023-07-18T14:56:32.949Z","2.0.0-experimental.ee9f3d8":"2023-07-20T01:33:43.064Z","2.0.0-experimental.9b5eac4":"2023-07-21T17:34:34.333Z","2.0.0-experimental.24998c4":"2023-07-21T17:34:43.279Z","2.0.0-experimental.a7f0f86":"2023-07-21T17:35:59.109Z","2.0.0-experimental.4f9ea6b":"2023-07-22T05:27:21.978Z","2.0.0-experimental.90d96dc":"2023-07-22T05:31:53.214Z","2.0.0-experimental.71b920d":"2023-07-22T05:32:19.757Z","2.0.0-experimental.2bae733":"2023-07-22T05:32:51.828Z","2.0.0-experimental.5082935":"2023-07-22T05:33:05.051Z","2.0.0-experimental.0de6c3e":"2023-07-22T05:33:39.827Z","2.0.0-experimental.32e3112":"2023-07-22T05:34:09.565Z","2.0.0-experimental.9300d8b":"2023-07-22T05:35:08.863Z","2.0.0-experimental.4ec89a6":"2023-07-22T05:35:41.158Z","2.0.0-experimental.87c9652":"2023-07-22T05:37:30.719Z","2.0.0-experimental.f464b8b":"2023-07-22T06:04:35.687Z","2.0.0-experimental.95bfd9f":"2023-07-24T08:34:06.984Z","2.0.0-experimental.9ea7d74":"2023-07-24T08:43:21.405Z","2.0.0-experimental.f07dced":"2023-07-24T21:02:32.452Z","2.0.0-experimental.d554dd4":"2023-07-25T07:29:37.990Z","2.0.0-experimental.c2d0ddc":"2023-07-25T08:38:59.086Z","2.0.0-experimental.98b85fd":"2023-07-25T08:40:25.603Z","2.0.0-experimental.784f248":"2023-07-25T08:42:49.811Z","2.0.0-experimental.1584fe6":"2023-07-25T20:05:42.605Z","2.0.0-experimental.c5061ae":"2023-07-25T22:36:52.558Z","2.0.0-experimental.0a6605f":"2023-07-25T22:37:46.490Z","2.0.0-experimental.2491912":"2023-07-26T09:05:37.507Z","2.0.0-experimental.835e62f":"2023-07-26T09:06:44.926Z","2.0.0-experimental.2a97655":"2023-07-26T09:10:50.053Z","2.0.0-experimental.b927e84":"2023-07-27T09:02:01.764Z","2.0.0-experimental.211879d":"2023-07-27T09:04:10.649Z","2.0.0-experimental.2a425db":"2023-07-27T09:06:46.138Z","2.0.0-experimental.8936f2f":"2023-07-28T08:29:14.126Z","2.0.0-experimental.305b060":"2023-07-28T08:31:49.435Z","2.0.0-experimental.7000add":"2023-07-28T08:35:48.644Z","2.0.0-experimental.91405cb":"2023-07-28T23:30:43.118Z","2.0.0-experimental.52f0956":"2023-07-29T03:54:50.885Z","2.0.0-experimental.08302e8":"2023-07-29T04:04:26.196Z","2.0.0-experimental.91615fc":"2023-07-29T05:11:59.747Z","2.0.0-experimental.d49fb7f":"2023-07-31T08:37:32.946Z","2.0.0-experimental.fcae73c":"2023-07-31T08:45:36.936Z","2.0.0-experimental.324614":"2023-07-31T10:39:27.984Z","2.0.0-experimental.9f0ae41":"2023-07-31T16:22:39.675Z","2.0.0-experimental.63423f2":"2023-08-01T08:35:58.772Z","2.0.0-experimental.6cdcd69":"2023-08-01T08:39:28.075Z","2.0.0-experimental.f3eba18":"2023-08-01T08:48:00.152Z","2.0.0-experimental.3e920bf":"2023-08-02T08:31:46.932Z","2.0.0-experimental.8fc0f6c":"2023-08-02T08:31:57.507Z","2.0.0-experimental.89b2a1e":"2023-08-02T08:40:17.618Z","2.0.0-experimental.11658b8":"2023-08-03T00:36:40.700Z","2.0.0-experimental.ca7c151":"2023-08-03T09:00:37.921Z","2.0.0-experimental.7539d42":"2023-08-03T09:09:03.019Z","2.0.0-experimental.68d1443":"2023-08-03T19:50:39.704Z","2.0.0-experimental.e36f58d":"2023-08-03T19:51:01.748Z","2.0.0-experimental.585314d":"2023-08-04T08:29:03.080Z","2.0.0-experimental.1720f87":"2023-08-04T08:37:12.532Z","2.0.0-experimental.f8b14a7":"2023-08-04T08:48:21.756Z","2.0.0-experimental.4ca2749":"2023-08-04T16:31:42.591Z","2.0.0-experimental.e97e6ed":"2023-08-04T17:47:52.762Z","2.0.0-experimental.1ea234d":"2023-08-04T17:55:40.391Z","2.0.0-experimental.daad0b8":"2023-08-06T08:48:54.121Z","2.0.0-experimental.f5c87d2":"2023-08-07T04:26:55.034Z","2.0.0-experimental.910eea0":"2023-08-07T09:02:16.427Z","2.0.0-experimental.805f482":"2023-08-07T16:13:31.480Z","2.0.0-experimental.a624877":"2023-08-07T16:27:35.429Z","2.0.0-experimental.659134e":"2023-08-07T16:52:46.430Z","2.0.0-experimental.7b76300":"2023-08-07T17:03:09.449Z","2.0.0-experimental.8f594ac":"2023-08-07T17:08:10.302Z","2.0.0-experimental.893be25":"2023-08-07T17:14:28.337Z","2.0.0-experimental.cb41f36":"2023-08-07T17:31:27.002Z","2.0.0-experimental.7e66ec4":"2023-08-07T17:32:15.101Z","2.0.0-experimental.7a52c02":"2023-08-07T17:35:35.182Z","2.0.0-experimental.c194560":"2023-08-07T17:43:08.254Z","2.0.0-experimental.dffb4b6":"2023-08-07T17:50:34.878Z","2.0.0-experimental.129c601":"2023-08-07T18:28:26.429Z","2.0.0-experimental.7e91143":"2023-08-07T19:23:50.801Z","2.0.0-experimental.0b7eadc":"2023-08-07T20:13:31.067Z","2.0.0-experimental.1411638":"2023-08-08T08:57:50.723Z","2.0.0-experimental.6ec1b2d":"2023-08-08T09:05:13.386Z","2.0.0-experimental.88e1eaa":"2023-08-08T13:20:19.477Z","2.0.0-experimental.baadda0":"2023-08-08T15:32:42.494Z","2.0.0-experimental.0a0651f":"2023-08-08T15:33:59.068Z","2.0.0-experimental.0108bc7":"2023-08-09T08:38:49.778Z","2.0.0-experimental.4a829b4":"2023-08-09T08:45:03.203Z","2.0.0-experimental.25ec508":"2023-08-09T08:57:20.318Z","2.0.0-experimental.86594f2":"2023-08-10T08:37:05.551Z","2.0.0-experimental.bb6ba5b":"2023-08-10T08:48:18.055Z","2.0.0-experimental.658ab03":"2023-08-10T08:54:46.400Z","2.0.0-experimental.954995a":"2023-08-10T15:13:34.705Z","2.0.0-experimental.a22700c":"2023-08-11T09:51:08.439Z","2.0.0-experimental.03edc6f":"2023-08-15T08:43:08.387Z","2.0.0-experimental.b787f32":"2023-08-16T20:57:33.919Z","2.0.0-experimental.958cc6b":"2023-08-17T03:30:26.685Z","2.0.0-experimental.5f8bf71":"2023-08-22T15:23:45.491Z","2.0.0-experimental.4183479":"2023-08-23T04:37:03.020Z","2.0.0-experimental.bac4a66":"2023-08-23T04:59:36.534Z","2.0.0-experimental.71ce0c2":"2023-08-23T05:00:19.597Z","2.0.0-experimental.ec2d4a4":"2023-08-23T05:13:56.208Z","2.0.0-experimental.b9efb9c":"2023-08-23T15:13:31.855Z","2.0.0-experimental.bfb1537":"2023-08-23T17:37:17.126Z","2.0.0-experimental.dc614af":"2023-08-24T21:10:12.787Z","2.0.0-experimental.2a5c909":"2023-08-25T05:38:26.555Z","2.0.0-experimental.3b49e8a":"2023-08-25T05:38:57.310Z","2.0.0-experimental.5c3e7e8":"2023-08-25T17:16:14.875Z","2.0.0-experimental.4f2f123":"2023-08-25T17:16:32.154Z","2.0.0-experimental.d0412ab":"2023-08-25T17:29:00.511Z","2.0.0-experimental.7192f3d":"2023-08-25T18:22:42.086Z","2.0.0-experimental.58cbeb5":"2023-08-25T18:48:19.518Z","2.0.0-experimental.d4938f4":"2023-08-25T19:19:57.841Z","2.0.0-experimental.2f6fdd4":"2023-08-27T07:57:00.742Z","2.0.0-experimental.0556eb2":"2023-08-27T08:06:42.032Z","2.0.0-experimental.630f6d2":"2023-08-29T18:13:50.423Z","2.0.0-experimental.f4281a5":"2023-08-29T22:18:21.612Z","2.0.0-experimental.6ed2091":"2023-08-30T07:03:20.106Z","2.0.0-experimental.a27face":"2023-08-30T07:03:48.818Z","2.0.0-experimental.2a6cc4f":"2023-08-30T07:04:35.202Z","2.0.0-experimental.8c9cacd":"2023-08-30T07:08:21.027Z","2.0.0-experimental.ab8b149":"2023-08-30T07:26:55.176Z","2.0.0-experimental.0c52530":"2023-08-30T08:29:19.502Z","2.0.0-experimental.320ccbb":"2023-08-30T08:33:36.436Z","2.0.0-experimental.d48113d":"2023-08-31T08:53:28.945Z","2.0.0-experimental.b83b7ee":"2023-08-31T08:54:15.732Z","2.0.0-experimental.11d7d74":"2023-08-31T08:55:23.195Z","2.0.0-experimental.78768fc":"2023-08-31T16:32:36.914Z","2.0.0-experimental.860959f":"2023-09-01T08:45:01.788Z","2.0.0-experimental.d6c3cfe":"2023-09-01T08:47:18.973Z","2.0.0-experimental.cf6545e":"2023-09-04T08:34:53.117Z","2.0.0-experimental.1ddb6b7":"2023-09-04T08:39:33.258Z","2.0.0-experimental.6a124b1":"2023-09-04T08:45:54.718Z","2.0.0-experimental.5030000":"2023-09-07T21:38:23.260Z","2.0.0-experimental.94b4d49":"2023-09-07T21:45:30.899Z","2.0.0-experimental.e09b513":"2023-09-08T21:19:03.959Z","2.0.0-experimental.8ecb622":"2023-09-12T11:12:58.515Z","2.0.0-experimental.d26eeae":"2023-09-12T15:14:09.373Z","2.0.0-experimental.38decd1":"2023-09-12T21:22:38.377Z","2.0.0-experimental.b8960ad":"2023-09-12T23:02:36.368Z","2.0.0-experimental.b074b89":"2023-09-12T23:04:44.804Z","2.0.0-experimental.c0430ba":"2023-09-13T08:49:54.498Z","2.0.0-experimental.53a2f8c":"2023-09-13T08:53:06.827Z","2.0.0-experimental.b9c1a94":"2023-09-13T08:59:36.118Z","2.0.0-experimental.82bbf6f":"2023-09-13T22:49:37.441Z","2.0.0-experimental.d93f1ad":"2023-09-14T08:54:14.723Z","2.0.0-experimental.bba4a25":"2023-09-14T09:08:03.046Z","2.0.0-experimental.506779":"2023-09-14T18:41:43.172Z","2.0.0-experimental.25a15aa":"2023-09-15T09:20:13.005Z","2.0.0-experimental.497de05":"2023-09-15T17:35:24.838Z","2.0.0-experimental.3536b48":"2023-09-15T19:00:48.419Z","2.0.0-experimental.1d59f0a":"2023-09-15T19:01:34.810Z","2.0.0-experimental.9a059de":"2023-09-15T19:01:41.300Z","2.0.0-experimental.91700ed":"2023-09-15T19:02:43.702Z","2.0.0-experimental.28a54d0":"2023-09-15T19:03:56.398Z","2.0.0-experimental.3c38083":"2023-09-15T19:04:31.695Z","2.0.0-experimental.22a4e54":"2023-09-15T21:56:21.063Z","2.0.0-experimental.a8f1f88":"2023-09-15T21:57:50.732Z","2.0.0-experimental.2a70690":"2023-09-19T03:03:37.413Z","2.0.0-experimental.92b6983":"2023-09-20T21:25:52.767Z","2.0.0-experimental.b463a7a":"2023-09-21T08:55:37.504Z","2.0.0-experimental.777610f":"2023-09-21T08:57:12.982Z","2.0.0-experimental.490159e":"2023-09-22T17:57:55.443Z","2.0.0-experimental.c93679a":"2023-09-22T18:01:12.112Z","2.0.0-experimental.4747ac5":"2023-09-25T19:15:02.252Z","2.0.0-experimental.461b4ce":"2023-09-25T19:18:27.463Z","2.0.0-experimental.73d8f64":"2023-09-27T11:48:07.533Z","2.0.0-experimental.3e065e6":"2023-09-30T00:02:39.946Z","2.0.0-experimental.8f006a8":"2023-09-30T00:28:11.154Z","2.0.0-experimental.c0c57ff":"2023-09-30T00:31:13.864Z","2.0.0-experimental.da22638":"2023-09-30T17:13:10.864Z","2.0.0-experimental.cd89114":"2023-10-03T20:21:18.400Z","2.0.0-experimental.2296a15":"2023-10-04T07:27:41.267Z","2.0.0-experimental.f2b6238":"2023-10-04T13:25:08.237Z","2.0.0-experimental.2d7ea5f":"2023-10-04T14:14:20.532Z","2.0.0-experimental.ba46ce1":"2023-10-04T23:20:44.908Z","2.0.0-experimental.9f6f304":"2023-10-06T08:15:55.549Z","2.0.0-experimental.064cdc3":"2023-10-06T08:38:34.538Z","2.0.0-experimental.85be7e8":"2023-10-06T08:42:59.260Z","2.0.0-experimental.0178e62":"2023-10-06T09:21:10.197Z","2.0.0-experimental.e0b865d":"2023-10-06T09:32:47.844Z","2.0.0-experimental.d9dcd1c":"2023-10-06T09:38:26.223Z","2.0.0-experimental.5432cbe":"2023-10-06T09:42:49.441Z","2.0.0-experimental.8894dc1":"2023-10-06T10:12:00.448Z","2.0.0-experimental.63bb307":"2023-10-06T10:13:01.336Z","2.0.0-experimental.867084a":"2023-10-06T10:41:25.603Z","2.0.0-experimental.8a4cd99":"2023-10-06T11:02:27.816Z","2.0.0-experimental.4189b37":"2023-10-06T16:22:52.475Z","2.0.0-experimental.4366e2e":"2023-10-06T16:26:56.723Z","2.0.0-experimental.7da1908":"2023-10-07T07:17:03.412Z","2.0.0-experimental.524cb6e":"2023-10-07T07:19:33.707Z","2.0.0-experimental.5c33269":"2023-10-07T07:22:30.253Z","2.0.0-experimental.4bb5c3f":"2023-10-07T07:24:31.939Z","2.0.0-experimental.856952e":"2023-10-07T07:26:35.521Z","2.0.0-experimental.6467eba":"2023-10-07T07:28:43.232Z","2.0.0-experimental.544cc84":"2023-10-07T07:31:42.911Z","2.0.0-experimental.6cf1deb":"2023-10-07T07:36:13.976Z","2.0.0-experimental.316f07d":"2023-10-07T07:41:07.464Z","2.0.0-experimental.2cae718":"2023-10-09T07:46:32.998Z","2.0.0-experimental.7b33fcb":"2023-10-09T09:37:53.503Z","2.0.0-experimental.2cc3be5":"2023-10-09T09:44:45.402Z","2.0.0-experimental.5586a1b":"2023-10-09T10:23:35.837Z","2.0.0-experimental.278784a":"2023-10-09T11:10:02.574Z","2.0.0-experimental.9baeda8":"2023-10-10T09:59:50.880Z","2.0.0-experimental.f4b7fd3":"2023-10-10T10:21:06.027Z","2.0.0-experimental.f040ea3":"2023-10-10T10:25:25.003Z","2.0.0-experimental.04c19fd":"2023-10-10T13:29:22.477Z","2.0.0-experimental.eb5fd16":"2023-10-10T13:58:57.379Z","2.0.0-experimental.21e994f":"2023-10-11T10:21:05.796Z","2.0.0-experimental.7123512":"2023-10-11T13:46:57.252Z","2.0.0-experimental.f57da91":"2023-10-11T15:22:03.580Z","2.0.0-experimental.f27be12":"2023-10-11T15:23:24.274Z","2.0.0-experimental.c237089":"2023-10-11T15:24:19.947Z","2.0.0-experimental.db42a99":"2023-10-11T15:25:17.750Z","2.0.0-experimental.b313ba0":"2023-10-11T15:26:28.518Z","2.0.0-experimental.cb90bb7":"2023-10-11T15:26:52.775Z","2.0.0-experimental.c8d8b83":"2023-10-11T15:28:12.186Z","2.0.0-experimental.bfaffe0":"2023-10-11T15:29:20.075Z","2.0.0-experimental.32b59a5":"2023-10-11T15:30:06.612Z","2.0.0-experimental.782d1ea":"2023-10-11T15:31:15.970Z","2.0.0-experimental.5e1b2e5":"2023-10-11T23:08:04.687Z","2.0.0-experimental.dacecb7":"2023-10-15T16:28:53.850Z","2.0.0-experimental.ee4214c":"2023-10-16T08:54:17.003Z","2.0.0-experimental.0cfc222":"2023-10-16T10:47:36.280Z","2.0.0-experimental.cc545f9":"2023-10-16T11:08:24.222Z","2.0.0-experimental.6556a8b":"2023-10-16T11:10:35.418Z","2.0.0-experimental.ba21818":"2023-10-16T11:48:57.145Z","2.0.0-experimental.7adc22b":"2023-10-16T14:21:42.171Z","2.0.0-experimental.fc4e943":"2023-10-18T05:21:33.137Z","2.0.0-experimental.c7ef49c":"2023-10-18T06:58:58.220Z","2.0.0-experimental.71a42a7":"2023-10-19T14:54:36.000Z","2.0.0-experimental.7d44763":"2023-10-19T14:55:33.300Z","2.0.0-experimental.72efece":"2023-10-19T14:56:30.685Z","2.0.0-experimental.228d375":"2023-10-19T17:12:21.662Z","2.0.0-experimental.9e133fd":"2023-10-19T17:19:24.162Z","2.0.0-experimental.819a6f7":"2023-10-19T17:19:48.330Z","2.0.0-experimental.a9e6db3":"2023-10-19T17:37:50.877Z","2.0.0-experimental.252f65f":"2023-10-19T22:12:24.761Z","2.0.0-experimental.99a64e9":"2023-10-19T23:24:43.557Z","2.0.0-experimental.b868e90":"2023-10-20T11:27:25.782Z","2.0.0-experimental.0ec7c58":"2023-10-20T11:30:45.432Z","2.0.0-experimental.398c396":"2023-10-20T11:50:16.170Z","2.0.0-experimental.146991a":"2023-10-20T16:20:16.501Z","2.0.0-experimental.e8095b1":"2023-10-20T16:25:44.959Z","2.0.0-experimental.03b965b":"2023-10-20T17:16:35.606Z","2.0.0-experimental.70ec746":"2023-10-21T00:34:39.150Z","2.0.0-experimental.be901cf":"2023-10-21T00:39:38.388Z","2.0.0-experimental.ce145c8":"2023-10-21T00:47:05.577Z","2.0.0-experimental.ba9b4c7":"2023-10-22T06:10:57.343Z","2.0.0-experimental.ce179f2":"2023-10-23T07:32:25.098Z","2.0.0-experimental.5ede703":"2023-10-23T07:36:38.833Z","2.0.0-experimental.4199b4e":"2023-10-23T07:36:59.417Z","2.0.0-experimental.d4b2978":"2023-10-23T08:30:57.647Z","2.0.0-experimental.69a8ad2":"2023-10-23T09:02:30.510Z","2.0.0-experimental.19791fe":"2023-10-23T16:22:57.739Z","2.0.0-experimental.ed12a35":"2023-10-23T16:24:33.356Z","2.0.0-experimental.cbd5bb6":"2023-10-23T16:25:13.977Z","2.0.0-experimental.572d28d":"2023-10-23T16:27:14.752Z","2.0.0-experimental.4f93ce8":"2023-10-23T16:29:22.383Z","2.0.0-experimental.7a1b905":"2023-10-23T16:30:06.706Z","2.0.0-experimental.8a35d54":"2023-10-23T16:30:56.862Z","2.0.0-experimental.25278c4":"2023-10-24T06:29:52.412Z","2.0.0-experimental.6d18167":"2023-10-24T06:49:49.804Z","2.0.0-experimental.58b1699":"2023-10-24T07:06:15.139Z","2.0.0-experimental.2938d71":"2023-10-24T07:29:55.998Z","2.0.0-experimental.df45965":"2023-10-24T20:30:48.028Z","2.0.0-experimental.68e85dc":"2023-10-25T09:03:36.563Z","2.0.0-experimental.589c379":"2023-10-25T09:41:12.369Z","2.0.0-experimental.6910664":"2023-10-26T16:17:13.364Z","2.0.0-experimental.10bfcd8":"2023-10-27T14:55:57.333Z","2.0.0-experimental.8a9aea0":"2023-10-27T15:05:57.025Z","2.0.0-experimental.cf6ca9d":"2023-10-27T17:32:50.556Z","2.0.0-experimental.e9e224b":"2023-10-27T17:40:42.826Z","2.0.0-experimental.8c5ac55":"2023-10-27T22:21:20.384Z","2.0.0-experimental.fe07532":"2023-10-27T22:23:01.130Z","2.0.0-experimental.fd11bd1":"2023-10-27T22:23:58.291Z","2.0.0-experimental.38794f3":"2023-10-27T22:24:45.429Z","2.0.0-experimental.9c8a30e":"2023-10-27T22:25:52.824Z","2.0.0-experimental.0099b2a":"2023-10-27T22:28:34.715Z","2.0.0-experimental.762ff13":"2023-10-27T22:31:12.773Z","2.0.0-experimental.d32897d":"2023-10-29T11:18:57.116Z","2.0.0-experimental.70aae9d":"2023-10-31T10:10:05.149Z","2.0.0-experimental.a23ca33":"2023-11-02T08:19:56.801Z","2.0.0-experimental.fbd3974":"2023-11-02T15:59:26.450Z","2.0.0-experimental.b755749":"2023-11-06T12:49:39.254Z","2.0.0-experimental.d575f09":"2023-11-06T18:38:46.999Z","2.0.0-experimental.ffeddf6":"2023-11-07T14:21:07.529Z","2.0.0-experimental.63683a4":"2023-11-07T22:33:03.412Z","2.0.0-experimental.8245fa6":"2023-11-08T00:06:35.390Z","2.0.0-experimental.205c092":"2023-11-08T00:55:06.988Z","2.0.0-experimental.4dbc1f6":"2023-11-10T09:29:34.369Z","2.0.0-experimental.36c7263":"2023-11-10T11:20:00.417Z","2.0.0-experimental.5044844":"2023-11-10T13:52:12.598Z","2.0.0-experimental.7d54c2d":"2023-11-10T22:36:49.611Z","2.0.0-experimental.1c6b6d6":"2023-11-10T22:47:03.506Z","2.0.0-experimental.b7ead05":"2023-11-11T03:29:26.303Z","2.0.0-experimental.d1457f3":"2023-11-11T04:38:26.972Z","2.0.0-experimental.13ef878":"2023-11-11T07:33:13.188Z","2.0.0-experimental.e6fc977":"2023-11-11T20:24:06.680Z","2.0.0-experimental.e662875":"2023-11-11T20:26:51.078Z","2.0.0-experimental.cc94aa3":"2023-11-11T20:27:16.389Z","2.0.0-experimental.b153bb7":"2023-11-11T20:28:16.340Z","2.0.0-experimental.f7d1af1":"2023-11-11T20:28:29.230Z","2.0.0-experimental.f46b34c":"2023-11-11T20:29:50.709Z","2.0.0-experimental.aa4a701":"2023-11-12T11:59:27.622Z","2.0.0-experimental.b419cd0":"2023-11-12T12:00:33.309Z","2.0.0-experimental.b7674ea":"2023-11-12T12:01:09.269Z","2.0.0-experimental.ff8c65b":"2023-11-12T12:02:20.995Z","2.0.0-experimental.26136d9":"2023-11-12T12:10:51.539Z","2.0.0-experimental.7c29a1e":"2023-11-15T10:33:59.212Z","2.0.0-experimental.a8b4da6":"2023-11-15T19:46:24.968Z","2.0.0-experimental.fe489b3":"2023-11-16T11:07:17.602Z","2.0.0-experimental.6f382e5":"2023-11-20T12:08:47.862Z","2.0.0-experimental.433f475":"2023-11-20T12:09:43.059Z","2.0.0-experimental.eeb355e":"2023-11-20T14:42:54.051Z","2.0.0-experimental.0983bae":"2023-11-20T21:54:30.962Z","2.0.0-experimental.735654a":"2023-11-20T21:55:54.844Z","2.0.0-experimental.47afb90":"2023-11-20T21:57:21.021Z","2.0.0-experimental.b89f19f":"2023-11-20T21:58:00.827Z","2.0.0-experimental.a7c0b6a":"2023-11-20T22:18:06.264Z","2.0.0-experimental.7c1df0a":"2023-11-20T22:24:58.705Z","2.0.0-experimental.40c54bd":"2023-11-20T22:29:16.497Z","2.0.0-experimental.efe6f4d":"2023-11-21T10:51:01.867Z","2.0.0-experimental.3690b65":"2023-11-21T19:41:10.820Z","2.0.0-experimental.9d0a506":"2023-11-21T19:42:44.727Z","2.0.0-experimental.699bde0":"2023-11-21T20:09:08.448Z","2.0.0-experimental.b77865f":"2023-11-21T21:15:12.016Z","2.0.0-experimental.a9b5f6b":"2023-11-22T01:39:26.201Z","2.0.0-experimental.4c1874d":"2023-11-22T11:21:06.951Z","2.0.0-experimental.af584fc":"2023-11-22T11:22:31.773Z","2.0.0-experimental.0eb69ae":"2023-11-22T11:23:17.307Z","2.0.0-experimental.65e87b8":"2023-11-22T11:24:21.547Z","2.0.0-experimental.ef09aec":"2023-11-22T11:26:25.952Z","2.0.0-experimental.d085c72":"2023-11-22T11:27:30.112Z","2.0.0-experimental.bd21cc5":"2023-11-22T11:28:13.031Z","2.0.0-experimental.2e4b8c7":"2023-11-22T20:04:46.236Z","2.0.0-experimental.d93c93b":"2023-11-23T14:35:13.055Z","2.0.0-experimental.b036381":"2023-11-24T18:43:27.398Z","2.0.0-experimental.ab12c29":"2023-11-28T05:33:32.642Z","2.0.0-experimental.bda0153":"2023-11-28T06:25:29.091Z","2.0.0-experimental.49dc7f3":"2023-11-28T07:17:03.919Z","2.0.0-experimental.a293578":"2023-11-28T07:20:30.125Z","2.0.0-experimental.819422a":"2023-11-28T07:23:45.875Z","2.0.0-experimental.5013ad7":"2023-11-28T09:54:36.087Z","2.0.0-experimental.e4483d3":"2023-11-28T13:26:42.108Z","2.0.0-experimental.7d05b9c":"2023-11-28T15:57:44.616Z","2.0.0-experimental.e72afd8":"2023-11-28T19:49:51.360Z","2.0.0-experimental.6613088":"2023-11-28T22:25:38.975Z","2.0.0-experimental.45c014d":"2023-11-28T22:26:13.376Z","2.0.0-experimental.d3af599":"2023-11-28T22:27:26.546Z","2.0.0-experimental.a48ebd2":"2023-11-29T22:36:01.657Z","2.0.0-experimental.1a269a8":"2023-11-29T23:13:56.227Z","2.0.0-experimental.c156b67":"2023-11-29T23:41:43.483Z","2.0.0-experimental.a344eae":"2023-11-30T09:29:24.105Z","2.0.0-experimental.85b7dfe":"2023-11-30T11:49:57.987Z","2.0.0-experimental.a7c51e0":"2023-11-30T18:43:28.586Z","2.0.0-experimental.89b469e":"2023-12-01T15:34:54.709Z","2.0.0-experimental.745437f":"2023-12-01T16:08:21.203Z","2.0.0-experimental.a28936e":"2023-12-03T04:19:04.369Z","2.0.0-experimental.fb88a79":"2023-12-03T04:19:18.959Z","2.0.0-experimental.aef0571":"2023-12-04T09:31:59.671Z","2.0.0-experimental.3bc22e7":"2023-12-04T09:45:04.595Z","2.0.0-experimental.7ed772d":"2023-12-05T01:17:33.956Z","2.0.0-experimental.445121c":"2023-12-05T09:19:25.620Z","2.0.0-experimental.0f3404a":"2023-12-05T17:34:10.839Z","2.0.0-experimental.fcff844":"2023-12-07T01:38:24.472Z","2.0.0-experimental.8618508":"2023-12-07T10:15:40.513Z","2.0.0-experimental.e1ca396":"2023-12-07T11:17:47.244Z","2.0.0-experimental.be3a154":"2023-12-07T11:28:40.675Z","2.0.0-experimental.9855bfb":"2023-12-08T01:40:45.071Z","2.0.0-experimental.8de8e11":"2023-12-08T04:18:46.099Z","2.0.0-experimental.76cf6b4":"2023-12-08T04:19:48.044Z","2.0.0-experimental.24d0d92":"2023-12-08T09:37:30.247Z","2.0.0-experimental.c9bd7fa":"2023-12-08T09:49:06.228Z","2.0.0-experimental.3e9cf67":"2023-12-08T09:53:59.340Z","2.0.0-experimental.5b8e43b":"2023-12-08T19:23:47.175Z","2.0.0-experimental.3b54eda":"2023-12-08T22:40:40.993Z","2.0.0-experimental.31ff931":"2023-12-08T22:41:31.821Z","2.0.0-experimental.96442d1":"2023-12-08T22:41:39.490Z","2.0.0-experimental.c42ccfd":"2023-12-08T23:09:51.003Z","2.0.0-experimental.7297b81":"2023-12-08T23:19:59.723Z","2.0.0-experimental.9741939":"2023-12-09T00:57:11.867Z","2.0.0-experimental.4c009bf":"2023-12-11T12:29:18.897Z","2.0.0-experimental.ed98b3d":"2023-12-11T17:20:11.661Z","2.0.0-experimental.63c7492":"2023-12-11T18:12:35.489Z","2.0.0-experimental.c144a41":"2023-12-12T01:39:09.969Z","2.0.0-experimental.1e2106f":"2023-12-12T01:41:45.296Z","2.0.0-experimental.15440e6":"2023-12-12T01:42:40.689Z","2.0.0-experimental.ae3f1f0":"2023-12-12T01:43:34.995Z","2.0.0-experimental.2ac1df6":"2023-12-14T09:59:18.974Z","2.0.0-experimental.b315352":"2023-12-16T01:00:01.685Z","2.0.0-experimental.2962a3f":"2023-12-18T23:32:42.941Z","2.0.0-experimental.e1b2277":"2023-12-19T19:51:59.674Z","2.0.0-experimental.a1fafee":"2023-12-21T20:25:19.065Z","2.0.0-experimental.ef2569b":"2024-01-02T17:56:06.407Z","2.0.0-experimental.a157265":"2024-01-03T17:08:46.091Z","2.0.0-experimental.5e737f9":"2024-01-05T12:30:48.567Z","2.0.0-experimental.109615d":"2024-01-05T18:10:14.472Z","2.0.0-experimental.59e5893":"2024-01-05T22:34:32.120Z","2.0.0-experimental.6d27574":"2024-01-06T05:19:05.374Z","2.0.0-experimental.24d71d6":"2024-01-06T05:43:55.546Z","2.0.0-experimental.944fbc3":"2024-01-09T19:50:15.909Z","2.0.0-experimental.f5d64e6":"2024-01-09T19:52:39.148Z","2.0.0-experimental.d148156":"2024-01-09T19:54:14.625Z","2.0.0-experimental.0835c79":"2024-01-09T23:19:58.981Z","2.0.0-experimental.8488c9f":"2024-01-09T23:25:15.900Z","2.0.0-experimental.510ead7":"2024-01-10T11:13:27.134Z","2.0.0-experimental.b5bbd3a":"2024-01-10T14:44:45.092Z","2.0.0-experimental.acab173":"2024-01-11T10:50:15.686Z","2.0.0-experimental.23420ec":"2024-01-11T10:54:22.545Z","2.0.0-experimental.6466d76":"2024-01-11T11:02:25.610Z","2.0.0-experimental.c588817":"2024-01-11T11:23:11.726Z","2.0.0-experimental.62b6bd6":"2024-01-11T11:48:26.419Z","2.0.0-experimental.dbe6a73":"2024-01-12T07:35:20.294Z","2.0.0-experimental.cee6f23":"2024-01-12T11:58:45.927Z","2.0.0-experimental.4c9a8b8":"2024-01-12T14:49:41.896Z","2.0.0-experimental.7aeac5a":"2024-01-15T20:40:42.627Z","2.0.0-experimental.5e43617":"2024-01-15T20:52:14.018Z","2.0.0-experimental.1c57210":"2024-01-16T15:12:43.390Z","2.0.0-experimental.6d93188":"2024-01-16T15:22:51.092Z","2.0.0-experimental.651e653":"2024-01-17T22:37:08.851Z","2.0.0-experimental.f2a2e5b":"2024-01-17T22:49:56.203Z","2.0.0-experimental.ca243cb":"2024-01-18T15:24:29.641Z","2.0.0-experimental.a81a78e":"2024-01-22T18:16:07.857Z","2.0.0-experimental.a0b9a27":"2024-01-23T07:20:33.325Z","2.0.0-experimental.4f33613":"2024-01-24T04:18:35.597Z","2.0.0-experimental.098806e":"2024-01-24T04:19:26.478Z","2.0.0-experimental.35de86b":"2024-01-24T04:22:07.120Z","2.0.0-experimental.f8c941c":"2024-01-27T22:43:17.997Z","2.0.0-experimental.f025b33":"2024-01-27T22:45:23.914Z","2.0.0-experimental.76ad167":"2024-01-29T16:21:59.809Z","2.0.0-experimental.71dcc4e":"2024-01-31T23:07:46.161Z","2.0.0-experimental.af9f012":"2024-02-01T19:15:34.109Z","2.0.0-experimental.c34bab9":"2024-02-01T19:16:34.949Z","2.0.0-experimental.8e39a42":"2024-02-01T19:20:57.184Z","2.0.0-experimental.b93299a":"2024-02-01T19:22:39.129Z","2.0.0-experimental.6725a9f":"2024-02-01T20:12:08.558Z","2.0.0-experimental.fd64233":"2024-02-01T20:16:59.240Z","2.0.0-experimental.11dd48f":"2024-02-01T21:40:59.399Z","2.0.0-experimental.e9c1b10":"2024-02-01T21:46:12.733Z","2.0.0-experimental.61f7ba0":"2024-02-02T16:44:26.240Z","2.0.0-experimental.e58bb22":"2024-02-02T16:47:10.468Z","2.0.0-experimental.5175d8a":"2024-02-02T16:48:37.159Z","2.0.0-experimental.5a6335d":"2024-02-02T16:50:47.130Z","2.0.0-experimental.0e03ca9":"2024-02-02T16:54:23.374Z","2.0.0-experimental.64d583b":"2024-02-05T17:22:23.477Z","2.0.0-experimental.dd2096e":"2024-02-05T19:25:22.520Z","2.0.0-experimental.1a0940d":"2024-02-07T02:46:30.612Z","2.0.0-experimental.606040b":"2024-02-07T14:31:57.220Z","2.0.0-experimental.025ef21":"2024-02-10T04:00:49.412Z","2.0.0-experimental.b2c1b82":"2024-02-10T04:28:51.275Z","2.0.0-experimental.06517d7":"2024-02-16T18:46:03.905Z","2.0.0-experimental.8792aa2":"2024-02-16T21:01:24.296Z","2.0.0-experimental.0898b99":"2024-02-17T02:47:35.250Z","2.0.0-experimental.d603013":"2024-02-18T20:06:02.584Z","2.0.0-experimental.db105a6":"2024-02-19T11:14:43.966Z","2.0.0-experimental.bb65ba9":"2024-02-19T17:35:30.598Z","2.0.0-experimental.98dd0a9":"2024-02-20T19:38:41.092Z","2.0.0-experimental.4a3c533":"2024-02-20T19:41:50.612Z","2.0.0-experimental.2d1d49c":"2024-02-20T23:05:11.483Z","2.0.0-experimental.1532546":"2024-02-20T23:20:16.560Z","2.0.0-experimental.900b946":"2024-02-21T00:01:37.851Z","2.0.0-experimental.c098656":"2024-02-21T00:10:20.525Z","2.0.0-experimental.5ceb5a2":"2024-02-21T02:59:42.466Z","2.0.0-experimental.4097784":"2024-02-21T12:20:16.222Z","2.0.0-experimental.34c3228":"2024-02-21T20:47:59.263Z"},"bugs":{"url":"http://github.com/solana-labs/solana-web3.js/issues"},"author":{"name":"Solana Labs Maintainers","email":"maintainers@solanalabs.com"},"license":"MIT","homepage":"https://github.com/solana-labs/solana-web3.js#readme","keywords":["blockchain","solana","web3"],"repository":{"url":"git+https://github.com/solana-labs/solana-web3.js.git","type":"git"},"description":"Network transports for accessing the Solana JSON RPC API","maintainers":[{"email":"npm@solana.org","name":"solana-devs"}],"readme":"","readmeFilename":""}