{"bugs":{"url":"https://github.com/ethereum-optimism/optimism/issues"},"dist":{"shasum":"efe1696b57bed2005a8dbd3afec5fd77e795d8d9","tarball":"https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.0.0-202211121340.tgz","fileCount":78,"integrity":"sha512-EoVFr0Db9ELFhgpxlZiF1HTOnnN9YbJgXEvi2rfxSvQ75RCIsnXbFqCcXefP9LpdBV1HH4Ecn8xrI3zrwMfLdQ==","signatures":[{"sig":"MEQCIDlvqWhgyp+FKevSnWoy7l2FBMXX8uvc1DV/vWU1k2NPAiAz2FVPITDPV910MOUye2qFptQ5ufv1r5x9PkD4U+9nwg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105282,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiA3gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpBZxAAoPnn3VMKyNfQHDqn/ZnqB0Kz7v/lRyfFdX/TTeWzvOA54z0u\r\n5/igNPXOMF5MDqTTBl5YjfRbHKibABtNeJBkUzguyAMuo420FF3Ki9sjSO5I\r\nEffWH9SACSCdY56kGjOpwq/eZ2uX8/1DkUZwcC/UpYn5BCiP6yz9mvXFmhPS\r\n+VUWaKUtXA3u6jfmTyyYZsBif0l6dQFLYvyZxIhuv9e4pNJ/BuQHZw/uRFc/\r\nJFtvLeZjFQLFAechLH3pOPdY9jpuKnIGc1EBdTX+jdR3605BkLDoOtX8W2sK\r\n4n2rpUiyJPPHmG2zqFW9MvElcvFswr70ErDsGkQg5g5LvCl/8i5W8DYSWvKK\r\nuLGZ+94vXRks2aJxS7YAN9P+grSz9FcvDjqo0259xNbwGPg0hMapV137KTA5\r\nmSy5zSuVztxF9TAVIpwaQ9ruF+LIBURSXGPlpeBnO4m3WtOnZNAA6DTGs/qK\r\n7WKaQLxBi5yBM0NMexhNfkwC6o5Jn/tdE3LMakt+tBfeVeKOKVF2/TcG9NvD\r\np5TZAxzCgOjS3PTHnrDytt+A6Eqb7O8v9sAoTVZ+0syiQmBtc2uHC5RxlIUT\r\nWopVk7rzxgRnnIqLdkzqJjE7XpniyzHk1D+BpNZ3r6Cw20/qW/GKkQmL+2wm\r\noTyR0y76wn47hEPqjWQSMyECsKCfGtIITm0=\r\n=/HI6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index","name":"@eth-optimism/core-utils","types":"dist/index","author":{"name":"Optimism PBC"},"readme":"# @eth-optimism/core-utils\n\n[![codecov](https://codecov.io/gh/ethereum-optimism/optimism/branch/develop/graph/badge.svg?token=0VTG7PG7YR&flag=core-utils-tests)](https://codecov.io/gh/ethereum-optimism/optimism)\n\n## What is this?\n\n`@eth-optimism/core-utils` contains the Optimistic Virtual Machine core utilities.\n\n## Getting started\n\n### Building and usage\n\nAfter cloning and switching to the repository, install dependencies:\n\n```bash\n$ yarn\n```\n\nUse the following commands to build, use, test, and lint:\n\n```bash\n$ yarn build\n$ yarn start\n$ yarn test\n$ yarn lint\n```\n\n### L2 Fees\n\n`TxGasLimit` can be used to `encode` and `decode` the L2 Gas Limit\nlocally.\n\n```typescript\nimport { TxGasLimit } from '@eth-optimism/core-utils'\nimport { JsonRpcProvider } from 'ethers'\n\nconst L2Provider = new JsonRpcProvider('https://mainnet.optimism.io')\nconst L1Provider = new JsonRpcProvider('http://127.0.0.1:8545')\n\nconst l2GasLimit = await L2Provider.send('eth_estimateExecutionGas', [tx])\nconst l1GasPrice = await L1Provider.getGasPrice()\n\nconst encoded = TxGasLimit.encode({\n  data: '0x',\n  l1GasPrice,\n  l2GasLimit,\n  l2GasPrice: 10000000,\n})\n\nconst decoded = TxGasLimit.decode(encoded)\nassert(decoded.eq(gasLimit))\n\nconst estimate = await L2Provider.estimateGas()\nassert(estimate.eq(encoded))\n```\n","gitHead":"092a36cb23b4ba2ad801341af82064ec8f2c5eae","license":"MIT","scripts":{"all":"yarn clean && yarn build && yarn test && yarn lint:fix && yarn lint","lint":"yarn lint:fix && yarn lint:check","test":"ts-mocha test/*.spec.ts","build":"tsc -p tsconfig.json","clean":"rimraf dist/ ./tsconfig.tsbuildinfo","lint:fix":"yarn lint:check --fix","lint:check":"eslint . --max-warnings=0","pre-commit":"lint-staged","test:coverage":"nyc ts-mocha test/*.spec.ts && nyc merge .nyc_output coverage.json"},"_npmUser":{"name":"karlfloersch","email":"karl@karl.tech"},"homepage":"https://github.com/ethereum-optimism/optimism/tree/develop/packages/core-utils#readme","keywords":["optimism","ethereum","core","utils"],"repository":{"url":"git+https://github.com/ethereum-optimism/optimism.git","type":"git"},"_npmVersion":"8.19.2","description":"[Optimism] Core typescript utilities","directories":{},"maintainers":[{"name":"karlfloersch","email":"karl@karl.tech"},{"name":"ben-chain","email":"ben@optimism.io"},{"name":"k-ho","email":"kevin@optimism.io"},{"name":"tynes","email":"tyneway12@gmail.com"},{"name":"kelvinfichter","email":"kelvinfichter@gmail.com"}],"_nodeVersion":"16.18.1","dependencies":{"chai":"^4.3.4","bufio":"^1.0.7","@ethersproject/abi":"^5.7.0","@ethersproject/rlp":"^5.7.0","@ethersproject/web":"^5.7.0","@ethersproject/hash":"^5.7.0","@ethersproject/bytes":"^5.7.0","@ethersproject/address":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/constants":"^5.7.0","@ethersproject/contracts":"^5.7.0","@ethersproject/keccak256":"^5.7.0","@ethersproject/providers":"^5.7.0","@ethersproject/properties":"^5.7.0","@ethersproject/transactions":"^5.7.0","@ethersproject/abstract-provider":"^5.7.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core-utils_0.0.0-202211121340_1669860832724_0.04357340694572254","host":"s3://npm-registry-packages"},"_id":"@eth-optimism/core-utils@0.0.0-202211121340","version":"0.0.0-202211121340"}