{"bugs":{"url":"https://github.com/ethereum-optimism/optimism/issues"},"dist":{"shasum":"ff6a23bd209d550c8eac82a2df31262617f34f24","tarball":"https://registry.npmjs.org/@eth-optimism/core-utils/-/core-utils-0.0.0-202223213144.tgz","fileCount":60,"integrity":"sha512-xNakz1anbgDx/z7OThDOzTGp7oBEh5yYTYhauKQpEFzaGCB9qkfmyavwbvuVSInhn0O5NwgMRVx6+17Nd2gZFg==","signatures":[{"sig":"MEYCIQDhKcqfqWCQUbLSp6Ajlx8nxlTEd+AXZ70zLdv2fx9CxQIhAKwtWbA7KQMZdcyO4nr/BklanzuCH5JaUXha16j/c7eN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiITPHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmon/xAAio/wjAZD/VxyiAwwuGw7w+b9pLXb2QAdsKnC14JQ3U5xjzaE\r\n/PidF6rCQPxyG5FCetSij3x9UDIEfkmMQgxuOK/yUD3lDG1EALLdBUTUgr+E\r\nqTco9l9tkaxidetKlNowgAX9W7F2U2XiNahu/SOa6B+c5C6Ul0tMMfvDu/Rg\r\nt0KteoRfkq5jZ7Gkyv7O3KoQBptjp2y/LYaXHo+7oHnI2eTxpuf9HsMEwX3v\r\nHNkqG7kxolaa8axtL+6iB2YObR64uGFc8wU/C9BzHVEvZ5eHacn4H7MShJgV\r\nRV5IqJDdcq1SEEiir/9qGLEpExT+MG+gje3HV580KzrUv/UbBRReV1/tgrjc\r\nvmQFy+D9we9wwehv3JBiI2zEFrhyM6fvz3uw2R1dOcPTyXw1j4HSNomxtIgF\r\nG2fA3fqcABlYtSNAFBeIma/zMHg4ShKrGFt3Bcqbx0NSqIujIXStAQWhNqbz\r\nwzkPa0Tf+MkiXXezaiBwmDyQ6roCAr2xmfij32rZhqtj6HE86dnmLbRm6NXX\r\nIIyy5+lboTT87mryX8xaphLI8oa61SbEYUXSCzuoqb3cJaZBG1ZCuk4IBn3V\r\nQne/iUPVjCPbqTanLk+wyS1+ZDy27+Dx90vpIJ4KvEFfOsEIeumiNGVD7Tm7\r\nIQb49f5xcPz7vk+G3YvS5XZXK9fKpZ/JVkc=\r\n=KBk7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index","name":"@eth-optimism/core-utils","types":"dist/index","author":{"name":"Optimism PBC"},"readme":"[![codecov](https://codecov.io/gh/ethereum-optimism/optimism/branch/master/graph/badge.svg?token=0VTG7PG7YR&flag=core-utils)](https://codecov.io/gh/ethereum-optimism/optimism)\n\n# @eth-optimism/core-utils\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":"9ac6e309817604374222f2bf5b03de62f1774929","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.build.json","clean":"rimraf dist/ ./tsconfig.build.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.3.1","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.14.0","dependencies":{"chai":"^4.3.4","bufio":"^1.0.7","ethers":"^5.5.4","@ethersproject/web":"^5.5.1","@ethersproject/bytes":"^5.5.0","@ethersproject/providers":"^5.5.3","@ethersproject/transactions":"^5.5.0","@ethersproject/abstract-provider":"^5.5.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"nyc":"^15.1.0","mocha":"^8.4.0","eslint":"^7.27.0","prettier":"^2.3.1","ts-mocha":"^8.0.0","typescript":"^4.3.5","@types/chai":"^4.2.18","lint-staged":"11.0.0","@types/mocha":"^8.2.2","babel-eslint":"^10.1.0","eslint-plugin-jsdoc":"^35.1.2","eslint-plugin-react":"^7.24.0","eslint-plugin-import":"^2.23.4","eslint-plugin-unicorn":"^32.0.1","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","@typescript-eslint/parser":"^4.26.0","eslint-plugin-prefer-arrow":"^1.2.3","@typescript-eslint/eslint-plugin":"^4.26.0"},"_npmOperationalInternal":{"tmp":"tmp/core-utils_0.0.0-202223213144_1646343111287_0.31310782167042506","host":"s3://npm-registry-packages"},"_id":"@eth-optimism/core-utils@0.0.0-202223213144","version":"0.0.0-202223213144"}