@feelyourprotocol/evm 8141.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +373 -0
- package/README.md +690 -0
- package/dist/cjs/binaryTreeAccessWitness.d.ts +61 -0
- package/dist/cjs/binaryTreeAccessWitness.d.ts.map +1 -0
- package/dist/cjs/binaryTreeAccessWitness.js +314 -0
- package/dist/cjs/binaryTreeAccessWitness.js.map +1 -0
- package/dist/cjs/chunkCache.d.ts +13 -0
- package/dist/cjs/chunkCache.d.ts.map +1 -0
- package/dist/cjs/chunkCache.js +30 -0
- package/dist/cjs/chunkCache.js.map +1 -0
- package/dist/cjs/constructors.d.ts +11 -0
- package/dist/cjs/constructors.d.ts.map +1 -0
- package/dist/cjs/constructors.js +30 -0
- package/dist/cjs/constructors.js.map +1 -0
- package/dist/cjs/eip7708.d.ts +24 -0
- package/dist/cjs/eip7708.d.ts.map +1 -0
- package/dist/cjs/eip7708.js +37 -0
- package/dist/cjs/eip7708.js.map +1 -0
- package/dist/cjs/eof/constants.d.ts +22 -0
- package/dist/cjs/eof/constants.d.ts.map +1 -0
- package/dist/cjs/eof/constants.js +31 -0
- package/dist/cjs/eof/constants.js.map +1 -0
- package/dist/cjs/eof/container.d.ts +87 -0
- package/dist/cjs/eof/container.d.ts.map +1 -0
- package/dist/cjs/eof/container.js +380 -0
- package/dist/cjs/eof/container.js.map +1 -0
- package/dist/cjs/eof/errors.d.ts +66 -0
- package/dist/cjs/eof/errors.d.ts.map +1 -0
- package/dist/cjs/eof/errors.js +200 -0
- package/dist/cjs/eof/errors.js.map +1 -0
- package/dist/cjs/eof/setup.d.ts +9 -0
- package/dist/cjs/eof/setup.d.ts.map +1 -0
- package/dist/cjs/eof/setup.js +26 -0
- package/dist/cjs/eof/setup.js.map +1 -0
- package/dist/cjs/eof/stackDelta.d.ts +10 -0
- package/dist/cjs/eof/stackDelta.d.ts.map +1 -0
- package/dist/cjs/eof/stackDelta.js +164 -0
- package/dist/cjs/eof/stackDelta.js.map +1 -0
- package/dist/cjs/eof/util.d.ts +8 -0
- package/dist/cjs/eof/util.d.ts.map +1 -0
- package/dist/cjs/eof/util.js +18 -0
- package/dist/cjs/eof/util.js.map +1 -0
- package/dist/cjs/eof/verify.d.ts +38 -0
- package/dist/cjs/eof/verify.d.ts.map +1 -0
- package/dist/cjs/eof/verify.js +436 -0
- package/dist/cjs/eof/verify.js.map +1 -0
- package/dist/cjs/errors.d.ts +40 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +43 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/evm.d.ts +181 -0
- package/dist/cjs/evm.d.ts.map +1 -0
- package/dist/cjs/evm.js +1142 -0
- package/dist/cjs/evm.js.map +1 -0
- package/dist/cjs/frameContext.d.ts +50 -0
- package/dist/cjs/frameContext.d.ts.map +1 -0
- package/dist/cjs/frameContext.js +17 -0
- package/dist/cjs/frameContext.js.map +1 -0
- package/dist/cjs/index.d.ts +18 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +43 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interpreter.d.ts +361 -0
- package/dist/cjs/interpreter.d.ts.map +1 -0
- package/dist/cjs/interpreter.js +1057 -0
- package/dist/cjs/interpreter.js.map +1 -0
- package/dist/cjs/journal.d.ts +69 -0
- package/dist/cjs/journal.d.ts.map +1 -0
- package/dist/cjs/journal.js +247 -0
- package/dist/cjs/journal.js.map +1 -0
- package/dist/cjs/logger.d.ts +38 -0
- package/dist/cjs/logger.d.ts.map +1 -0
- package/dist/cjs/logger.js +126 -0
- package/dist/cjs/logger.js.map +1 -0
- package/dist/cjs/memory.d.ts +29 -0
- package/dist/cjs/memory.d.ts.map +1 -0
- package/dist/cjs/memory.js +75 -0
- package/dist/cjs/memory.js.map +1 -0
- package/dist/cjs/message.d.ts +70 -0
- package/dist/cjs/message.d.ts.map +1 -0
- package/dist/cjs/message.js +51 -0
- package/dist/cjs/message.js.map +1 -0
- package/dist/cjs/opcodes/EIP1283.d.ts +13 -0
- package/dist/cjs/opcodes/EIP1283.d.ts.map +1 -0
- package/dist/cjs/opcodes/EIP1283.js +58 -0
- package/dist/cjs/opcodes/EIP1283.js.map +1 -0
- package/dist/cjs/opcodes/EIP2200.d.ts +13 -0
- package/dist/cjs/opcodes/EIP2200.d.ts.map +1 -0
- package/dist/cjs/opcodes/EIP2200.js +64 -0
- package/dist/cjs/opcodes/EIP2200.js.map +1 -0
- package/dist/cjs/opcodes/EIP2929.d.ts +68 -0
- package/dist/cjs/opcodes/EIP2929.d.ts.map +1 -0
- package/dist/cjs/opcodes/EIP2929.js +146 -0
- package/dist/cjs/opcodes/EIP2929.js.map +1 -0
- package/dist/cjs/opcodes/codes.d.ts +45 -0
- package/dist/cjs/opcodes/codes.d.ts.map +1 -0
- package/dist/cjs/opcodes/codes.js +453 -0
- package/dist/cjs/opcodes/codes.js.map +1 -0
- package/dist/cjs/opcodes/functions.d.ts +11 -0
- package/dist/cjs/opcodes/functions.d.ts.map +1 -0
- package/dist/cjs/opcodes/functions.js +1778 -0
- package/dist/cjs/opcodes/functions.js.map +1 -0
- package/dist/cjs/opcodes/gas.d.ts +15 -0
- package/dist/cjs/opcodes/gas.d.ts.map +1 -0
- package/dist/cjs/opcodes/gas.js +1016 -0
- package/dist/cjs/opcodes/gas.js.map +1 -0
- package/dist/cjs/opcodes/index.d.ts +4 -0
- package/dist/cjs/opcodes/index.d.ts.map +1 -0
- package/dist/cjs/opcodes/index.js +20 -0
- package/dist/cjs/opcodes/index.js.map +1 -0
- package/dist/cjs/opcodes/util.d.ts +86 -0
- package/dist/cjs/opcodes/util.d.ts.map +1 -0
- package/dist/cjs/opcodes/util.js +281 -0
- package/dist/cjs/opcodes/util.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/params.d.ts +3 -0
- package/dist/cjs/params.d.ts.map +1 -0
- package/dist/cjs/params.js +424 -0
- package/dist/cjs/params.js.map +1 -0
- package/dist/cjs/precompiles/01-ecrecover.d.ts +4 -0
- package/dist/cjs/precompiles/01-ecrecover.d.ts.map +1 -0
- package/dist/cjs/precompiles/01-ecrecover.js +58 -0
- package/dist/cjs/precompiles/01-ecrecover.js.map +1 -0
- package/dist/cjs/precompiles/02-sha256.d.ts +4 -0
- package/dist/cjs/precompiles/02-sha256.d.ts.map +1 -0
- package/dist/cjs/precompiles/02-sha256.js +27 -0
- package/dist/cjs/precompiles/02-sha256.js.map +1 -0
- package/dist/cjs/precompiles/03-ripemd160.d.ts +4 -0
- package/dist/cjs/precompiles/03-ripemd160.d.ts.map +1 -0
- package/dist/cjs/precompiles/03-ripemd160.js +26 -0
- package/dist/cjs/precompiles/03-ripemd160.js.map +1 -0
- package/dist/cjs/precompiles/04-identity.d.ts +4 -0
- package/dist/cjs/precompiles/04-identity.d.ts.map +1 -0
- package/dist/cjs/precompiles/04-identity.js +24 -0
- package/dist/cjs/precompiles/04-identity.js.map +1 -0
- package/dist/cjs/precompiles/05-modexp.d.ts +5 -0
- package/dist/cjs/precompiles/05-modexp.d.ts.map +1 -0
- package/dist/cjs/precompiles/05-modexp.js +185 -0
- package/dist/cjs/precompiles/05-modexp.js.map +1 -0
- package/dist/cjs/precompiles/06-bn254-add.d.ts +4 -0
- package/dist/cjs/precompiles/06-bn254-add.d.ts.map +1 -0
- package/dist/cjs/precompiles/06-bn254-add.js +42 -0
- package/dist/cjs/precompiles/06-bn254-add.js.map +1 -0
- package/dist/cjs/precompiles/07-bn254-mul.d.ts +4 -0
- package/dist/cjs/precompiles/07-bn254-mul.d.ts.map +1 -0
- package/dist/cjs/precompiles/07-bn254-mul.js +43 -0
- package/dist/cjs/precompiles/07-bn254-mul.js.map +1 -0
- package/dist/cjs/precompiles/08-bn254-pairing.d.ts +4 -0
- package/dist/cjs/precompiles/08-bn254-pairing.d.ts.map +1 -0
- package/dist/cjs/precompiles/08-bn254-pairing.js +45 -0
- package/dist/cjs/precompiles/08-bn254-pairing.js.map +1 -0
- package/dist/cjs/precompiles/09-blake2f.d.ts +5 -0
- package/dist/cjs/precompiles/09-blake2f.d.ts.map +1 -0
- package/dist/cjs/precompiles/09-blake2f.js +201 -0
- package/dist/cjs/precompiles/09-blake2f.js.map +1 -0
- package/dist/cjs/precompiles/0a-kzg-point-evaluation.d.ts +5 -0
- package/dist/cjs/precompiles/0a-kzg-point-evaluation.d.ts.map +1 -0
- package/dist/cjs/precompiles/0a-kzg-point-evaluation.js +68 -0
- package/dist/cjs/precompiles/0a-kzg-point-evaluation.js.map +1 -0
- package/dist/cjs/precompiles/0b-bls12-g1add.d.ts +4 -0
- package/dist/cjs/precompiles/0b-bls12-g1add.d.ts.map +1 -0
- package/dist/cjs/precompiles/0b-bls12-g1add.js +49 -0
- package/dist/cjs/precompiles/0b-bls12-g1add.js.map +1 -0
- package/dist/cjs/precompiles/0c-bls12-g1msm.d.ts +4 -0
- package/dist/cjs/precompiles/0c-bls12-g1msm.d.ts.map +1 -0
- package/dist/cjs/precompiles/0c-bls12-g1msm.js +62 -0
- package/dist/cjs/precompiles/0c-bls12-g1msm.js.map +1 -0
- package/dist/cjs/precompiles/0d-bls12-g2add.d.ts +4 -0
- package/dist/cjs/precompiles/0d-bls12-g2add.d.ts.map +1 -0
- package/dist/cjs/precompiles/0d-bls12-g2add.js +51 -0
- package/dist/cjs/precompiles/0d-bls12-g2add.js.map +1 -0
- package/dist/cjs/precompiles/0e-bls12-g2msm.d.ts +4 -0
- package/dist/cjs/precompiles/0e-bls12-g2msm.d.ts.map +1 -0
- package/dist/cjs/precompiles/0e-bls12-g2msm.js +60 -0
- package/dist/cjs/precompiles/0e-bls12-g2msm.js.map +1 -0
- package/dist/cjs/precompiles/0f-bls12-pairing.d.ts +4 -0
- package/dist/cjs/precompiles/0f-bls12-pairing.d.ts.map +1 -0
- package/dist/cjs/precompiles/0f-bls12-pairing.js +66 -0
- package/dist/cjs/precompiles/0f-bls12-pairing.js.map +1 -0
- package/dist/cjs/precompiles/10-bls12-map-fp-to-g1.d.ts +4 -0
- package/dist/cjs/precompiles/10-bls12-map-fp-to-g1.d.ts.map +1 -0
- package/dist/cjs/precompiles/10-bls12-map-fp-to-g1.js +44 -0
- package/dist/cjs/precompiles/10-bls12-map-fp-to-g1.js.map +1 -0
- package/dist/cjs/precompiles/100-p256verify.d.ts +4 -0
- package/dist/cjs/precompiles/100-p256verify.d.ts.map +1 -0
- package/dist/cjs/precompiles/100-p256verify.js +131 -0
- package/dist/cjs/precompiles/100-p256verify.js.map +1 -0
- package/dist/cjs/precompiles/11-bls12-map-fp2-to-g2.d.ts +4 -0
- package/dist/cjs/precompiles/11-bls12-map-fp2-to-g2.d.ts.map +1 -0
- package/dist/cjs/precompiles/11-bls12-map-fp2-to-g2.js +47 -0
- package/dist/cjs/precompiles/11-bls12-map-fp2-to-g2.js.map +1 -0
- package/dist/cjs/precompiles/bls12_381/constants.d.ts +10 -0
- package/dist/cjs/precompiles/bls12_381/constants.d.ts.map +1 -0
- package/dist/cjs/precompiles/bls12_381/constants.js +274 -0
- package/dist/cjs/precompiles/bls12_381/constants.js.map +1 -0
- package/dist/cjs/precompiles/bls12_381/index.d.ts +5 -0
- package/dist/cjs/precompiles/bls12_381/index.d.ts.map +1 -0
- package/dist/cjs/precompiles/bls12_381/index.js +24 -0
- package/dist/cjs/precompiles/bls12_381/index.js.map +1 -0
- package/dist/cjs/precompiles/bls12_381/mcl.d.ts +45 -0
- package/dist/cjs/precompiles/bls12_381/mcl.d.ts.map +1 -0
- package/dist/cjs/precompiles/bls12_381/mcl.js +264 -0
- package/dist/cjs/precompiles/bls12_381/mcl.js.map +1 -0
- package/dist/cjs/precompiles/bls12_381/noble.d.ts +39 -0
- package/dist/cjs/precompiles/bls12_381/noble.d.ts.map +1 -0
- package/dist/cjs/precompiles/bls12_381/noble.js +228 -0
- package/dist/cjs/precompiles/bls12_381/noble.js.map +1 -0
- package/dist/cjs/precompiles/bls12_381/util.d.ts +35 -0
- package/dist/cjs/precompiles/bls12_381/util.d.ts.map +1 -0
- package/dist/cjs/precompiles/bls12_381/util.js +68 -0
- package/dist/cjs/precompiles/bls12_381/util.js.map +1 -0
- package/dist/cjs/precompiles/bn254/index.d.ts +3 -0
- package/dist/cjs/precompiles/bn254/index.d.ts.map +1 -0
- package/dist/cjs/precompiles/bn254/index.js +8 -0
- package/dist/cjs/precompiles/bn254/index.js.map +1 -0
- package/dist/cjs/precompiles/bn254/noble.d.ts +13 -0
- package/dist/cjs/precompiles/bn254/noble.d.ts.map +1 -0
- package/dist/cjs/precompiles/bn254/noble.js +124 -0
- package/dist/cjs/precompiles/bn254/noble.js.map +1 -0
- package/dist/cjs/precompiles/bn254/rustbn.d.ts +16 -0
- package/dist/cjs/precompiles/bn254/rustbn.d.ts.map +1 -0
- package/dist/cjs/precompiles/bn254/rustbn.js +33 -0
- package/dist/cjs/precompiles/bn254/rustbn.js.map +1 -0
- package/dist/cjs/precompiles/index.d.ts +67 -0
- package/dist/cjs/precompiles/index.d.ts.map +1 -0
- package/dist/cjs/precompiles/index.js +262 -0
- package/dist/cjs/precompiles/index.js.map +1 -0
- package/dist/cjs/precompiles/types.d.ts +13 -0
- package/dist/cjs/precompiles/types.d.ts.map +1 -0
- package/dist/cjs/precompiles/types.js +3 -0
- package/dist/cjs/precompiles/types.js.map +1 -0
- package/dist/cjs/precompiles/util.d.ts +30 -0
- package/dist/cjs/precompiles/util.d.ts.map +1 -0
- package/dist/cjs/precompiles/util.js +63 -0
- package/dist/cjs/precompiles/util.js.map +1 -0
- package/dist/cjs/stack.d.ts +55 -0
- package/dist/cjs/stack.d.ts.map +1 -0
- package/dist/cjs/stack.js +143 -0
- package/dist/cjs/stack.js.map +1 -0
- package/dist/cjs/stemCache.d.ts +20 -0
- package/dist/cjs/stemCache.d.ts.map +1 -0
- package/dist/cjs/stemCache.js +37 -0
- package/dist/cjs/stemCache.js.map +1 -0
- package/dist/cjs/transientStorage.d.ts +54 -0
- package/dist/cjs/transientStorage.d.ts.map +1 -0
- package/dist/cjs/transientStorage.js +113 -0
- package/dist/cjs/transientStorage.js.map +1 -0
- package/dist/cjs/types.d.ts +465 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +28 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/binaryTreeAccessWitness.d.ts +61 -0
- package/dist/esm/binaryTreeAccessWitness.d.ts.map +1 -0
- package/dist/esm/binaryTreeAccessWitness.js +308 -0
- package/dist/esm/binaryTreeAccessWitness.js.map +1 -0
- package/dist/esm/chunkCache.d.ts +13 -0
- package/dist/esm/chunkCache.d.ts.map +1 -0
- package/dist/esm/chunkCache.js +26 -0
- package/dist/esm/chunkCache.js.map +1 -0
- package/dist/esm/constructors.d.ts +11 -0
- package/dist/esm/constructors.d.ts.map +1 -0
- package/dist/esm/constructors.js +27 -0
- package/dist/esm/constructors.js.map +1 -0
- package/dist/esm/eip7708.d.ts +24 -0
- package/dist/esm/eip7708.d.ts.map +1 -0
- package/dist/esm/eip7708.js +32 -0
- package/dist/esm/eip7708.js.map +1 -0
- package/dist/esm/eof/constants.d.ts +22 -0
- package/dist/esm/eof/constants.d.ts.map +1 -0
- package/dist/esm/eof/constants.js +28 -0
- package/dist/esm/eof/constants.js.map +1 -0
- package/dist/esm/eof/container.d.ts +87 -0
- package/dist/esm/eof/container.d.ts.map +1 -0
- package/dist/esm/eof/container.js +375 -0
- package/dist/esm/eof/container.js.map +1 -0
- package/dist/esm/eof/errors.d.ts +66 -0
- package/dist/esm/eof/errors.d.ts.map +1 -0
- package/dist/esm/eof/errors.js +195 -0
- package/dist/esm/eof/errors.js.map +1 -0
- package/dist/esm/eof/setup.d.ts +9 -0
- package/dist/esm/eof/setup.d.ts.map +1 -0
- package/dist/esm/eof/setup.js +23 -0
- package/dist/esm/eof/setup.js.map +1 -0
- package/dist/esm/eof/stackDelta.d.ts +10 -0
- package/dist/esm/eof/stackDelta.d.ts.map +1 -0
- package/dist/esm/eof/stackDelta.js +161 -0
- package/dist/esm/eof/stackDelta.js.map +1 -0
- package/dist/esm/eof/util.d.ts +8 -0
- package/dist/esm/eof/util.d.ts.map +1 -0
- package/dist/esm/eof/util.js +14 -0
- package/dist/esm/eof/util.js.map +1 -0
- package/dist/esm/eof/verify.d.ts +38 -0
- package/dist/esm/eof/verify.d.ts.map +1 -0
- package/dist/esm/eof/verify.js +432 -0
- package/dist/esm/eof/verify.js.map +1 -0
- package/dist/esm/errors.d.ts +40 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +39 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/evm.d.ts +181 -0
- package/dist/esm/evm.d.ts.map +1 -0
- package/dist/esm/evm.js +1131 -0
- package/dist/esm/evm.js.map +1 -0
- package/dist/esm/frameContext.d.ts +50 -0
- package/dist/esm/frameContext.d.ts.map +1 -0
- package/dist/esm/frameContext.js +14 -0
- package/dist/esm/frameContext.js.map +1 -0
- package/dist/esm/index.d.ts +18 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interpreter.d.ts +361 -0
- package/dist/esm/interpreter.d.ts.map +1 -0
- package/dist/esm/interpreter.js +1054 -0
- package/dist/esm/interpreter.js.map +1 -0
- package/dist/esm/journal.d.ts +69 -0
- package/dist/esm/journal.d.ts.map +1 -0
- package/dist/esm/journal.js +243 -0
- package/dist/esm/journal.js.map +1 -0
- package/dist/esm/logger.d.ts +38 -0
- package/dist/esm/logger.d.ts.map +1 -0
- package/dist/esm/logger.js +121 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/memory.d.ts +29 -0
- package/dist/esm/memory.d.ts.map +1 -0
- package/dist/esm/memory.js +71 -0
- package/dist/esm/memory.js.map +1 -0
- package/dist/esm/message.d.ts +70 -0
- package/dist/esm/message.d.ts.map +1 -0
- package/dist/esm/message.js +47 -0
- package/dist/esm/message.js.map +1 -0
- package/dist/esm/opcodes/EIP1283.d.ts +13 -0
- package/dist/esm/opcodes/EIP1283.d.ts.map +1 -0
- package/dist/esm/opcodes/EIP1283.js +55 -0
- package/dist/esm/opcodes/EIP1283.js.map +1 -0
- package/dist/esm/opcodes/EIP2200.d.ts +13 -0
- package/dist/esm/opcodes/EIP2200.d.ts.map +1 -0
- package/dist/esm/opcodes/EIP2200.js +61 -0
- package/dist/esm/opcodes/EIP2200.js.map +1 -0
- package/dist/esm/opcodes/EIP2929.d.ts +68 -0
- package/dist/esm/opcodes/EIP2929.d.ts.map +1 -0
- package/dist/esm/opcodes/EIP2929.js +138 -0
- package/dist/esm/opcodes/EIP2929.js.map +1 -0
- package/dist/esm/opcodes/codes.d.ts +45 -0
- package/dist/esm/opcodes/codes.d.ts.map +1 -0
- package/dist/esm/opcodes/codes.js +448 -0
- package/dist/esm/opcodes/codes.js.map +1 -0
- package/dist/esm/opcodes/functions.d.ts +11 -0
- package/dist/esm/opcodes/functions.d.ts.map +1 -0
- package/dist/esm/opcodes/functions.js +1775 -0
- package/dist/esm/opcodes/functions.js.map +1 -0
- package/dist/esm/opcodes/gas.d.ts +15 -0
- package/dist/esm/opcodes/gas.d.ts.map +1 -0
- package/dist/esm/opcodes/gas.js +1013 -0
- package/dist/esm/opcodes/gas.js.map +1 -0
- package/dist/esm/opcodes/index.d.ts +4 -0
- package/dist/esm/opcodes/index.d.ts.map +1 -0
- package/dist/esm/opcodes/index.js +4 -0
- package/dist/esm/opcodes/index.js.map +1 -0
- package/dist/esm/opcodes/util.d.ts +86 -0
- package/dist/esm/opcodes/util.d.ts.map +1 -0
- package/dist/esm/opcodes/util.js +257 -0
- package/dist/esm/opcodes/util.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/params.d.ts +3 -0
- package/dist/esm/params.d.ts.map +1 -0
- package/dist/esm/params.js +421 -0
- package/dist/esm/params.js.map +1 -0
- package/dist/esm/precompiles/01-ecrecover.d.ts +4 -0
- package/dist/esm/precompiles/01-ecrecover.d.ts.map +1 -0
- package/dist/esm/precompiles/01-ecrecover.js +55 -0
- package/dist/esm/precompiles/01-ecrecover.js.map +1 -0
- package/dist/esm/precompiles/02-sha256.d.ts +4 -0
- package/dist/esm/precompiles/02-sha256.d.ts.map +1 -0
- package/dist/esm/precompiles/02-sha256.js +24 -0
- package/dist/esm/precompiles/02-sha256.js.map +1 -0
- package/dist/esm/precompiles/03-ripemd160.d.ts +4 -0
- package/dist/esm/precompiles/03-ripemd160.d.ts.map +1 -0
- package/dist/esm/precompiles/03-ripemd160.js +23 -0
- package/dist/esm/precompiles/03-ripemd160.js.map +1 -0
- package/dist/esm/precompiles/04-identity.d.ts +4 -0
- package/dist/esm/precompiles/04-identity.d.ts.map +1 -0
- package/dist/esm/precompiles/04-identity.js +21 -0
- package/dist/esm/precompiles/04-identity.js.map +1 -0
- package/dist/esm/precompiles/05-modexp.d.ts +5 -0
- package/dist/esm/precompiles/05-modexp.d.ts.map +1 -0
- package/dist/esm/precompiles/05-modexp.js +181 -0
- package/dist/esm/precompiles/05-modexp.js.map +1 -0
- package/dist/esm/precompiles/06-bn254-add.d.ts +4 -0
- package/dist/esm/precompiles/06-bn254-add.d.ts.map +1 -0
- package/dist/esm/precompiles/06-bn254-add.js +39 -0
- package/dist/esm/precompiles/06-bn254-add.js.map +1 -0
- package/dist/esm/precompiles/07-bn254-mul.d.ts +4 -0
- package/dist/esm/precompiles/07-bn254-mul.d.ts.map +1 -0
- package/dist/esm/precompiles/07-bn254-mul.js +40 -0
- package/dist/esm/precompiles/07-bn254-mul.js.map +1 -0
- package/dist/esm/precompiles/08-bn254-pairing.d.ts +4 -0
- package/dist/esm/precompiles/08-bn254-pairing.d.ts.map +1 -0
- package/dist/esm/precompiles/08-bn254-pairing.js +42 -0
- package/dist/esm/precompiles/08-bn254-pairing.js.map +1 -0
- package/dist/esm/precompiles/09-blake2f.d.ts +5 -0
- package/dist/esm/precompiles/09-blake2f.d.ts.map +1 -0
- package/dist/esm/precompiles/09-blake2f.js +197 -0
- package/dist/esm/precompiles/09-blake2f.js.map +1 -0
- package/dist/esm/precompiles/0a-kzg-point-evaluation.d.ts +5 -0
- package/dist/esm/precompiles/0a-kzg-point-evaluation.d.ts.map +1 -0
- package/dist/esm/precompiles/0a-kzg-point-evaluation.js +64 -0
- package/dist/esm/precompiles/0a-kzg-point-evaluation.js.map +1 -0
- package/dist/esm/precompiles/0b-bls12-g1add.d.ts +4 -0
- package/dist/esm/precompiles/0b-bls12-g1add.d.ts.map +1 -0
- package/dist/esm/precompiles/0b-bls12-g1add.js +46 -0
- package/dist/esm/precompiles/0b-bls12-g1add.js.map +1 -0
- package/dist/esm/precompiles/0c-bls12-g1msm.d.ts +4 -0
- package/dist/esm/precompiles/0c-bls12-g1msm.d.ts.map +1 -0
- package/dist/esm/precompiles/0c-bls12-g1msm.js +59 -0
- package/dist/esm/precompiles/0c-bls12-g1msm.js.map +1 -0
- package/dist/esm/precompiles/0d-bls12-g2add.d.ts +4 -0
- package/dist/esm/precompiles/0d-bls12-g2add.d.ts.map +1 -0
- package/dist/esm/precompiles/0d-bls12-g2add.js +48 -0
- package/dist/esm/precompiles/0d-bls12-g2add.js.map +1 -0
- package/dist/esm/precompiles/0e-bls12-g2msm.d.ts +4 -0
- package/dist/esm/precompiles/0e-bls12-g2msm.d.ts.map +1 -0
- package/dist/esm/precompiles/0e-bls12-g2msm.js +57 -0
- package/dist/esm/precompiles/0e-bls12-g2msm.js.map +1 -0
- package/dist/esm/precompiles/0f-bls12-pairing.d.ts +4 -0
- package/dist/esm/precompiles/0f-bls12-pairing.d.ts.map +1 -0
- package/dist/esm/precompiles/0f-bls12-pairing.js +63 -0
- package/dist/esm/precompiles/0f-bls12-pairing.js.map +1 -0
- package/dist/esm/precompiles/10-bls12-map-fp-to-g1.d.ts +4 -0
- package/dist/esm/precompiles/10-bls12-map-fp-to-g1.d.ts.map +1 -0
- package/dist/esm/precompiles/10-bls12-map-fp-to-g1.js +41 -0
- package/dist/esm/precompiles/10-bls12-map-fp-to-g1.js.map +1 -0
- package/dist/esm/precompiles/100-p256verify.d.ts +4 -0
- package/dist/esm/precompiles/100-p256verify.d.ts.map +1 -0
- package/dist/esm/precompiles/100-p256verify.js +128 -0
- package/dist/esm/precompiles/100-p256verify.js.map +1 -0
- package/dist/esm/precompiles/11-bls12-map-fp2-to-g2.d.ts +4 -0
- package/dist/esm/precompiles/11-bls12-map-fp2-to-g2.d.ts.map +1 -0
- package/dist/esm/precompiles/11-bls12-map-fp2-to-g2.js +44 -0
- package/dist/esm/precompiles/11-bls12-map-fp2-to-g2.js.map +1 -0
- package/dist/esm/precompiles/bls12_381/constants.d.ts +10 -0
- package/dist/esm/precompiles/bls12_381/constants.d.ts.map +1 -0
- package/dist/esm/precompiles/bls12_381/constants.js +271 -0
- package/dist/esm/precompiles/bls12_381/constants.js.map +1 -0
- package/dist/esm/precompiles/bls12_381/index.d.ts +5 -0
- package/dist/esm/precompiles/bls12_381/index.d.ts.map +1 -0
- package/dist/esm/precompiles/bls12_381/index.js +5 -0
- package/dist/esm/precompiles/bls12_381/index.js.map +1 -0
- package/dist/esm/precompiles/bls12_381/mcl.d.ts +45 -0
- package/dist/esm/precompiles/bls12_381/mcl.d.ts.map +1 -0
- package/dist/esm/precompiles/bls12_381/mcl.js +254 -0
- package/dist/esm/precompiles/bls12_381/mcl.js.map +1 -0
- package/dist/esm/precompiles/bls12_381/noble.d.ts +39 -0
- package/dist/esm/precompiles/bls12_381/noble.d.ts.map +1 -0
- package/dist/esm/precompiles/bls12_381/noble.js +218 -0
- package/dist/esm/precompiles/bls12_381/noble.js.map +1 -0
- package/dist/esm/precompiles/bls12_381/util.d.ts +35 -0
- package/dist/esm/precompiles/bls12_381/util.d.ts.map +1 -0
- package/dist/esm/precompiles/bls12_381/util.js +63 -0
- package/dist/esm/precompiles/bls12_381/util.js.map +1 -0
- package/dist/esm/precompiles/bn254/index.d.ts +3 -0
- package/dist/esm/precompiles/bn254/index.d.ts.map +1 -0
- package/dist/esm/precompiles/bn254/index.js +3 -0
- package/dist/esm/precompiles/bn254/index.js.map +1 -0
- package/dist/esm/precompiles/bn254/noble.d.ts +13 -0
- package/dist/esm/precompiles/bn254/noble.d.ts.map +1 -0
- package/dist/esm/precompiles/bn254/noble.js +120 -0
- package/dist/esm/precompiles/bn254/noble.js.map +1 -0
- package/dist/esm/precompiles/bn254/rustbn.d.ts +16 -0
- package/dist/esm/precompiles/bn254/rustbn.d.ts.map +1 -0
- package/dist/esm/precompiles/bn254/rustbn.js +29 -0
- package/dist/esm/precompiles/bn254/rustbn.js.map +1 -0
- package/dist/esm/precompiles/index.d.ts +67 -0
- package/dist/esm/precompiles/index.d.ts.map +1 -0
- package/dist/esm/precompiles/index.js +251 -0
- package/dist/esm/precompiles/index.js.map +1 -0
- package/dist/esm/precompiles/types.d.ts +13 -0
- package/dist/esm/precompiles/types.d.ts.map +1 -0
- package/dist/esm/precompiles/types.js +2 -0
- package/dist/esm/precompiles/types.js.map +1 -0
- package/dist/esm/precompiles/util.d.ts +30 -0
- package/dist/esm/precompiles/util.d.ts.map +1 -0
- package/dist/esm/precompiles/util.js +57 -0
- package/dist/esm/precompiles/util.js.map +1 -0
- package/dist/esm/stack.d.ts +55 -0
- package/dist/esm/stack.d.ts.map +1 -0
- package/dist/esm/stack.js +139 -0
- package/dist/esm/stack.js.map +1 -0
- package/dist/esm/stemCache.d.ts +20 -0
- package/dist/esm/stemCache.d.ts.map +1 -0
- package/dist/esm/stemCache.js +33 -0
- package/dist/esm/stemCache.js.map +1 -0
- package/dist/esm/transientStorage.d.ts +54 -0
- package/dist/esm/transientStorage.d.ts.map +1 -0
- package/dist/esm/transientStorage.js +109 -0
- package/dist/esm/transientStorage.js.map +1 -0
- package/dist/esm/types.d.ts +465 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +23 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.prod.esm.tsbuildinfo +1 -0
- package/package.json +98 -0
- package/src/binaryTreeAccessWitness.ts +447 -0
- package/src/chunkCache.ts +36 -0
- package/src/constructors.ts +35 -0
- package/src/eip7708.ts +47 -0
- package/src/eof/constants.ts +36 -0
- package/src/eof/container.ts +495 -0
- package/src/eof/errors.ts +214 -0
- package/src/eof/setup.ts +27 -0
- package/src/eof/stackDelta.ts +169 -0
- package/src/eof/util.ts +16 -0
- package/src/eof/verify.ts +531 -0
- package/src/errors.ts +45 -0
- package/src/evm.ts +1415 -0
- package/src/frameContext.ts +56 -0
- package/src/index.ts +75 -0
- package/src/interpreter.ts +1437 -0
- package/src/journal.ts +317 -0
- package/src/logger.ts +180 -0
- package/src/memory.ts +82 -0
- package/src/message.ts +114 -0
- package/src/opcodes/EIP1283.ts +77 -0
- package/src/opcodes/EIP2200.ts +87 -0
- package/src/opcodes/EIP2929.ts +173 -0
- package/src/opcodes/codes.ts +528 -0
- package/src/opcodes/functions.ts +1937 -0
- package/src/opcodes/gas.ts +1329 -0
- package/src/opcodes/index.ts +3 -0
- package/src/opcodes/util.ts +313 -0
- package/src/params.ts +423 -0
- package/src/precompiles/01-ecrecover.ts +77 -0
- package/src/precompiles/02-sha256.ts +32 -0
- package/src/precompiles/03-ripemd160.ts +32 -0
- package/src/precompiles/04-identity.ts +29 -0
- package/src/precompiles/05-modexp.ts +215 -0
- package/src/precompiles/06-bn254-add.ts +49 -0
- package/src/precompiles/07-bn254-mul.ts +50 -0
- package/src/precompiles/08-bn254-pairing.ts +54 -0
- package/src/precompiles/09-blake2f.ts +243 -0
- package/src/precompiles/0a-kzg-point-evaluation.ts +94 -0
- package/src/precompiles/0b-bls12-g1add.ts +63 -0
- package/src/precompiles/0c-bls12-g1msm.ts +87 -0
- package/src/precompiles/0d-bls12-g2add.ts +66 -0
- package/src/precompiles/0e-bls12-g2msm.ts +84 -0
- package/src/precompiles/0f-bls12-pairing.ts +86 -0
- package/src/precompiles/10-bls12-map-fp-to-g1.ts +58 -0
- package/src/precompiles/100-p256verify.ts +152 -0
- package/src/precompiles/11-bls12-map-fp2-to-g2.ts +61 -0
- package/src/precompiles/bls12_381/constants.ts +278 -0
- package/src/precompiles/bls12_381/index.ts +4 -0
- package/src/precompiles/bls12_381/mcl.ts +376 -0
- package/src/precompiles/bls12_381/noble.ts +307 -0
- package/src/precompiles/bls12_381/util.ts +78 -0
- package/src/precompiles/bn254/index.ts +2 -0
- package/src/precompiles/bn254/noble.ts +156 -0
- package/src/precompiles/bn254/rustbn.ts +35 -0
- package/src/precompiles/index.ts +344 -0
- package/src/precompiles/types.ts +15 -0
- package/src/precompiles/util.ts +70 -0
- package/src/stack.ts +166 -0
- package/src/stemCache.ts +45 -0
- package/src/transientStorage.ts +131 -0
- package/src/types.ts +538 -0
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
import type { BinaryTreeAccessWitnessInterface, Common, ParamsDict, StateManagerInterface } from '@feelyourprotocol/common';
|
|
2
|
+
import type { Account, Address, BlockLevelAccessList, PrefixedHexString } from '@feelyourprotocol/util';
|
|
3
|
+
import type { EventEmitter } from 'eventemitter3';
|
|
4
|
+
import type { BinaryTreeAccessWitness } from './binaryTreeAccessWitness.ts';
|
|
5
|
+
import type { EOFContainer } from './eof/container.ts';
|
|
6
|
+
import type { EVMError } from './errors.ts';
|
|
7
|
+
import type { FrameExecutionContext } from './frameContext.ts';
|
|
8
|
+
import type { InterpreterStep, RunState } from './interpreter.ts';
|
|
9
|
+
import type { Message } from './message.ts';
|
|
10
|
+
import type { AsyncDynamicGasHandler, SyncDynamicGasHandler } from './opcodes/gas.ts';
|
|
11
|
+
import type { OpHandler } from './opcodes/index.ts';
|
|
12
|
+
import type { CustomPrecompile } from './precompiles/index.ts';
|
|
13
|
+
import type { PrecompileFunc } from './precompiles/types.ts';
|
|
14
|
+
export type DeleteOpcode = {
|
|
15
|
+
opcode: number;
|
|
16
|
+
};
|
|
17
|
+
export type AddOpcode = {
|
|
18
|
+
opcode: number;
|
|
19
|
+
opcodeName: string;
|
|
20
|
+
baseFee: number;
|
|
21
|
+
gasFunction?: AsyncDynamicGasHandler | SyncDynamicGasHandler;
|
|
22
|
+
logicFunction: OpHandler;
|
|
23
|
+
};
|
|
24
|
+
export type SelfdestructMap = Map<PrefixedHexString, PrefixedHexString>;
|
|
25
|
+
export type CustomOpcode = AddOpcode | DeleteOpcode;
|
|
26
|
+
export declare function isAddOpcode(customOpcode: CustomOpcode): customOpcode is AddOpcode;
|
|
27
|
+
/**
|
|
28
|
+
* Base options for the `EVM.runCode()` / `EVM.runCall()` method.
|
|
29
|
+
*/
|
|
30
|
+
interface EVMRunOpts {
|
|
31
|
+
/**
|
|
32
|
+
* The `block` the `tx` belongs to. If omitted a default blank block will be used.
|
|
33
|
+
*/
|
|
34
|
+
block?: Block;
|
|
35
|
+
/**
|
|
36
|
+
* The gas price for the call. Defaults to `0`
|
|
37
|
+
*/
|
|
38
|
+
gasPrice?: bigint;
|
|
39
|
+
/**
|
|
40
|
+
* The address where the call originated from. Defaults to the zero address.
|
|
41
|
+
*/
|
|
42
|
+
origin?: Address;
|
|
43
|
+
/**
|
|
44
|
+
* The address that ran this code (`msg.sender`). Defaults to the zero address.
|
|
45
|
+
*/
|
|
46
|
+
caller?: Address;
|
|
47
|
+
/**
|
|
48
|
+
* The EVM code to run.
|
|
49
|
+
*/
|
|
50
|
+
code?: Uint8Array;
|
|
51
|
+
/**
|
|
52
|
+
* The input data.
|
|
53
|
+
*/
|
|
54
|
+
data?: Uint8Array;
|
|
55
|
+
/**
|
|
56
|
+
* The gas limit for the call. Defaults to `16777215` (`0xffffff`)
|
|
57
|
+
*/
|
|
58
|
+
gasLimit?: bigint;
|
|
59
|
+
/**
|
|
60
|
+
* The value in ether that is being sent to `opts.address`. Defaults to `0`
|
|
61
|
+
*/
|
|
62
|
+
value?: bigint;
|
|
63
|
+
/**
|
|
64
|
+
* The call depth. Defaults to `0`
|
|
65
|
+
*/
|
|
66
|
+
depth?: number;
|
|
67
|
+
/**
|
|
68
|
+
* If the call should be executed statically. Defaults to false.
|
|
69
|
+
*/
|
|
70
|
+
isStatic?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Selfdestructed addresses mapped to their beneficiary. Defaults to the empty map.
|
|
73
|
+
*/
|
|
74
|
+
selfdestruct?: SelfdestructMap;
|
|
75
|
+
/**
|
|
76
|
+
* The address of the account that is executing this code (`address(this)`). Defaults to the zero address.
|
|
77
|
+
*/
|
|
78
|
+
to?: Address;
|
|
79
|
+
/**
|
|
80
|
+
* Versioned hashes for each blob in a blob transaction
|
|
81
|
+
*/
|
|
82
|
+
blobVersionedHashes?: PrefixedHexString[];
|
|
83
|
+
}
|
|
84
|
+
export interface EVMRunCodeOpts extends EVMRunOpts {
|
|
85
|
+
pc?: number;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Options for running a call (or create) operation with `EVM.runCall()`
|
|
89
|
+
*/
|
|
90
|
+
export interface EVMRunCallOpts extends EVMRunOpts {
|
|
91
|
+
/**
|
|
92
|
+
* If the code location is a precompile.
|
|
93
|
+
*/
|
|
94
|
+
isCompiled?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* An optional salt to pass to CREATE2.
|
|
97
|
+
*/
|
|
98
|
+
salt?: Uint8Array;
|
|
99
|
+
/**
|
|
100
|
+
* Created addresses in current context. Used in EIP 6780
|
|
101
|
+
*/
|
|
102
|
+
createdAddresses?: Set<PrefixedHexString>;
|
|
103
|
+
/**
|
|
104
|
+
* Skip balance checks if true. If caller balance is less than message value,
|
|
105
|
+
* sets balance to message value to ensure execution doesn't fail.
|
|
106
|
+
*/
|
|
107
|
+
skipBalance?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* If the call is a DELEGATECALL. Defaults to false.
|
|
110
|
+
*/
|
|
111
|
+
delegatecall?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Refund counter. Defaults to `0`
|
|
114
|
+
*/
|
|
115
|
+
gasRefund?: bigint;
|
|
116
|
+
/**
|
|
117
|
+
* Optionally pass in an already-built message.
|
|
118
|
+
*/
|
|
119
|
+
message?: Message;
|
|
120
|
+
accessWitness?: BinaryTreeAccessWitnessInterface;
|
|
121
|
+
}
|
|
122
|
+
interface NewContractEvent {
|
|
123
|
+
address: Address;
|
|
124
|
+
code: Uint8Array;
|
|
125
|
+
}
|
|
126
|
+
export type EVMEvent = {
|
|
127
|
+
newContract: (data: NewContractEvent, resolve?: (result?: any) => void) => void;
|
|
128
|
+
beforeMessage: (data: Message, resolve?: (result?: any) => void) => void;
|
|
129
|
+
afterMessage: (data: EVMResult, resolve?: (result?: any) => void) => void;
|
|
130
|
+
step: (data: InterpreterStep, resolve?: (result?: any) => void) => void;
|
|
131
|
+
};
|
|
132
|
+
export interface EVMInterface {
|
|
133
|
+
common: Common;
|
|
134
|
+
journal: {
|
|
135
|
+
commit(): Promise<void>;
|
|
136
|
+
revert(): Promise<void>;
|
|
137
|
+
checkpoint(): Promise<void>;
|
|
138
|
+
cleanJournal(): void;
|
|
139
|
+
cleanup(): Promise<void>;
|
|
140
|
+
putAccount(address: Address, account: Account): Promise<void>;
|
|
141
|
+
deleteAccount(address: Address): Promise<void>;
|
|
142
|
+
accessList?: Map<string, Set<string>>;
|
|
143
|
+
preimages?: Map<PrefixedHexString, Uint8Array>;
|
|
144
|
+
addAlwaysWarmAddress(address: string, addToAccessList?: boolean): void;
|
|
145
|
+
addAlwaysWarmSlot(address: string, slot: string, addToAccessList?: boolean): void;
|
|
146
|
+
startReportingAccessList(): void;
|
|
147
|
+
startReportingPreimages?(): void;
|
|
148
|
+
};
|
|
149
|
+
stateManager: StateManagerInterface;
|
|
150
|
+
precompiles: Map<string, PrecompileFunc>;
|
|
151
|
+
getPrecompile?(address: Address | PrefixedHexString): PrecompileFunc | undefined;
|
|
152
|
+
runCall(opts: EVMRunCallOpts): Promise<EVMResult>;
|
|
153
|
+
runCode(opts: EVMRunCodeOpts): Promise<ExecResult>;
|
|
154
|
+
events?: EventEmitter<EVMEvent>;
|
|
155
|
+
binaryTreeAccessWitness?: BinaryTreeAccessWitness;
|
|
156
|
+
systemBinaryTreeAccessWitness?: BinaryTreeAccessWitness;
|
|
157
|
+
blockLevelAccessList?: BlockLevelAccessList;
|
|
158
|
+
frameExecutionContext?: FrameExecutionContext;
|
|
159
|
+
}
|
|
160
|
+
export type EVMProfilerOpts = {
|
|
161
|
+
enabled: boolean;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Options for instantiating a {@link EVM}.
|
|
165
|
+
*/
|
|
166
|
+
export interface EVMOpts {
|
|
167
|
+
/**
|
|
168
|
+
* Use a {@link Common} instance for EVM instantiation.
|
|
169
|
+
*
|
|
170
|
+
* ### Supported EIPs
|
|
171
|
+
*
|
|
172
|
+
* - [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153) - Transient storage opcodes (Cancun)
|
|
173
|
+
* - [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) - Fee market change for ETH 1.0 chain
|
|
174
|
+
* - [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) - Precompile for BLS12-381 curve operations (Prague)
|
|
175
|
+
* - [EIP-2565](https://eips.ethereum.org/EIPS/eip-2565) - ModExp gas cost
|
|
176
|
+
* - [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718) - Typed Transaction Envelope
|
|
177
|
+
* - [EIP-2935](https://eips.ethereum.org/EIPS/eip-2935) - Serve historical block hashes from state (Prague)
|
|
178
|
+
* - [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929) - gas cost increases for state access opcodes
|
|
179
|
+
* - [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) - Optional access list tx type
|
|
180
|
+
* - [EIP-3074](https://eips.ethereum.org/EIPS/eip-3074) - AUTH and AUTHCALL opcodes
|
|
181
|
+
* - [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) - Base fee Opcode
|
|
182
|
+
* - [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529) - Reduction in refunds
|
|
183
|
+
* - [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) - Reject new contracts starting with the 0xEF byte
|
|
184
|
+
* - [EIP-3554](https://eips.ethereum.org/EIPS/eip-3554) - Difficulty Bomb Delay to December 2021 (only PoW networks)
|
|
185
|
+
* - [EIP-3607](https://eips.ethereum.org/EIPS/eip-3607) - Reject transactions from senders with deployed code
|
|
186
|
+
* - [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651) - Warm COINBASE (Shanghai)
|
|
187
|
+
* - [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675) - Upgrade consensus to Proof-of-Stake
|
|
188
|
+
* - [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855) - Push0 opcode (Shanghai)
|
|
189
|
+
* - [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860) - Limit and meter initcode (Shanghai)
|
|
190
|
+
* - [EIP-4345](https://eips.ethereum.org/EIPS/eip-4345) - Difficulty Bomb Delay to June 2022
|
|
191
|
+
* - [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399) - Supplant DIFFICULTY opcode with PREVRANDAO (Merge)
|
|
192
|
+
* - [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788) - Beacon block root in the EVM (Cancun)
|
|
193
|
+
* - [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) - Shard Blob Transactions (Cancun)
|
|
194
|
+
* - [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) - Beacon chain push withdrawals as operations (Shanghai)
|
|
195
|
+
* - [EIP-5133](https://eips.ethereum.org/EIPS/eip-5133) - Delaying Difficulty Bomb to mid-September 2022 (Gray Glacier)
|
|
196
|
+
* - [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656) - MCOPY - Memory copying instruction (Cancun)
|
|
197
|
+
* - [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110) - Supply validator deposits on chain (Prague)
|
|
198
|
+
* - [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780) - SELFDESTRUCT only in same transaction (Cancun)
|
|
199
|
+
* - [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) - Execution layer triggerable exits (Prague)
|
|
200
|
+
* - [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) - Increase the MAX_EFFECTIVE_BALANCE (Prague)
|
|
201
|
+
* - [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516) - BLOBBASEFEE opcode (Cancun)
|
|
202
|
+
* - [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623) - Increase calldata cost (Prague)
|
|
203
|
+
* - [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685) - General purpose execution layer requests (Prague)
|
|
204
|
+
* - [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691) - Blob throughput increase (Prague)
|
|
205
|
+
* - [EIP-7692](https://eips.ethereum.org/EIPS/eip-7692) - EVM Object Format (EOF) v1 (`experimental`)
|
|
206
|
+
* - [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) - Set EOA account code (Prague)
|
|
207
|
+
* - [EIP-7709](https://eips.ethereum.org/EIPS/eip-7709) - Read BLOCKHASH from storage and update cost (Verkle)
|
|
208
|
+
* - [EIP-7934](https://eips.ethereum.org/EIPS/eip-7934) - RLP Execution Block Size Limit
|
|
209
|
+
*
|
|
210
|
+
* *Annotations:*
|
|
211
|
+
*
|
|
212
|
+
* - `experimental`: behaviour can change on patch versions
|
|
213
|
+
*/
|
|
214
|
+
common?: Common;
|
|
215
|
+
/**
|
|
216
|
+
* Allows unlimited contract sizes while debugging. By setting this to `true`, the check for
|
|
217
|
+
* contract size limit of 24KB (see [EIP-170](https://git.io/vxZkK)) is bypassed.
|
|
218
|
+
*
|
|
219
|
+
* Default: `false` [ONLY set to `true` during debugging]
|
|
220
|
+
*/
|
|
221
|
+
allowUnlimitedContractSize?: boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Allows unlimited contract code-size init while debugging. This (partially) disables EIP-3860.
|
|
224
|
+
* Gas cost for initcode size analysis will still be charged. Use with caution.
|
|
225
|
+
*/
|
|
226
|
+
allowUnlimitedInitCodeSize?: boolean;
|
|
227
|
+
/**
|
|
228
|
+
* EVM parameters sorted by EIP can be found in the exported `paramsEVM` dictionary,
|
|
229
|
+
* which is internally passed to the associated `@feelyourprotocol/common` instance which
|
|
230
|
+
* manages parameter selection based on the hardfork and EIP settings.
|
|
231
|
+
*
|
|
232
|
+
* This option allows providing a custom set of parameters. Note that parameters
|
|
233
|
+
* get fully overwritten, so you need to extend the default parameter dict
|
|
234
|
+
* to provide the full parameter set.
|
|
235
|
+
*
|
|
236
|
+
* It is recommended to deep-clone the params object for this to avoid side effects:
|
|
237
|
+
*
|
|
238
|
+
* ```ts
|
|
239
|
+
* const params = JSON.parse(JSON.stringify(paramsEVM))
|
|
240
|
+
* params['1679']['bn254AddGas'] = 100 // 150
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
params?: ParamsDict;
|
|
244
|
+
/**
|
|
245
|
+
* Override or add custom opcodes to the EVM instruction set
|
|
246
|
+
* These custom opcodes are EIP-agnostic and are always statically added
|
|
247
|
+
* To delete an opcode, add an entry of format `{opcode: number}`. This will delete that opcode from the EVM.
|
|
248
|
+
* If this opcode is then used in the EVM, the `INVALID` opcode would instead be used.
|
|
249
|
+
* To add an opcode, add an entry of the following format:
|
|
250
|
+
* {
|
|
251
|
+
* // The opcode number which will invoke the custom opcode logic
|
|
252
|
+
* opcode: number
|
|
253
|
+
* // The name of the opcode (as seen in the `step` event)
|
|
254
|
+
* opcodeName: string
|
|
255
|
+
* // The base fee of the opcode
|
|
256
|
+
* baseFee: number
|
|
257
|
+
* // If the opcode charges dynamic gas, add this here. To charge the gas, use the `i` methods of the BN, to update the charged gas
|
|
258
|
+
* gasFunction?: function(runState: RunState, gas: BN, common: Common)
|
|
259
|
+
* // The logic of the opcode which holds the logic of changing the current state
|
|
260
|
+
* logicFunction: function(runState: RunState)
|
|
261
|
+
* }
|
|
262
|
+
* Note: gasFunction and logicFunction can both be async or synchronous functions
|
|
263
|
+
*/
|
|
264
|
+
customOpcodes?: CustomOpcode[];
|
|
265
|
+
customPrecompiles?: CustomPrecompile[];
|
|
266
|
+
/**
|
|
267
|
+
* For the EIP-2537 BLS Precompiles, the native JS `ethereum-cryptography` (`@noble/curves`)
|
|
268
|
+
* https://github.com/ethereum/js-ethereum-cryptography BLS12-381 curve implementation
|
|
269
|
+
* is used (see `noble.ts` file in the `precompiles/bls12_381/` folder).
|
|
270
|
+
*
|
|
271
|
+
* To use an alternative implementation this option can be used by passing
|
|
272
|
+
* in a wrapper implementation integrating the desired library and adhering
|
|
273
|
+
* to the `EVMBLSInterface` specification.
|
|
274
|
+
*
|
|
275
|
+
* An interface for the MCL WASM implementation https://github.com/herumi/mcl-wasm
|
|
276
|
+
* is shipped with this library which can be used as follows (with `mcl-wasm` being
|
|
277
|
+
* explicitly added to the set of dependencies):
|
|
278
|
+
*
|
|
279
|
+
* ```ts
|
|
280
|
+
* import * as mcl from 'mcl-wasm'
|
|
281
|
+
*
|
|
282
|
+
* await mcl.init(mcl.BLS12_381)
|
|
283
|
+
* const evm = await createEVM({ bls: new MCLBLS(mcl) })
|
|
284
|
+
* ```
|
|
285
|
+
*/
|
|
286
|
+
bls?: EVMBLSInterface;
|
|
287
|
+
/**
|
|
288
|
+
* For the EIP-196/EIP-197 BN254 (alt_BN128) EC precompiles, the native JS `ethereum-cryptography`
|
|
289
|
+
* (`@noble/curves`) https://github.com/ethereum/js-ethereum-cryptography BN254 curve implementation
|
|
290
|
+
* is used (see `noble.ts` file in the `precompiles/bn254/` folder).
|
|
291
|
+
*
|
|
292
|
+
* To use an alternative implementation this option can be used by passing
|
|
293
|
+
* in a wrapper implementation integrating the desired library and adhering
|
|
294
|
+
* to the `EVMBN254Interface` specification.
|
|
295
|
+
*
|
|
296
|
+
* An interface for a WASM wrapper https://github.com/ethereumjs/rustbn.js around the
|
|
297
|
+
* Parity fork of the Zcash bn pairing cryptography library is shipped with this library
|
|
298
|
+
* which can be used as follows (with `rustbn.js` being explicitly added to the set of
|
|
299
|
+
* dependencies):
|
|
300
|
+
*
|
|
301
|
+
* ```ts
|
|
302
|
+
* import { initRustBN } from 'rustbn-wasm'
|
|
303
|
+
*
|
|
304
|
+
* const bn254 = await initRustBN()
|
|
305
|
+
* const evm = await createEVM({ bn254: new RustBN254(bn254) })
|
|
306
|
+
* ```
|
|
307
|
+
*/
|
|
308
|
+
bn254?: EVMBN254Interface;
|
|
309
|
+
stateManager?: StateManagerInterface;
|
|
310
|
+
/**
|
|
311
|
+
* The EVM comes with a basic mock blockchain interface and implementation for
|
|
312
|
+
* non-block containing use cases.
|
|
313
|
+
*
|
|
314
|
+
* For block-containing setups use the full blockchain implementation from the
|
|
315
|
+
* `@feelyourprotocol/blockchain package.
|
|
316
|
+
*/
|
|
317
|
+
blockchain?: EVMMockBlockchainInterface;
|
|
318
|
+
/**
|
|
319
|
+
*
|
|
320
|
+
*/
|
|
321
|
+
profiler?: EVMProfilerOpts;
|
|
322
|
+
/**
|
|
323
|
+
* If EIP-7928 is activated, a block-level access list can be provided here.
|
|
324
|
+
* If not provided, a new one will be created if EIP-7928 is activated
|
|
325
|
+
*/
|
|
326
|
+
blockLevelAccessList?: BlockLevelAccessList;
|
|
327
|
+
/**
|
|
328
|
+
* When running the EVM with PoA consensus, the `cliqueSigner` function from the `@feelyourprotocol/block` class
|
|
329
|
+
* must be provided along with a `BlockHeader` so that the coinbase can be correctly retrieved when the
|
|
330
|
+
* `Interpreter.getBlockCoinbase` method is called.
|
|
331
|
+
*/
|
|
332
|
+
cliqueSigner?: (header: Block['header']) => Address;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Result of executing a message via the {@link EVM}.
|
|
336
|
+
*/
|
|
337
|
+
export interface EVMResult {
|
|
338
|
+
/**
|
|
339
|
+
* Address of created account during transaction, if any
|
|
340
|
+
*/
|
|
341
|
+
createdAddress?: Address;
|
|
342
|
+
/**
|
|
343
|
+
* Contains the results from running the code, if any, as described in {@link runCode}
|
|
344
|
+
*/
|
|
345
|
+
execResult: ExecResult;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Result of executing a call via the {@link EVM}.
|
|
349
|
+
*/
|
|
350
|
+
export interface ExecResult {
|
|
351
|
+
runState?: RunState;
|
|
352
|
+
/**
|
|
353
|
+
* Description of the exception, if any occurred
|
|
354
|
+
*/
|
|
355
|
+
exceptionError?: EVMError;
|
|
356
|
+
/**
|
|
357
|
+
* Amount of gas left
|
|
358
|
+
*/
|
|
359
|
+
gas?: bigint;
|
|
360
|
+
/**
|
|
361
|
+
* Amount of gas the code used to run
|
|
362
|
+
*/
|
|
363
|
+
executionGasUsed: bigint;
|
|
364
|
+
/**
|
|
365
|
+
* Return value from the contract
|
|
366
|
+
*/
|
|
367
|
+
returnValue: Uint8Array;
|
|
368
|
+
/**
|
|
369
|
+
* Array of logs that the contract emitted
|
|
370
|
+
*/
|
|
371
|
+
logs?: Log[];
|
|
372
|
+
/**
|
|
373
|
+
* Selfdestructed accounts mapped to their beneficiary
|
|
374
|
+
*/
|
|
375
|
+
selfdestruct?: SelfdestructMap;
|
|
376
|
+
/**
|
|
377
|
+
* Map of addresses which were created (used in EIP 6780)
|
|
378
|
+
*/
|
|
379
|
+
createdAddresses?: Set<PrefixedHexString>;
|
|
380
|
+
/**
|
|
381
|
+
* The gas refund counter
|
|
382
|
+
*/
|
|
383
|
+
gasRefund?: bigint;
|
|
384
|
+
/**
|
|
385
|
+
* Amount of blob gas consumed by the transaction
|
|
386
|
+
*/
|
|
387
|
+
blobGasUsed?: bigint;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* High level wrapper for BLS libraries used
|
|
391
|
+
* for the BLS precompiles
|
|
392
|
+
*/
|
|
393
|
+
export type EVMBLSInterface = {
|
|
394
|
+
init?(): void;
|
|
395
|
+
addG1(input: Uint8Array): Uint8Array;
|
|
396
|
+
addG2(input: Uint8Array): Uint8Array;
|
|
397
|
+
mapFPtoG1(input: Uint8Array): Uint8Array;
|
|
398
|
+
mapFP2toG2(input: Uint8Array): Uint8Array;
|
|
399
|
+
msmG1(input: Uint8Array): Uint8Array;
|
|
400
|
+
msmG2(input: Uint8Array): Uint8Array;
|
|
401
|
+
pairingCheck(input: Uint8Array): Uint8Array;
|
|
402
|
+
};
|
|
403
|
+
/**
|
|
404
|
+
* High level wrapper for BN254 (alt_BN128) libraries
|
|
405
|
+
* used for the BN254 (alt_BN128) EC precompiles
|
|
406
|
+
*/
|
|
407
|
+
export type EVMBN254Interface = {
|
|
408
|
+
add: (input: Uint8Array) => Uint8Array;
|
|
409
|
+
mul: (input: Uint8Array) => Uint8Array;
|
|
410
|
+
pairing: (input: Uint8Array) => Uint8Array;
|
|
411
|
+
};
|
|
412
|
+
/**
|
|
413
|
+
* Log that the contract emits.
|
|
414
|
+
*/
|
|
415
|
+
export type Log = [address: Uint8Array, topics: Uint8Array[], data: Uint8Array];
|
|
416
|
+
export type Block = {
|
|
417
|
+
header: {
|
|
418
|
+
number: bigint;
|
|
419
|
+
coinbase: Address;
|
|
420
|
+
timestamp: bigint;
|
|
421
|
+
difficulty: bigint;
|
|
422
|
+
prevRandao: Uint8Array;
|
|
423
|
+
gasLimit: bigint;
|
|
424
|
+
baseFeePerGas?: bigint;
|
|
425
|
+
slotNumber?: bigint;
|
|
426
|
+
getBlobGasPrice(): bigint | undefined;
|
|
427
|
+
};
|
|
428
|
+
};
|
|
429
|
+
export interface TransientStorageInterface {
|
|
430
|
+
get(addr: Address, key: Uint8Array): Uint8Array;
|
|
431
|
+
put(addr: Address, key: Uint8Array, value: Uint8Array): void;
|
|
432
|
+
commit(): void;
|
|
433
|
+
checkpoint(): void;
|
|
434
|
+
revert(): void;
|
|
435
|
+
toJSON(): {
|
|
436
|
+
[address: string]: {
|
|
437
|
+
[key: string]: string;
|
|
438
|
+
};
|
|
439
|
+
};
|
|
440
|
+
clear(): void;
|
|
441
|
+
}
|
|
442
|
+
export type EVMMockBlock = {
|
|
443
|
+
hash(): Uint8Array;
|
|
444
|
+
};
|
|
445
|
+
export interface EVMMockBlockchainInterface {
|
|
446
|
+
getBlock(blockId: number): Promise<EVMMockBlock>;
|
|
447
|
+
putBlock(block: EVMMockBlock): Promise<void>;
|
|
448
|
+
shallowCopy(): EVMMockBlockchainInterface;
|
|
449
|
+
}
|
|
450
|
+
export declare class EVMMockBlockchain implements EVMMockBlockchainInterface {
|
|
451
|
+
getBlock(): Promise<{
|
|
452
|
+
hash(): Uint8Array<ArrayBuffer>;
|
|
453
|
+
}>;
|
|
454
|
+
putBlock(): Promise<void>;
|
|
455
|
+
shallowCopy(): this;
|
|
456
|
+
}
|
|
457
|
+
export type EOFEnv = {
|
|
458
|
+
container: EOFContainer;
|
|
459
|
+
eofRunState: {
|
|
460
|
+
returnStack: number[];
|
|
461
|
+
};
|
|
462
|
+
};
|
|
463
|
+
export declare const DELEGATION_7702_FLAG: Uint8Array<ArrayBuffer>;
|
|
464
|
+
export {};
|
|
465
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Typeguard
|
|
2
|
+
export function isAddOpcode(customOpcode) {
|
|
3
|
+
return ('opcode' in customOpcode &&
|
|
4
|
+
'opcodeName' in customOpcode &&
|
|
5
|
+
'baseFee' in customOpcode &&
|
|
6
|
+
'logicFunction' in customOpcode);
|
|
7
|
+
}
|
|
8
|
+
export class EVMMockBlockchain {
|
|
9
|
+
async getBlock() {
|
|
10
|
+
return {
|
|
11
|
+
hash() {
|
|
12
|
+
return new Uint8Array(32);
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
async putBlock() { }
|
|
17
|
+
shallowCopy() {
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
// EIP-7702 flag: if contract code starts with these 3 bytes, it is a 7702-delegated EOA
|
|
22
|
+
export const DELEGATION_7702_FLAG = new Uint8Array([0xef, 0x01, 0x00]);
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAmCA,YAAY;AACZ,MAAM,UAAU,WAAW,CAAC,YAA0B;IACpD,OAAO,CACL,QAAQ,IAAI,YAAY;QACxB,YAAY,IAAI,YAAY;QAC5B,SAAS,IAAI,YAAY;QACzB,eAAe,IAAI,YAAY,CAChC,CAAA;AACH,CAAC;AAudD,MAAM,OAAO,iBAAiB;IAC5B,KAAK,CAAC,QAAQ;QACZ,OAAO;YACL,IAAI;gBACF,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;YAC3B,CAAC;SACF,CAAA;IACH,CAAC;IACD,KAAK,CAAC,QAAQ,KAAI,CAAC;IACnB,WAAW;QACT,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAUD,wFAAwF;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA"}
|