diff --git a/packages/genesis/package.json b/packages/genesis/package.json index 764a29dec9..3cd222734c 100644 --- a/packages/genesis/package.json +++ b/packages/genesis/package.json @@ -23,6 +23,26 @@ ".": { "import": "./dist/esm/index.js", "require": "./dist/cjs/index.js" + }, + "./mainnet": { + "import": "./dist/esm/genesisStates/mainnet.js", + "require": "./dist/cjs/genesisStates/mainnet.js" + }, + "./goerli": { + "import": "./dist/esm/genesisStates/goerli.js", + "require": "./dist/cjs/genesisStates/goerli.js" + }, + "./ropsten": { + "import": "./dist/esm/genesisStates/ropsten.js", + "require": "./dist/cjs/genesisStates/ropsten.js" + }, + "./rinkeby": { + "import": "./dist/esm/genesisStates/rinkeby.js", + "require": "./dist/cjs/genesisStates/rinkeby.js" + }, + "./sepolia": { + "import": "./dist/esm/genesisStates/sepolia.js", + "require": "./dist/cjs/genesisStates/sepolia.js" } }, "files": [ @@ -47,10 +67,6 @@ "@ethereumjs/common": "^3.1.2", "@ethereumjs/util": "^8.0.6" }, - "devDependencies": { - "@types/async": "^2.4.1", - "@types/level-errors": "^3.0.0" - }, "engines": { "node": ">=16" } diff --git a/packages/genesis/src/genesisStates/goerli.ts b/packages/genesis/src/genesisStates/goerli.ts index 929be3b69d..019a61a1e6 100644 --- a/packages/genesis/src/genesisStates/goerli.ts +++ b/packages/genesis/src/genesisStates/goerli.ts @@ -1,4 +1,6 @@ -export const goerliGenesis = { +import { GenesisState } from '@ethereumjs/util' + +export const goerliGenesis: GenesisState = { '0x0000000000000000000000000000000000000000': '0x1', '0x0000000000000000000000000000000000000001': '0x1', '0x0000000000000000000000000000000000000002': '0x1', diff --git a/packages/genesis/src/genesisStates/mainnet.ts b/packages/genesis/src/genesisStates/mainnet.ts index c4d305360c..af12a4ec7c 100644 --- a/packages/genesis/src/genesisStates/mainnet.ts +++ b/packages/genesis/src/genesisStates/mainnet.ts @@ -1,4 +1,6 @@ -export const mainnetGenesis = { +import { GenesisState } from '@ethereumjs/util' + +export const mainnetGenesis: GenesisState = { '0x000d836201318ec6899a67540690382780743280': '0xad78ebc5ac6200000', '0x001762430ea9c3a26e5749afdb70da5f78ddbb8c': '0xad78ebc5ac6200000', '0x001d14804b399c6ef80e64576f657660804fec0b': '0xe3aeb5737240a00000', diff --git a/packages/genesis/src/genesisStates/rinkeby.ts b/packages/genesis/src/genesisStates/rinkeby.ts index cd89865d30..ba99959ef0 100644 --- a/packages/genesis/src/genesisStates/rinkeby.ts +++ b/packages/genesis/src/genesisStates/rinkeby.ts @@ -1,4 +1,6 @@ -export const rinkebyGenesis = { +import { GenesisState } from '@ethereumjs/util' + +export const rinkebyGenesis: GenesisState = { '0x0000000000000000000000000000000000000000': '0x1', '0x0000000000000000000000000000000000000001': '0x1', '0x0000000000000000000000000000000000000002': '0x1', diff --git a/packages/genesis/src/genesisStates/ropsten.ts b/packages/genesis/src/genesisStates/ropsten.ts index 601057ab5f..dcb8a80fde 100644 --- a/packages/genesis/src/genesisStates/ropsten.ts +++ b/packages/genesis/src/genesisStates/ropsten.ts @@ -1,4 +1,6 @@ -export const ropstenGenesis = { +import { GenesisState } from '@ethereumjs/util' + +export const ropstenGenesis: GenesisState = { '0x0000000000000000000000000000000000000000': '0x1', '0x0000000000000000000000000000000000000001': '0x1', '0x0000000000000000000000000000000000000002': '0x1', diff --git a/packages/genesis/src/genesisStates/sepolia.ts b/packages/genesis/src/genesisStates/sepolia.ts index b6c1b27895..79260c876e 100644 --- a/packages/genesis/src/genesisStates/sepolia.ts +++ b/packages/genesis/src/genesisStates/sepolia.ts @@ -1,4 +1,6 @@ -export const sepoliaGenesis = { +import { GenesisState } from '@ethereumjs/util' + +export const sepoliaGenesis: GenesisState = { '0xa2A6d93439144FFE4D27c9E088dCD8b783946263': '0xD3C21BCECCEDA1000000', '0xBc11295936Aa79d594139de1B2e12629414F3BDB': '0xD3C21BCECCEDA1000000', '0x7cF5b79bfe291A67AB02b393E456cCc4c266F753': '0xD3C21BCECCEDA1000000', diff --git a/packages/genesis/src/types.ts b/packages/genesis/src/types.ts deleted file mode 100644 index 24d2f74417..0000000000 --- a/packages/genesis/src/types.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type { PrefixedHexString } from '@ethereumjs/util' - -export type StoragePair = [key: PrefixedHexString, value: PrefixedHexString] - -export type AccountState = [ - balance: PrefixedHexString, - code: PrefixedHexString, - storage: Array, - nonce: PrefixedHexString -] - -/** - * If you are using a custom chain {@link Common}, pass the genesis state. - * - * Pattern 1 (with genesis state see {@link GenesisState} for format): - * - * ```javascript - * { - * '0x0...01': '0x100', // For EoA - * } - * ``` - * - * Pattern 2 (with complex genesis state, containing contract accounts and storage). - * Note that in {@link AccountState} there are two - * accepted types. This allows to easily insert accounts in the genesis state: - * - * A complex genesis state with Contract and EoA states would have the following format: - * - * ```javascript - * { - * '0x0...01': '0x100', // For EoA - * '0x0...02': ['0x1', '0xRUNTIME_BYTECODE', [[storageKey1, storageValue1], [storageKey2, storageValue2]]] // For contracts - * } - * ``` - */ -export interface GenesisState { - [key: PrefixedHexString]: PrefixedHexString | AccountState -} diff --git a/packages/genesis/tsconfig.json b/packages/genesis/tsconfig.json index 9fdc8cdd2f..ec77a108e2 100644 --- a/packages/genesis/tsconfig.json +++ b/packages/genesis/tsconfig.json @@ -1,8 +1,4 @@ { "extends": "../../config/tsconfig.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "compilerOptions": { - "types": ["node"], - "typeRoots": ["node_modules/@types"] - } + "include": ["src/**/*.ts", "test/**/*.ts"] } diff --git a/packages/genesis/tsconfig.prod.cjs.json b/packages/genesis/tsconfig.prod.cjs.json index 0c714b3556..742055d244 100644 --- a/packages/genesis/tsconfig.prod.cjs.json +++ b/packages/genesis/tsconfig.prod.cjs.json @@ -3,8 +3,6 @@ "compilerOptions": { "rootDir": "src", "outDir": "dist/cjs", - "types": ["node"], - "typeRoots": ["node_modules/@types"], "composite": true }, "include": ["src/**/*.ts", "src/**/*.json"], diff --git a/packages/genesis/tsconfig.prod.esm.json b/packages/genesis/tsconfig.prod.esm.json index 79b404bf93..a99cf6307c 100644 --- a/packages/genesis/tsconfig.prod.esm.json +++ b/packages/genesis/tsconfig.prod.esm.json @@ -3,8 +3,6 @@ "compilerOptions": { "rootDir": "src", "outDir": "dist/esm", - "types": ["node"], - "typeRoots": ["node_modules/@types"], "composite": true }, "include": ["src/**/*.ts", "src/**/*.json"], diff --git a/packages/genesis/typedoc.js b/packages/genesis/typedoc.js index 18cbbfe7c1..823588a62c 100644 --- a/packages/genesis/typedoc.js +++ b/packages/genesis/typedoc.js @@ -2,5 +2,5 @@ module.exports = { extends: '../../config/typedoc.js', entryPoints: ['src'], out: 'docs', - exclude: ['test/**/*.ts', 'src/db/**', 'src/clique.ts'], + exclude: ['test/**/*.ts'], } diff --git a/packages/trie/test/util/genesisState.spec.ts b/packages/trie/test/util/genesisState.spec.ts index e108a16aaa..60f009c462 100644 --- a/packages/trie/test/util/genesisState.spec.ts +++ b/packages/trie/test/util/genesisState.spec.ts @@ -18,7 +18,7 @@ describe('[Util/genesisStateRoot]', () => { }) it('should correctly derive ropsten stateRoot from ethereumjs genesis', async () => { - const stateRoot = await genesisStateRoot(getGenesis(3)!) + const stateRoot = await genesisStateRoot(getGenesis(3)) assert.equal( bytesToHex(stateRoot), '217b0bbcfb72e2d57e28f33cb361b9983513177755dc3f33ce3e7022ed62b77b',