Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
eefcea0c
Unverified
Commit
eefcea0c
authored
Sep 03, 2021
by
Kelvin Fichter
Committed by
Kelvin Fichter
Nov 10, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
maintenance: remove dead code in contracts
parent
dfc784e8
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
5 additions
and
1544 deletions
+5
-1544
package.json
packages/contracts/package.json
+0
-5
index.ts
packages/contracts/test/data/index.ts
+0
-2
create2.test.json
packages/contracts/test/data/json/create2.test.json
+0
-61
safety-checker.test.json
packages/contracts/test/data/json/safety-checker.test.json
+0
-1112
bridge.ts
packages/contracts/test/helpers/codec/bridge.ts
+1
-0
encoding.ts
packages/contracts/test/helpers/codec/encoding.ts
+0
-39
index.ts
packages/contracts/test/helpers/codec/index.ts
+0
-2
revert-flags.ts
packages/contracts/test/helpers/codec/revert-flags.ts
+0
-45
constants.ts
packages/contracts/test/helpers/constants.ts
+0
-44
accounts.ts
packages/contracts/test/helpers/dummy/accounts.ts
+0
-33
bytecode.ts
packages/contracts/test/helpers/dummy/bytecode.ts
+0
-7
bytes32.ts
packages/contracts/test/helpers/dummy/bytes32.ts
+0
-11
context.ts
packages/contracts/test/helpers/dummy/context.ts
+0
-20
index.ts
packages/contracts/test/helpers/dummy/index.ts
+0
-5
transactions.ts
packages/contracts/test/helpers/dummy/transactions.ts
+0
-48
gas.ts
packages/contracts/test/helpers/gas/gas.ts
+1
-2
index.ts
packages/contracts/test/helpers/index.ts
+0
-1
index.ts
packages/contracts/test/helpers/types/index.ts
+0
-1
ovm-types.ts
packages/contracts/test/helpers/types/ovm-types.ts
+0
-32
custom-deployer.ts
packages/contracts/test/helpers/utils/custom-deployer.ts
+0
-23
index.ts
packages/contracts/test/helpers/utils/index.ts
+0
-2
sol-utils.ts
packages/contracts/test/helpers/utils/sol-utils.ts
+0
-22
yarn.lock
yarn.lock
+3
-27
No files found.
packages/contracts/package.json
View file @
eefcea0c
...
@@ -60,18 +60,13 @@
...
@@ -60,18 +60,13 @@
"@openzeppelin/contracts-upgradeable"
:
"^3.3.0"
,
"@openzeppelin/contracts-upgradeable"
:
"^3.3.0"
,
"@typechain/ethers-v5"
:
"^7.0.1"
,
"@typechain/ethers-v5"
:
"^7.0.1"
,
"@typechain/hardhat"
:
"^2.3.0"
,
"@typechain/hardhat"
:
"^2.3.0"
,
"@types/buffer-xor"
:
"^2.0.0"
,
"@types/chai"
:
"^4.2.18"
,
"@types/chai"
:
"^4.2.18"
,
"@types/copyfiles"
:
"^2.4.0"
,
"@types/glob"
:
"^7.1.3"
,
"@types/lodash"
:
"^4.14.168"
,
"@types/lodash"
:
"^4.14.168"
,
"@types/mkdirp"
:
"^1.0.1"
,
"@types/mkdirp"
:
"^1.0.1"
,
"@types/mocha"
:
"^8.2.2"
,
"@types/mocha"
:
"^8.2.2"
,
"@types/yargs"
:
"^16.0.1"
,
"@typescript-eslint/eslint-plugin"
:
"^4.26.0"
,
"@typescript-eslint/eslint-plugin"
:
"^4.26.0"
,
"@typescript-eslint/parser"
:
"^4.26.0"
,
"@typescript-eslint/parser"
:
"^4.26.0"
,
"babel-eslint"
:
"^10.1.0"
,
"babel-eslint"
:
"^10.1.0"
,
"buffer-xor"
:
"^2.0.2"
,
"chai"
:
"^4.3.4"
,
"chai"
:
"^4.3.4"
,
"copyfiles"
:
"^2.3.0"
,
"copyfiles"
:
"^2.3.0"
,
"directory-tree"
:
"^2.2.7"
,
"directory-tree"
:
"^2.2.7"
,
...
...
packages/contracts/test/data/index.ts
View file @
eefcea0c
...
@@ -4,5 +4,3 @@ export { tests as Lib_Bytes32Utils_TEST_JSON } from './json/libraries/utils/Lib_
...
@@ -4,5 +4,3 @@ export { tests as Lib_Bytes32Utils_TEST_JSON } from './json/libraries/utils/Lib_
export
{
tests
as
Lib_BytesUtils_TEST_JSON
}
from
'
./json/libraries/utils/Lib_BytesUtils.test.json
'
export
{
tests
as
Lib_BytesUtils_TEST_JSON
}
from
'
./json/libraries/utils/Lib_BytesUtils.test.json
'
export
{
tests
as
Lib_MerkleTrie_TEST_JSON
}
from
'
./json/libraries/trie/Lib_MerkleTrie.test.json
'
export
{
tests
as
Lib_MerkleTrie_TEST_JSON
}
from
'
./json/libraries/trie/Lib_MerkleTrie.test.json
'
export
{
tests
as
Lib_OVMCodec_TEST_JSON
}
from
'
./json/libraries/codec/Lib_OVMCodec.test.json
'
export
{
tests
as
Lib_OVMCodec_TEST_JSON
}
from
'
./json/libraries/codec/Lib_OVMCodec.test.json
'
export
{
tests
as
CREATE2_TEST_JSON
}
from
'
./json/create2.test.json
'
export
{
tests
as
SAFETY_CHECKER_TEST_JSON
}
from
'
./json/safety-checker.test.json
'
packages/contracts/test/data/json/create2.test.json
deleted
100644 → 0
View file @
dfc784e8
{
"source"
:
"https://eips.ethereum.org/EIPS/eip-1014"
,
"notes"
:
"added additional tests with more bytecode"
,
"date"
:
"2020-01-10"
,
"tests"
:
{
"all zero values"
:
{
"address"
:
"0x0000000000000000000000000000000000000000"
,
"salt"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"init_code"
:
"0x00"
,
"result"
:
"0x4D1A2e2bB4F88F0250f26Ffff098B0b30B26BF38"
},
"non-zero address"
:
{
"address"
:
"0xdeadbeef00000000000000000000000000000000"
,
"salt"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"init_code"
:
"0x00"
,
"result"
:
"0xB928f69Bb1D91Cd65274e3c79d8986362984fDA3"
},
"non-zero address and salt"
:
{
"address"
:
"0xdeadbeef00000000000000000000000000000000"
,
"salt"
:
"0x000000000000000000000000feed000000000000000000000000000000000000"
,
"init_code"
:
"0x00"
,
"result"
:
"0xD04116cDd17beBE565EB2422F2497E06cC1C9833"
},
"non-zero init code"
:
{
"address"
:
"0x0000000000000000000000000000000000000000"
,
"salt"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"init_code"
:
"0xdeadbeef"
,
"result"
:
"0x70f2b2914A2a4b783FaEFb75f459A580616Fcb5e"
},
"non-zero address, salt, and short init code"
:
{
"address"
:
"0x00000000000000000000000000000000deadbeef"
,
"salt"
:
"0x00000000000000000000000000000000000000000000000000000000cafebabe"
,
"init_code"
:
"0xdeadbeef"
,
"result"
:
"0x60f3f640a8508fC6a86d45DF051962668E1e8AC7"
},
"non-zero address, salt, and medium init code"
:
{
"address"
:
"0x00000000000000000000000000000000deadbeef"
,
"salt"
:
"0x00000000000000000000000000000000000000000000000000000000cafebabe"
,
"init_code"
:
"0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"
,
"result"
:
"0x1d8bfDC5D46DC4f61D6b6115972536eBE6A8854C"
},
"non-zero address, salt, and long init code"
:
{
"address"
:
"0x00000000000000000000000000000000deadbeef"
,
"salt"
:
"0x00000000000000000000000000000000000000000000000000000000cafebabe"
,
"init_code"
:
"0x61309c56600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a0526366d38203600051141561013b57602060046101403734156100b457600080fd5b60043560205181106100c557600080fd5b506000610140511415600654156007541516166100e157600080fd5b33600755610140516006557f556e6973776170205631000000000000000000000000000000000000000000006000557f554e492d563100000000000000000000000000000000000000000000000000006001556012600255005b63422f104360005114156105ab5760606004610140376000341160006101605111164261018051111661016d57600080fd5b6003546101a05260006101a051111561043e576000610140511161019057600080fd5b343031101561019e57600080fd5b343031036103a0526006543b6101b357600080fd5b6006543014156101c257600080fd5b602061046060246370a082316103e05230610400526103fc6006545afa6101e857600080fd5b600050610460516103c0526103a05161020057600080fd5b6103a05134151561021257600061022f565b6103c051346103c0513402041461022857600080fd5b6103c05134025b0460016103a05161023f57600080fd5b6103a05134151561025157600061026e565b6103c051346103c0513402041461026757600080fd5b6103c05134025b0401101561027b57600080fd5b60016103a05161028a57600080fd5b6103a05134151561029c5760006102b9565b6103c051346103c051340204146102b257600080fd5b6103c05134025b0401610480526103a0516102cc57600080fd5b6103a0513415156102de5760006102fb565b6101a051346101a051340204146102f457600080fd5b6101a05134025b046104a052610140516104a0511015610480516101605110151661031e57600080fd5b60043360e05260c052604060c02080546104a051825401101561034057600080fd5b6104a0518154018155506101a0516104a0516101a05101101561036257600080fd5b6104a0516101a051016003556006543b61037b57600080fd5b60065430141561038a57600080fd5b602061058060646323b872dd6104c052336104e052306105005261048051610520526104dc60006006545af16103bf57600080fd5b600050610580516103cf57600080fd5b6104805134337f06239653922ac7bea6aa2b19dc486b9361821d37712eb796adfd38d81de278ca60006000a46104a0516105a0523360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206105a0a36104a05160005260206000f36105a9565b633b9aca003410156000600654141560006007541415161661045f57600080fd5b306007543b61046d57600080fd5b60075430141561047c57600080fd5b602061024060246306f2bf626101c0526006546101e0526101dc6007545afa6104a457600080fd5b60005061024051146104b557600080fd5b6101605161026052303161028052610280516003556102805160043360e05260c052604060c020556006543b6104ea57600080fd5b6006543014156104f957600080fd5b602061036060646323b872dd6102a052336102c052306102e05261026051610300526102bc60006006545af161052e57600080fd5b6000506103605161053e57600080fd5b6102605134337f06239653922ac7bea6aa2b19dc486b9361821d37712eb796adfd38d81de278ca60006000a461028051610380523360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610380a36102805160005260206000f35b005b63f88bf15a600051141561084a57608060046101403734156105cc57600080fd5b600061018051116000610160511116426101a051116000610140511116166105f357600080fd5b6003546101c05260006101c0511161060a57600080fd5b6006543b61061757600080fd5b60065430141561062657600080fd5b602061028060246370a0823161020052306102205261021c6006545afa61064c57600080fd5b600050610280516101e0526101c05161066457600080fd5b6101c051610140511515610679576000610699565b30316101405130316101405102041461069157600080fd5b303161014051025b046102a0526101c0516106ab57600080fd5b6101c0516101405115156106c05760006106e6565b6101e051610140516101e051610140510204146106dc57600080fd5b6101e05161014051025b046102c052610180516102c0511015610160516102a05110151661070957600080fd5b60043360e05260c052604060c020610140518154101561072857600080fd5b61014051815403815550610140516101c051101561074557600080fd5b610140516101c0510360035560006000600060006102a051336000f161076a57600080fd5b6006543b61077757600080fd5b60065430141561078657600080fd5b6020610380604463a9059cbb6102e05233610300526102c051610320526102fc60006006545af16107b657600080fd5b600050610380516107c657600080fd5b6102c0516102a051337f0fbf06c058b90cb038a618f8c2acbf6145f8b3570fd1fa56abb8f0f3f05b36e860006000a4610140516103a0526000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206103a0a360406103c0526103e06102a05181526102c0518160200152506103c0516103e0f3005b6000156109c6575b6101a05261014052610160526101805260006101805111600061016051111661087a57600080fd5b61014051151561088b5760006108ae565b6103e5610140516103e5610140510204146108a557600080fd5b6103e561014051025b6101c0526101c05115156108c35760006108e9565b610180516101c051610180516101c0510204146108df57600080fd5b610180516101c051025b6101e0526101605115156108fe576000610921565b6103e8610160516103e86101605102041461091857600080fd5b6103e861016051025b6101c051610160511515610936576000610959565b6103e8610160516103e86101605102041461095057600080fd5b6103e861016051025b01101561096557600080fd5b6101c05161016051151561097a57600061099d565b6103e8610160516103e86101605102041461099457600080fd5b6103e861016051025b0161020052610200516109af57600080fd5b610200516101e051046000526000516101a0515650005b600015610bf3575b6101a0526101405261016052610180526000610180511160006101605111166109f657600080fd5b610160511515610a07576000610a2d565b61014051610160516101405161016051020414610a2357600080fd5b6101405161016051025b1515610a3a576000610af6565b6103e8610160511515610a4e576000610a74565b61014051610160516101405161016051020414610a6a57600080fd5b6101405161016051025b6103e8610160511515610a88576000610aae565b61014051610160516101405161016051020414610aa457600080fd5b6101405161016051025b020414610aba57600080fd5b6103e8610160511515610ace576000610af4565b61014051610160516101405161016051020414610aea57600080fd5b6101405161016051025b025b6101c05261014051610180511015610b0d57600080fd5b6101405161018051031515610b23576000610b8e565b6103e561014051610180511015610b3957600080fd5b6101405161018051036103e561014051610180511015610b5857600080fd5b610140516101805103020414610b6d57600080fd5b6103e561014051610180511015610b8357600080fd5b610140516101805103025b6101e0526101e051610b9f57600080fd5b6101e0516101c0510460016101e051610bb757600080fd5b6101e0516101c05104011015610bcc57600080fd5b60016101e051610bdb57600080fd5b6101e0516101c05104016000526000516101a0515650005b600015610df4575b6101e0526101405261016052610180526101a0526101c0526000610160511160006101405111164261018051101516610c3357600080fd5b6006543b610c4057600080fd5b600654301415610c4f57600080fd5b60206102a060246370a0823161022052306102405261023c6006545afa610c7557600080fd5b6000506102a051610200526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516389f2a8716102e05261014051610300526101405130311015610cd657600080fd5b6101405130310361032052610200516103405261034051610320516103005160065801610852565b6103a0526102c0526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103a0516102c052610160516102c0511015610d5157600080fd5b6006543b610d5e57600080fd5b600654301415610d6d57600080fd5b6020610460604463a9059cbb6103c0526101c0516103e0526102c051610400526103dc60006006545af1610da057600080fd5b60005061046051610db057600080fd5b6102c051610140516101a0517fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f60006000a46102c0516000526000516101e0515650005b63f39b5b9b6000511415610e715760406004610140376101405161016051638c717a3361018052346101a052610140516101c052610160516101e0523361020052336102205261022051610200516101e0516101c0516101a05160065801610bfb565b6102805261016052610140526102805160005260206000f3005b63ad65d76d6000511415610f245760606004610140376044356020518110610e9857600080fd5b5060006101805114153061018051141516610eb257600080fd5b610140516101605161018051638c717a336101a052346101c052610140516101e0526101605161020052336102205261018051610240526102405161022051610200516101e0516101c05160065801610bfb565b6102a0526101805261016052610140526102a05160005260206000f3005b60001561116c575b6101e0526101405261016052610180526101a0526101c0526000610160511160006101405111164261018051101516610f6457600080fd5b6006543b610f7157600080fd5b600654301415610f8057600080fd5b60206102a060246370a0823161022052306102405261023c6006545afa610fa657600080fd5b6000506102a051610200526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c05163fd11c2236102e0526101405161030052610160513031101561100757600080fd5b61016051303103610320526102005161034052610340516103205161030051600658016109ce565b6103a0526102c0526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103a0516102c05260016102c051026103e0526103e05161016051101561108d57600080fd5b6103e05161016051036103c05260006103c05111156110c35760006000600060006103c0516101a0516000f16110c257600080fd5b5b6006543b6110d057600080fd5b6006543014156110df57600080fd5b60206104a0604463a9059cbb610400526101c05161042052610140516104405261041c60006006545af161111257600080fd5b6000506104a05161112257600080fd5b6101405160016102c051026101a0517fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f60006000a460016102c051026000526000516101e0515650005b636b1d4db760005114156111e95760406004610140376101405161016051632dff394e61018052610140516101a052346101c052610160516101e0523361020052336102205261022051610200516101e0516101c0516101a05160065801610f2c565b6102805261016052610140526102805160005260206000f3005b630b573638600051141561129c576060600461014037604435602051811061121057600080fd5b506000610180511415306101805114151661122a57600080fd5b610140516101605161018051632dff394e6101a052610140516101c052346101e0526101605161020052336102205261018051610240526102405161022051610200516101e0516101c05160065801610f2c565b6102a0526101805261016052610140526102a05160005260206000f3005b6000156114b3575b6101e0526101405261016052610180526101a0526101c05260006101605111600061014051111642610180511015166112dc57600080fd5b6006543b6112e957600080fd5b6006543014156112f857600080fd5b60206102a060246370a0823161022052306102405261023c6006545afa61131e57600080fd5b6000506102a051610200526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516389f2a8716102e0526101405161030052610200516103205230316103405261034051610320516103005160065801610852565b6103a0526102c0526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103a0516102c05260016102c051026103c052610160516103c05110156113ef57600080fd5b60006000600060006103c0516101c0516000f161140b57600080fd5b6006543b61141857600080fd5b60065430141561142757600080fd5b60206104a060646323b872dd6103e0526101a05161040052306104205261014051610440526103fc60006006545af161145f57600080fd5b6000506104a05161146f57600080fd5b6103c051610140516101a0517f7f4091b46c33e918a0f3aa42307641d17bb67029427a5369e54b35398423870560006000a46103c0516000526000516101e0515650005b6395e3c50b600051141561154657606060046101403734156114d457600080fd5b61014051610160516101805163fa1bb7be6101a052610140516101c052610160516101e0526101805161020052336102205233610240526102405161022051610200516101e0516101c051600658016112a4565b6102a0526101805261016052610140526102a05160005260206000f3005b637237e031600051141561160f576080600461014037341561156757600080fd5b606435602051811061157857600080fd5b5060006101a0511415306101a05114151661159257600080fd5b6101405161016051610180516101a05163fa1bb7be6101c052610140516101e0526101605161020052610180516102205233610240526101a05161026052610260516102405161022051610200516101e051600658016112a4565b6102c0526101a0526101805261016052610140526102c05160005260206000f3005b600015611813575b6101e0526101405261016052610180526101a0526101c05260006101405111426101805110151661164757600080fd5b6006543b61165457600080fd5b60065430141561166357600080fd5b60206102a060246370a0823161022052306102405261023c6006545afa61168957600080fd5b6000506102a051610200526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c05163fd11c2236102e05261014051610300526102005161032052303161034052610340516103205161030051600658016109ce565b6103a0526102c0526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103a0516102c0526102c05161016051101561174f57600080fd5b6000600060006000610140516101c0516000f161176b57600080fd5b6006543b61177857600080fd5b60065430141561178757600080fd5b602061048060646323b872dd6103c0526101a0516103e05230610400526102c051610420526103dc60006006545af16117bf57600080fd5b600050610480516117cf57600080fd5b610140516102c0516101a0517f7f4091b46c33e918a0f3aa42307641d17bb67029427a5369e54b35398423870560006000a46102c0516000526000516101e0515650005b63013efd8b60005114156118a6576060600461014037341561183457600080fd5b61014051610160516101805163984fe8f66101a052610140516101c052610160516101e0526101805161020052336102205233610240526102405161022051610200516101e0516101c05160065801611617565b6102a0526101805261016052610140526102a05160005260206000f3005b63d4e4841d600051141561196f57608060046101403734156118c757600080fd5b60643560205181106118d857600080fd5b5060006101a0511415306101a0511415166118f257600080fd5b6101405161016051610180516101a05163984fe8f66101c052610140516101e0526101605161020052610180516102205233610240526101a05161026052610260516102405161022051610200516101e05160065801611617565b6102c0526101a0526101805261016052610140526102c05160005260206000f3005b600015611c0a575b610220526101405261016052610180526101a0526101c0526101e0526102005260006101805111600061016051111660006101405111426101a051101516166119bf57600080fd5b600061020051141530610200511415166119d857600080fd5b6006543b6119e557600080fd5b6006543014156119f457600080fd5b60206102e060246370a0823161026052306102805261027c6006545afa611a1a57600080fd5b6000506102e051610240526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e051610300516389f2a871610320526101405161034052610240516103605230316103805261038051610360516103405160065801610852565b6103e052610300526102e0526102c0526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103e05161030052600161030051026104005261018051610400511015611afb57600080fd5b6006543b611b0857600080fd5b600654301415611b1757600080fd5b60206104e060646323b872dd610420526101c051610440523061046052610140516104805261043c60006006545af1611b4f57600080fd5b6000506104e051611b5f57600080fd5b610200513b611b6d57600080fd5b61020051301415611b7d57600080fd5b60206105e0606463ad65d76d6105205261016051610540526101a051610560526101e0516105805261053c61040051610200515af1611bbb57600080fd5b6000506105e0516105005261040051610140516101c0517f7f4091b46c33e918a0f3aa42307641d17bb67029427a5369e54b35398423870560006000a461050051600052600051610220515650005b63ddf7e1a76000511415611d575760a06004610140373415611c2b57600080fd5b6084356020518110611c3c57600080fd5b506007543b611c4a57600080fd5b600754301415611c5957600080fd5b602061028060246306f2bf62610200526101c0516102205261021c6007545afa611c8257600080fd5b600050610280516101e0526101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516102805163204ea33b6102a052610140516102c052610160516102e05261018051610300526101a05161032052336103405233610360526101e0516103805261038051610360516103405161032051610300516102e0516102c05160065801611977565b6103e05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103e05160005260206000f3005b63f552d91b6000511415611ec15760c06004610140373415611d7857600080fd5b6084356020518110611d8957600080fd5b5060a4356020518110611d9b57600080fd5b506007543b611da957600080fd5b600754301415611db857600080fd5b60206102a060246306f2bf62610220526101e0516102405261023c6007545afa611de157600080fd5b6000506102a051610200526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a05163204ea33b6102c052610140516102e052610160516103005261018051610320526101a0516103405233610360526101c05161038052610200516103a0526103a05161038051610360516103405161032051610300516102e05160065801611977565b610400526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526104005160005260206000f3005b6000156121d7575b610220526101405261016052610180526101a0526101c0526101e05261020052600061018051116000610140511116426101a051101516611f0957600080fd5b60006102005114153061020051141516611f2257600080fd5b610200513b611f3057600080fd5b61020051301415611f4057600080fd5b60206102e060246359e9486261026052610140516102805261027c610200515afa611f6a57600080fd5b6000506102e051610240526006543b611f8257600080fd5b600654301415611f9157600080fd5b60206103a060246370a0823161032052306103405261033c6006545afa611fb757600080fd5b6000506103a051610300526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a0516102c0516102e05161030051610320516103405161036051610380516103a0516103c05163fd11c2236103e05261024051610400526103005161042052303161044052610440516104205161040051600658016109ce565b6104a0526103c0526103a05261038052610360526103405261032052610300526102e0526102c0526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526104a0516103c052610240516101805110156103c051610160511015166120c857600080fd5b6006543b6120d557600080fd5b6006543014156120e457600080fd5b602061058060646323b872dd6104c0526101c0516104e05230610500526103c051610520526104dc60006006545af161211c57600080fd5b6000506105805161212c57600080fd5b610200513b61213a57600080fd5b6102005130141561214a57600080fd5b60206106806064630b5736386105c052610140516105e0526101a051610600526101e051610620526105dc61024051610200515af161218857600080fd5b600050610680516105a052610240516103c0516101c0517f7f4091b46c33e918a0f3aa42307641d17bb67029427a5369e54b35398423870560006000a46103c051600052600051610220515650005b63b040d54560005114156123245760a060046101403734156121f857600080fd5b608435602051811061220957600080fd5b506007543b61221757600080fd5b60075430141561222657600080fd5b602061028060246306f2bf62610200526101c0516102205261021c6007545afa61224f57600080fd5b600050610280516101e0526101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051631a7b28f26102a052610140516102c052610160516102e05261018051610300526101a05161032052336103405233610360526101e0516103805261038051610360516103405161032051610300516102e0516102c05160065801611ec9565b6103e05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103e05160005260206000f3005b63f3c0efe9600051141561248e5760c0600461014037341561234557600080fd5b608435602051811061235657600080fd5b5060a435602051811061236857600080fd5b506007543b61237657600080fd5b60075430141561238557600080fd5b60206102a060246306f2bf62610220526101e0516102405261023c6007545afa6123ae57600080fd5b6000506102a051610200526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051631a7b28f26102c052610140516102e052610160516103005261018051610320526101a0516103405233610360526101c05161038052610200516103a0526103a05161038051610360516103405161032051610300516102e05160065801611ec9565b610400526102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526104005160005260206000f3005b63b1cb43bf600051141561255b5760a060046101403734156124af57600080fd5b60843560205181106124c057600080fd5b506101405161016051610180516101a0516101c05163204ea33b6101e0526101405161020052610160516102205261018051610240526101a051610260523361028052336102a0526101c0516102c0526102c0516102a051610280516102605161024051610220516102005160065801611977565b610320526101c0526101a0526101805261016052610140526103205160005260206000f3005b63ec384a3e60005114156126555760c0600461014037341561257c57600080fd5b608435602051811061258d57600080fd5b5060a435602051811061259f57600080fd5b50306101c05114156125b057600080fd5b6101405161016051610180516101a0516101c0516101e05163204ea33b610200526101405161022052610160516102405261018051610260526101a05161028052336102a0526101c0516102c0526101e0516102e0526102e0516102c0516102a0516102805161026051610240516102205160065801611977565b610340526101e0526101c0526101a0526101805261016052610140526103405160005260206000f3005b63ea650c7d60005114156127225760a0600461014037341561267657600080fd5b608435602051811061268757600080fd5b506101405161016051610180516101a0516101c051631a7b28f26101e0526101405161020052610160516102205261018051610240526101a051610260523361028052336102a0526101c0516102c0526102c0516102a051610280516102605161024051610220516102005160065801611ec9565b610320526101c0526101a0526101805261016052610140526103205160005260206000f3005b63981a1327600051141561281c5760c0600461014037341561274357600080fd5b608435602051811061275457600080fd5b5060a435602051811061276657600080fd5b50306101c051141561277757600080fd5b6101405161016051610180516101a0516101c0516101e051631a7b28f2610200526101405161022052610160516102405261018051610260526101a05161028052336102a0526101c0516102c0526101e0516102e0526102e0516102c0516102a0516102805161026051610240516102205160065801611ec9565b610340526101e0526101c0526101a0526101805261016052610140526103405160005260206000f3005b63cd7724c36000511415612918576020600461014037341561283d57600080fd5b6000610140511161284d57600080fd5b6006543b61285a57600080fd5b60065430141561286957600080fd5b602061020060246370a0823161018052306101a05261019c6006545afa61288f57600080fd5b60005061020051610160526101405161016051610180516101a0516101c0516101e051610200516389f2a871610220526101405161024052303161026052610160516102805261028051610260516102405160065801610852565b6102e052610200526101e0526101c0526101a0526101805261016052610140526102e05160005260206000f3005b6359e948626000511415612a27576020600461014037341561293957600080fd5b6000610140511161294957600080fd5b6006543b61295657600080fd5b60065430141561296557600080fd5b602061020060246370a0823161018052306101a05261019c6006545afa61298b57600080fd5b60005061020051610160526101405161016051610180516101a0516101c0516101e051610200516102205163fd11c223610240526101405161026052303161028052610160516102a0526102a0516102805161026051600658016109ce565b6103005261022052610200526101e0526101c0526101a05261018052610160526101405261030051610220526001610220510260005260206000f3005b6395b68fe76000511415612b365760206004610140373415612a4857600080fd5b60006101405111612a5857600080fd5b6006543b612a6557600080fd5b600654301415612a7457600080fd5b602061020060246370a0823161018052306101a05261019c6006545afa612a9a57600080fd5b60005061020051610160526101405161016051610180516101a0516101c0516101e05161020051610220516389f2a871610240526101405161026052610160516102805230316102a0526102a051610280516102605160065801610852565b6103005261022052610200526101e0526101c0526101a05261018052610160526101405261030051610220526001610220510260005260206000f3005b632640f62c6000511415612c325760206004610140373415612b5757600080fd5b60006101405111612b6757600080fd5b6006543b612b7457600080fd5b600654301415612b8357600080fd5b602061020060246370a0823161018052306101a05261019c6006545afa612ba957600080fd5b60005061020051610160526101405161016051610180516101a0516101c0516101e0516102005163fd11c2236102205261014051610240526101605161026052303161028052610280516102605161024051600658016109ce565b6102e052610200526101e0526101c0526101a0526101805261016052610140526102e05160005260206000f3005b639d76ea586000511415612c58573415612c4b57600080fd5b60065460005260206000f3005b63966dae0e6000511415612c7e573415612c7157600080fd5b60075460005260206000f3005b6370a082316000511415612ccd5760206004610140373415612c9f57600080fd5b6004356020518110612cb057600080fd5b5060046101405160e05260c052604060c0205460005260206000f3005b63a9059cbb6000511415612d985760406004610140373415612cee57600080fd5b6004356020518110612cff57600080fd5b5060043360e05260c052604060c0206101605181541015612d1f57600080fd5b6101605181540381555060046101405160e05260c052604060c0208054610160518254011015612d4e57600080fd5b61016051815401815550610160516101805261014051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610180a3600160005260206000f3005b6323b872dd6000511415612eb35760606004610140373415612db957600080fd5b6004356020518110612dca57600080fd5b506024356020518110612ddc57600080fd5b5060046101405160e05260c052604060c0206101805181541015612dff57600080fd5b6101805181540381555060046101605160e05260c052604060c0208054610180518254011015612e2e57600080fd5b6101805181540181555060056101405160e05260c052604060c0203360e05260c052604060c0206101805181541015612e6657600080fd5b61018051815403815550610180516101a05261016051610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101a0a3600160005260206000f3005b63095ea7b36000511415612f485760406004610140373415612ed457600080fd5b6004356020518110612ee557600080fd5b506101605160053360e05260c052604060c0206101405160e05260c052604060c02055610160516101805261014051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610180a3600160005260206000f3005b63dd62ed3e6000511415612fb85760406004610140373415612f6957600080fd5b6004356020518110612f7a57600080fd5b506024356020518110612f8c57600080fd5b5060056101405160e05260c052604060c0206101605160e05260c052604060c0205460005260206000f3005b6306fdde036000511415612fde573415612fd157600080fd5b60005460005260206000f3005b6395d89b416000511415613004573415612ff757600080fd5b60015460005260206000f3005b63313ce567600051141561302a57341561301d57600080fd5b60025460005260206000f3005b6318160ddd600051141561305057341561304357600080fd5b60035460005260206000f3005b638c717a33610140523461016052600161018052426101a052336101c052336101e0526101e0516101c0516101a051610180516101605160065801610bfb565b610240526102405b61000461309c0361000460003961000461309c036000f3"
,
"result"
:
"0x27ff8bbb55a2b5cfd4fb7c350ed6a6a2cdbed5d9"
},
"non-zero address, salt, and very long init code"
:
{
"address"
:
"0x00000000000000000000000000000000deadbeef"
,
"salt"
:
"0x00000000000000000000000000000000000000000000000000000000cafebabe"
,
"init_code"
:
"0x60806040526016805460a060020a61ffff02191675010000000000000000000000000000000000000000001790553480156200003a57600080fd5b5060405161016080620062768339810160408181528251602080850151838601516060870151608088015160a089015160c08a015160e08b01516101008c01516101208d0151610140909d01518b8d018c5260178d527f53796e746865746978204e6574776f726b20546f6b656e0000000000000000008a8e01528b51808d01909c5260038c527f534e580000000000000000000000000000000000000000000000000000000000998c0199909952989b969a9599949893979296919590949192918c918c918460128d86818080600160a060020a03811615156200018057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a03811615156200025157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a15060048054600160a060020a038416600160a060020a0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a15050600160075560088054600160a060020a031916600160a060020a038816179055845162000333906009906020880190620003f0565b5083516200034990600a906020870190620003f0565b5050600b91909155600c805460ff191660ff909216919091179055505060148054600160a060020a0319908116600160a060020a039d8e16179091556013805482169a8d169a909a179099555050601080548816968a16969096179095556015805487169489169490941790935560128054861692881692909217909155601180548516918716919091179055601680549093169416939093179055506200049592505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200043357805160ff191683800117855562000463565b8280016001018555821562000463579182015b828111156200046357825182559160200191906001019062000446565b506200047192915062000475565b5090565b6200049291905b808211156200047157600081556001016200047c565b90565b615dd180620004a56000396000f30060806040526004361061031e5763ffffffff60e060020a60003504166306fdde03811461032357806309231602146103ad578063095ea7b3146103c75780630b887dae146103ff5780631249c58b14610417578063131b0ae71461042c5780631627540c1461044d57806316b2213f1461046e57806317c70de4146104a157806318160ddd146104b657806319db2228146104cb5780631a5c6095146104ec5780631c8aa5fa1461050757806320714f881461052857806323b872dd14610549578063295da87d14610573578063313ce5671461058b57806332608039146105b65780633278c960146105ea5780633fc6df6e146105ff5780634ffcd9df1461061457806353a47bb71461062957806356e449541461063e578063654a60ac1461065f5780636ac0bf9c1461067d5780636b4dff1f1461069e57806370a08231146106b657806372cb051f146106d757806379ba50971461073c5780638357ce3614610751578063835e119c1461077557806383d625d41461078d578063849cf588146107a55780638a290014146107c65780638da5cb5b146107de57806394524096146107f357806395d89b411461080d578063961a929c1461082257806397107d6d146108375780639cb8a26a146108585780639cbdaeb61461086d5780639f76980714610882578063a311c7c2146108a3578063a430be6c146108c4578063a461fc82146108d9578063a5fdc5de146108ee578063a8913cdb1461090f578063a9059cbb14610933578063ab3e337d14610957578063ab67aa581461098a578063ae2e933b146109f9578063af086c7e14610a0e578063b8225dec14610a23578063bc67f83214610a38578063bd32aa4414610a59578063be45fd6214610a6e578063c40dd66f14610ad7578063c58aaae614610aec578063c9df6df514610b01578063d37c4d8b14610b1b578063d67bdd2514610b3f578063dbd4a42214610b54578063dbf6334014610b69578063dd62ed3e14610b7e578063e2fdcc1714610ba5578063e90dd9e214610bba578063ec55688914610bcf578063ee52a2f314610be4578063f534375214610c02578063fe7f7bc314610c17575b600080fd5b34801561032f57600080fd5b50610338610c2c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561037257818101518382015260200161035a565b50505050905090810190601f16801561039f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103b957600080fd5b506103c5600435610cba565b005b3480156103d357600080fd5b506103eb600160a060020a0360043516602435610d79565b604080519115158252519081900360200190f35b34801561040b57600080fd5b506103c5600435610e7f565b34801561042357600080fd5b506103eb61128f565b34801561043857600080fd5b506103c5600160a060020a036004351661179c565b34801561045957600080fd5b506103c5600160a060020a0360043516611822565b34801561047a57600080fd5b5061048f600160a060020a03600435166118da565b60408051918252519081900360200190f35b3480156104ad57600080fd5b5061048f6118ec565b3480156104c257600080fd5b5061048f6118f2565b3480156104d757600080fd5b506103c5600160a060020a03600435166118f8565b3480156104f857600080fd5b5061048f6004356024356119c5565b34801561051357600080fd5b506103c5600160a060020a0360043516611b91565b34801561053457600080fd5b506103c5600160a060020a0360043516611c5e565b34801561055557600080fd5b506103eb600160a060020a0360043581169060243516604435611d8b565b34801561057f57600080fd5b506103c5600435611da4565b34801561059757600080fd5b506105a0611f89565b6040805160ff9092168252519081900360200190f35b3480156105c257600080fd5b506105ce600435611f92565b60408051600160a060020a039092168252519081900360200190f35b3480156105f657600080fd5b506103c5611fad565b34801561060b57600080fd5b506105ce61204b565b34801561062057600080fd5b506105ce61205a565b34801561063557600080fd5b506105ce612069565b34801561064a57600080fd5b506103c5600160a060020a0360043516612078565b34801561066b57600080fd5b5061048f600435602435604435612145565b34801561068957600080fd5b5061048f600160a060020a03600435166121ef565b3480156106aa57600080fd5b506103c5600435612444565b3480156106c257600080fd5b5061048f600160a060020a03600435166124a1565b3480156106e357600080fd5b506106ec612528565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610728578181015183820152602001610710565b505050509050019250505060405180910390f35b34801561074857600080fd5b506103c56125cc565b34801561075d57600080fd5b5061048f600160a060020a03600435166024356126c7565b34801561078157600080fd5b506105ce60043561270b565b34801561079957600080fd5b5061048f600435612733565b3480156107b157600080fd5b506103c5600160a060020a0360043516612a57565b3480156107d257600080fd5b506103c5600435612cc2565b3480156107ea57600080fd5b506105ce612e38565b3480156107ff57600080fd5b506103c56004351515612e47565b34801561081957600080fd5b50610338612f34565b34801561082e57600080fd5b5061048f612f8f565b34801561084357600080fd5b506103c5600160a060020a0360043516612f95565b34801561086457600080fd5b506103c561304d565b34801561087957600080fd5b506105ce6131c6565b34801561088e57600080fd5b506103c5600160a060020a03600435166131d5565b3480156108af57600080fd5b5061048f600160a060020a03600435166132a4565b3480156108d057600080fd5b506105ce6132f3565b3480156108e557600080fd5b5061048f613302565b3480156108fa57600080fd5b5061048f600160a060020a0360043516613309565b34801561091b57600080fd5b5061048f600160a060020a03600435166024356134a0565b34801561093f57600080fd5b506103eb600160a060020a0360043516602435613558565b34801561096357600080fd5b506103eb600160a060020a0360043581169060243590604435906064359060843516613567565b34801561099657600080fd5b50604080516020601f6064356004818101359283018490048402850184019095528184526103eb94600160a060020a0381358116956024803590921695604435953695608494019181908401838280828437509497506136f99650505050505050565b348015610a0557600080fd5b506105ce6137d6565b348015610a1a57600080fd5b506103c56137e5565b348015610a2f57600080fd5b506103eb6138e4565b348015610a4457600080fd5b506103c5600160a060020a03600435166138ed565b348015610a6557600080fd5b506103c5613988565b348015610a7a57600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526103eb948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750613a359650505050505050565b348015610ae357600080fd5b506105ce613b1c565b348015610af857600080fd5b506105ce613b2b565b348015610b0d57600080fd5b506103c56004351515613b3f565b348015610b2757600080fd5b5061048f600160a060020a0360043516602435613c5d565b348015610b4b57600080fd5b506105ce613e89565b348015610b6057600080fd5b506105ce613e98565b348015610b7557600080fd5b5061048f613ea7565b348015610b8a57600080fd5b5061048f600160a060020a0360043581169060243516613eae565b348015610bb157600080fd5b506105ce613f54565b348015610bc657600080fd5b506105ce613f63565b348015610bdb57600080fd5b506105ce613f72565b348015610bf057600080fd5b506103eb600435602435604435613f81565b348015610c0e57600080fd5b506103eb61416e565b348015610c2357600080fd5b506105ce614190565b6009805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610cb25780601f10610c8757610100808354040283529160200191610cb2565b820191906000526020600020905b815481529060010190602001808311610c9557829003601f168201915b505050505081565b601854600160a060020a03163314610d1c576040805160e560020a62461bcd02815260206004820152601d60248201527f4f6e6c7920676173206c696d6974206f7261636c6520616c6c6f776564000000604482015290519081900360640190fd5b60008111610d74576040805160e560020a62461bcd02815260206004820152601a60248201527f4e6565647320746f2062652067726561746572207468616e2030000000000000604482015290519081900360640190fd5b601755565b6004546000908190600160a060020a03163314801590610da45750600554600160a060020a03163314155b8015610dbb5750600654600160a060020a03163314155b15610dd35760068054600160a060020a031916331790555b50600654600854604080517fda46098c000000000000000000000000000000000000000000000000000000008152600160a060020a0393841660048201819052878516602483015260448201879052915191939092169163da46098c91606480830192600092919082900301818387803b158015610e5057600080fd5b505af1158015610e64573d6000803e3d6000fd5b50505050610e7381858561419f565b600191505b5092915050565b6004546000908190600160a060020a03163314801590610eaa5750600554600160a060020a03163314155b8015610ec15750600654600160a060020a03163314155b15610ed95760068054600160a060020a031916331790555b600054600654600160a060020a03908116911614610f2f576040805160e560020a62461bcd0281526020600482015260136024820152600080516020615d86833981519152604482015290519081900360640190fd5b6000838152600e6020526040902054600160a060020a03161515610f9d576040805160e560020a62461bcd02815260206004820152601460248201527f53796e746820646f6573206e6f74206578697374000000000000000000000000604482015290519081900360640190fd5b6000838152600e602090815260408083205481517f18160ddd0000000000000000000000000000000000000000000000000000000081529151600160a060020a03909116936318160ddd93600480850194919392918390030190829087803b15801561100857600080fd5b505af115801561101c573d6000803e3d6000fd5b505050506040513d602081101561103257600080fd5b505115611089576040805160e560020a62461bcd02815260206004820152601360248201527f53796e746820737570706c792065786973747300000000000000000000000000604482015290519081900360640190fd5b60e960020a622c2229028314156110ea576040805160e560020a62461bcd02815260206004820152601760248201527f43616e6e6f742072656d6f7665205844522073796e7468000000000000000000604482015290519081900360640190fd5b60e260020a631cd554d10283141561114c576040805160e560020a62461bcd02815260206004820152601860248201527f43616e6e6f742072656d6f766520735553442073796e74680000000000000000604482015290519081900360640190fd5b50506000818152600e6020526040812054600160a060020a0316905b600d5481101561124f5781600160a060020a0316600d8281548110151561118b57fe5b600091825260209091200154600160a060020a0316141561124757600d8054829081106111b457fe5b60009182526020909120018054600160a060020a0319169055600d805460001981019081106111df57fe5b600091825260209091200154600d8054600160a060020a03909216918390811061120557fe5b60009182526020909120018054600160a060020a031916600160a060020a0392909216919091179055600d805490611241906000198301615cfe565b5061124f565b600101611168565b50506000818152600e602081815260408084208054600160a060020a03168552600f83529084208490559390925290528054600160a060020a0319169055565b601654600090819081908190600160a060020a031615156112fa576040805160e560020a62461bcd02815260206004820152601b60248201527f52657761726473446973747269627574696f6e206e6f74207365740000000000604482015290519081900360640190fd5b601560009054906101000a9004600160a060020a0316600160a060020a031663cc5c095c6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561134d57600080fd5b505af1158015611361573d6000803e3d6000fd5b505050506040513d602081101561137757600080fd5b50519250600083116113d3576040805160e560020a62461bcd02815260206004820152601560248201527f4e6f20737570706c79206973206d696e7461626c650000000000000000000000604482015290519081900360640190fd5b601554604080517f7e7961d7000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0390921691637e7961d7916024808201926020929091908290030181600087803b15801561143a57600080fd5b505af115801561144e573d6000803e3d6000fd5b505050506040513d602081101561146457600080fd5b5050601554604080517f9bdd7ac70000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921691639bdd7ac7916004808201926020929091908290030181600087803b1580156114c657600080fd5b505af11580156114da573d6000803e3d6000fd5b505050506040513d60208110156114f057600080fd5b50519150611504838363ffffffff61430716565b6008546016546040805160e060020a6370a08231028152600160a060020a03928316600482018190529151949550919092169263b46310f692916115a691869186916370a08231916024808201926020929091908290030181600087803b15801561156e57600080fd5b505af1158015611582573d6000803e3d6000fd5b505050506040513d602081101561159857600080fd5b50519063ffffffff61431e16565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b1580156115f857600080fd5b505af115801561160c573d6000803e3d6000fd5b50506016546116289250309150600160a060020a031683614330565b601654604080517f59974e38000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a03909216916359974e389160248082019260009290919082900301818387803b15801561168e57600080fd5b505af11580156116a2573d6000803e3d6000fd5b50506008546040805160e060020a6370a0823102815233600482018190529151600160a060020a03909316945063b46310f69350909161170791879186916370a082319160248083019260209291908290030181600087803b15801561156e57600080fd5b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b15801561175957600080fd5b505af115801561176d573d6000803e3d6000fd5b5050505061177c303384614330565b600b5461178f908463ffffffff61431e16565b600b556001935050505090565b600054600160a060020a03163314611800576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020615d468339815191526044820152600080516020615d66833981519152606482015290519081900360840190fd5b60058054600160a060020a031916600160a060020a0392909216919091179055565b600054600160a060020a03163314611886576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020615d468339815191526044820152600080516020615d66833981519152606482015290519081900360840190fd5b60018054600160a060020a038316600160a060020a0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600f6020526000908152604090205481565b60025481565b600b5481565b600454600160a060020a0316331480159061191e5750600554600160a060020a03163314155b80156119355750600654600160a060020a03163314155b1561194d5760068054600160a060020a031916331790555b600054600654600160a060020a039081169116146119a3576040805160e560020a62461bcd0281526020600482015260136024820152600080516020615d86833981519152604482015290519081900360640190fd5b60108054600160a060020a031916600160a060020a0392909216919091179055565b6000806000601060009054906101000a9004600160a060020a0316600160a060020a0316630f9b49556040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611a1d57600080fd5b505af1158015611a31573d6000803e3d6000fd5b505050506040513d6020811015611a4757600080fd5b50519150600190507f7300000000000000000000000000000000000000000000000000000000000000600160f860020a031960f860020a600088901a0216148015611a9c575060e260020a631cd554d1028514155b8015611adb57507f6900000000000000000000000000000000000000000000000000000000000000600160f860020a031960f860020a600087901a0216145b80611b6d57507f6900000000000000000000000000000000000000000000000000000000000000600160f860020a031960f860020a600088901a0216148015611b2e575060e260020a631cd554d1028414155b8015611b6d57507f7300000000000000000000000000000000000000000000000000000000000000600160f860020a031960f860020a600087901a0216145b15611b76575060025b611b86828263ffffffff61443216565b92505b505092915050565b600454600160a060020a03163314801590611bb75750600554600160a060020a03163314155b8015611bce5750600654600160a060020a03163314155b15611be65760068054600160a060020a031916331790555b600054600654600160a060020a03908116911614611c3c576040805160e560020a62461bcd0281526020600482015260136024820152600080516020615d86833981519152604482015290519081900360640190fd5b60188054600160a060020a031916600160a060020a0392909216919091179055565b600054600160a060020a03163314611cc2576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020615d468339815191526044820152600080516020615d66833981519152606482015290519081900360840190fd5b600160a060020a0381161515611d22576040805160e560020a62461bcd02815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810274ffffffffffffffffffffffffffffffffffffffff00199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b60006060611d9b858585846136f9565b95945050505050565b60045460009081908190819081908190600160a060020a03163314801590611dd75750600554600160a060020a03163314155b8015611dee5750600654600160a060020a03163314155b15611e065760068054600160a060020a031916331790555b60e260020a631cd554d1029550611e27868860e960020a622c222902612145565b600654909550611e4990600160a060020a031660e960020a622c222902613c5d565b600654909450611e6290600160a060020a031687613c5d565b925060008411611ebc576040805160e560020a62461bcd02815260206004820152601260248201527f4e6f206465627420746f20666f72676976650000000000000000000000000000604482015290519081900360640190fd5b848410611ec95784611ecb565b835b9150611ed78285614460565b868310611ee45786611ee6565b825b6000878152600e60205260408082205460065482517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810186905292519495501692639dc29fac9260448084019391929182900301818387803b158015611f6057600080fd5b505af1158015611f74573d6000803e3d6000fd5b50505050611f806147be565b50505050505050565b600c5460ff1681565b600e60205260009081526040902054600160a060020a031681565b600054600160a060020a03163314612011576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020615d468339815191526044820152600080516020615d66833981519152606482015290519081900360840190fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b601654600160a060020a031681565b601354600160a060020a031681565b600154600160a060020a031681565b600454600160a060020a0316331480159061209e5750600554600160a060020a03163314155b80156120b55750600654600160a060020a03163314155b156120cd5760068054600160a060020a031916331790555b600054600654600160a060020a03908116911614612123576040805160e560020a62461bcd0281526020600482015260136024820152600080516020615d86833981519152604482015290519081900360640190fd5b60138054600160a060020a031916600160a060020a0392909216919091179055565b601354604080517f654a60ac0000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604481018490529051600092600160a060020a03169163654a60ac91606480830192602092919082900301818787803b1580156121b957600080fd5b505af11580156121cd573d6000803e3d6000fd5b505050506040513d60208110156121e357600080fd5b505190505b9392505050565b601354604080517e9919c000000000000000000000000000000000000000000000000000000000815260eb60020a620a69cb02600482018190529151600093849384939092600160a060020a0390921691629919c09160248082019260209290919082900301818887803b15801561226657600080fd5b505af115801561227a573d6000803e3d6000fd5b505050506040513d602081101561229057600080fd5b5051156122e7576040805160e560020a62461bcd02815260206004820152601960248201527f52617465207374616c65206f72206e6f7420612073796e746800000000000000604482015290519081900360640190fd5b6008546040805160e060020a6370a08231028152600160a060020a038881166004830152915191909216916370a082319160248083019260209291908290030181600087803b15801561233957600080fd5b505af115801561234d573d6000803e3d6000fd5b505050506040513d602081101561236357600080fd5b5051601454604080517fb410a034000000000000000000000000000000000000000000000000000000008152905192955061241792600160a060020a039092169163b410a034916004808201926020929091908290030181600087803b1580156123cc57600080fd5b505af11580156123e0573d6000803e3d6000fd5b505050506040513d60208110156123f657600080fd5b505161240b8760eb60020a620a69cb02613c5d565b9063ffffffff6148f116565b9150828210612429576000935061243c565b612439838363ffffffff61430716565b93505b505050919050565b60175481111561249e576040805160e560020a62461bcd02815260206004820152601560248201527f4761732070726963652061626f7665206c696d69740000000000000000000000604482015290519081900360640190fd5b50565b6008546040805160e060020a6370a08231028152600160a060020a038481166004830152915160009392909216916370a082319160248082019260209290919082900301818787803b1580156124f657600080fd5b505af115801561250a573d6000803e3d6000fd5b505050506040513d602081101561252057600080fd5b505192915050565b6060806000600d8054905060405190808252806020026020018201604052801561255c578160200160208202803883390190505b509150600090505b600d548110156125c657600f6000600d8381548110151561258157fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205482518390839081106125b457fe5b60209081029091010152600101612564565b50919050565b600154600160a060020a03163314612654576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b60008060006126d68585613c5d565b91506126e285856134a0565b90508082106126f45760009250611b89565b612704818363ffffffff61430716565b9250611b89565b600d80548290811061271957fe5b600091825260209091200154600160a060020a0316905081565b601354604080517fac82f60800000000000000000000000000000000000000000000000000000000815260048101849052905160009283928392606092849283928392600160a060020a03169163ac82f60891602480830192602092919082900301818787803b1580156127a657600080fd5b505af11580156127ba573d6000803e3d6000fd5b505050506040513d60208110156127d057600080fd5b5051601354909550600160a060020a031663babcb4236127ee612528565b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612840578181015183820152602001612828565b5050505090500192505050600060405180830381600087803b15801561286557600080fd5b505af1158015612879573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156128a257600080fd5b8101908080516401000000008111156128ba57600080fd5b820160208101848111156128cd57600080fd5b81518560208202830111640100000000821117156128ea57600080fd5b505060209091015190965094505083159050612950576040805160e560020a62461bcd02815260206004820152600f60248201527f526174657320617265207374616c650000000000000000000000000000000000604482015290519081900360640190fd5b600091505b600d54821015612a3b57612a1c848381518110151561297057fe5b90602001906020020151600d8481548110151561298957fe5b9060005260206000200160009054906101000a9004600160a060020a0316600160a060020a03166318160ddd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156129e457600080fd5b505af11580156129f8573d6000803e3d6000fd5b505050506040513d6020811015612a0e57600080fd5b50519063ffffffff61490616565b9050612a2e868263ffffffff61431e16565b9550600190910190612955565b612a4b868663ffffffff6148f116565b98975050505050505050565b600454600090600160a060020a03163314801590612a805750600554600160a060020a03163314155b8015612a975750600654600160a060020a03163314155b15612aaf5760068054600160a060020a031916331790555b600054600654600160a060020a03908116911614612b05576040805160e560020a62461bcd0281526020600482015260136024820152600080516020615d86833981519152604482015290519081900360640190fd5b81600160a060020a031663dbd06c856040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612b4357600080fd5b505af1158015612b57573d6000803e3d6000fd5b505050506040513d6020811015612b6d57600080fd5b50516000818152600e6020526040902054909150600160a060020a031615612bdf576040805160e560020a62461bcd02815260206004820152601460248201527f53796e746820616c726561647920657869737473000000000000000000000000604482015290519081900360640190fd5b600160a060020a0382166000908152600f602052604090205415612c4d576040805160e560020a62461bcd02815260206004820152601c60248201527f53796e7468206164647265737320616c72656164792065786973747300000000604482015290519081900360640190fd5b600d8054600181019091557fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5018054600160a060020a03909316600160a060020a031993841681179091556000828152600e6020908152604080832080549096168417909555918152600f9091529190912055565b600454600090600160a060020a03163314801590612ceb5750600554600160a060020a03163314155b8015612d025750600654600160a060020a03163314155b15612d1a5760068054600160a060020a031916331790555b5060065460e260020a631cd554d10290612d3d90600160a060020a0316826126c7565b821115612d94576040805160e560020a62461bcd02815260206004820152601060248201527f416d6f756e7420746f6f206c6172676500000000000000000000000000000000604482015290519081900360640190fd5b612d9e818361491b565b6000818152600e60205260408082205460065482517f867904b4000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015260248101879052925191169263867904b4926044808201939182900301818387803b158015612e1457600080fd5b505af1158015612e28573d6000803e3d6000fd5b50505050612e346147be565b5050565b600054600160a060020a031681565b600454600160a060020a03163314801590612e6d5750600554600160a060020a03163314155b8015612e845750600654600160a060020a03163314155b15612e9c5760068054600160a060020a031916331790555b600054600654600160a060020a03908116911614612ef2576040805160e560020a62461bcd0281526020600482015260136024820152600080516020615d86833981519152604482015290519081900360640190fd5b6016805491151575010000000000000000000000000000000000000000000275ff00000000000000000000000000000000000000000019909216919091179055565b600a805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610cb25780601f10610c8757610100808354040283529160200191610cb2565b60175481565b600054600160a060020a03163314612ff9576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020615d468339815191526044820152600080516020615d66833981519152606482015290519081900360840190fd5b60048054600160a060020a038316600160a060020a0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b60008054600160a060020a031633146130b2576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020615d468339815191526044820152600080516020615d66833981519152606482015290519081900360840190fd5b60035460ff16151561310e576040805160e560020a62461bcd02815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006002540110151561316e576040805160e560020a62461bcd02815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b5060035460408051600160a060020a0361010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a180600160a060020a0316ff5b600554600160a060020a031681565b600454600160a060020a031633148015906131fb5750600554600160a060020a03163314155b80156132125750600654600160a060020a03163314155b1561322a5760068054600160a060020a031916331790555b600054600654600160a060020a03908116911614613280576040805160e560020a62461bcd0281526020600482015260136024820152600080516020615d86833981519152604482015290519081900360640190fd5b60088054600160a060020a031916600160a060020a03831617905561249e81614d82565b60008060006132b284613309565b91508115156132c457600092506132ec565b6132d78460eb60020a620a69cb02613c5d565b90506132e9818363ffffffff6148f116565b92505b5050919050565b601254600160a060020a031681565b6224ea0081565b6008546040805160e060020a6370a08231028152600160a060020a0384811660048301529151600093849316916370a0823191602480830192602092919082900301818787803b15801561335c57600080fd5b505af1158015613370573d6000803e3d6000fd5b505050506040513d602081101561338657600080fd5b5051601154909150600160a060020a03161561342f576011546040805160e060020a6370a08231028152600160a060020a038681166004830152915161342c9392909216916370a08231916024808201926020929091908290030181600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b505050506040513d602081101561341d57600080fd5b5051829063ffffffff61431e16565b90505b601254600160a060020a03161561349a576012546040805160e060020a6370a08231028152600160a060020a03868116600483015291516134979392909216916370a08231916024808201926020929091908290030181600087803b1580156133f357600080fd5b90505b92915050565b6000806134bf60eb60020a620a69cb026134b986613309565b85612145565b9050613550601460009054906101000a9004600160a060020a0316600160a060020a031663b410a0346040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561351757600080fd5b505af115801561352b573d6000803e3d6000fd5b505050506040513d602081101561354157600080fd5b5051829063ffffffff614ec916565b949350505050565b60006060613550848483613a35565b600454600090600160a060020a031633148015906135905750600554600160a060020a03163314155b80156135a75750600654600160a060020a03163314155b156135bf5760068054600160a060020a031916331790555b600654600160a060020a03166000908152600f60205260409020541515613630576040805160e560020a62461bcd02815260206004820152601260248201527f4f6e6c792073796e746820616c6c6f7765640000000000000000000000000000604482015290519081900360640190fd5b84831415613688576040805160e560020a62461bcd02815260206004820152601360248201527f43616e27742062652073616d652073796e746800000000000000000000000000604482015290519081900360640190fd5b600084116136e0576040805160e560020a62461bcd02815260206004820152600b60248201527f5a65726f20616d6f756e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b6136ef86868686866000614ef5565b9695505050505050565b600454600090600160a060020a031633148015906137225750600554600160a060020a03163314155b80156137395750600654600160a060020a03163314155b156137515760068054600160a060020a031916331790555b61375a856121ef565b8311156137b1576040805160e560020a62461bcd02815260206004820152601460248201527f496e73756666696369656e742062616c616e6365000000000000000000000000604482015290519081900360640190fd5b6006546137ca90600160a060020a0316868686866154d2565b50600195945050505050565b601054600160a060020a031681565b6004546000908190600160a060020a031633148015906138105750600554600160a060020a03163314155b80156138275750600654600160a060020a03163314155b1561383f5760068054600160a060020a031916331790555b60065460e260020a631cd554d102925061386290600160a060020a0316836126c7565b905061386e828261491b565b6000828152600e60205260408082205460065482517f867904b4000000000000000000000000000000000000000000000000000000008152600160a060020a03918216600482015260248101869052925191169263867904b4926044808201939182900301818387803b158015612e1457600080fd5b60035460ff1681565b600454600160a060020a03163314806139105750600554600160a060020a031633145b1515613966576040805160e560020a62461bcd02815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b60068054600160a060020a031916600160a060020a0392909216919091179055565b600054600160a060020a031633146139ec576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020615d468339815191526044820152600080516020615d66833981519152606482015290519081900360840190fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b600454600090600160a060020a03163314801590613a5e5750600554600160a060020a03163314155b8015613a755750600654600160a060020a03163314155b15613a8d5760068054600160a060020a031916331790555b600654613aa290600160a060020a03166121ef565b831115613af9576040805160e560020a62461bcd02815260206004820152601460248201527f496e73756666696369656e742062616c616e6365000000000000000000000000604482015290519081900360640190fd5b600654613b1190600160a060020a03168585856155e2565b506001949350505050565b601554600160a060020a031681565b6003546101009004600160a060020a031681565b601360009054906101000a9004600160a060020a0316600160a060020a0316637dc0d1d06040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015613b9257600080fd5b505af1158015613ba6573d6000803e3d6000fd5b505050506040513d6020811015613bbc57600080fd5b5051600160a060020a03163314613c1d576040805160e560020a62461bcd02815260206004820152601360248201527f4f6e6c79206f7261636c6520616c6c6f77656400000000000000000000000000604482015290519081900360640190fd5b60168054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b601454604080517f8b3f8088000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528251600094859485948594859485949190911692638b3f8088926024808201939182900301818787803b158015613ccd57600080fd5b505af1158015613ce1573d6000803e3d6000fd5b505050506040513d6040811015613cf757600080fd5b5080516020909101519095509350841515613d155760009550613e7e565b601454604080517f08d95cd5000000000000000000000000000000000000000000000000000000008152600481018790529051613e56928892613e4a92600160a060020a03909216916308d95cd5916024808201926020929091908290030181600087803b158015613d8657600080fd5b505af1158015613d9a573d6000803e3d6000fd5b505050506040513d6020811015613db057600080fd5b5051601454604080517f463177120000000000000000000000000000000000000000000000000000000081529051600160a060020a03909216916346317712916004808201926020929091908290030181600087803b158015613e1257600080fd5b505af1158015613e26573d6000803e3d6000fd5b505050506040513d6020811015613e3c57600080fd5b50519063ffffffff6155f016565b9063ffffffff61560916565b9250613e6187612733565b9150613e7083613e4a84615622565b9050613e7b81615638565b95505b505050505092915050565b600654600160a060020a031681565b601454600160a060020a031681565b600d545b90565b600854604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015284811660248301529151600093929092169163dd62ed3e9160448082019260209290919082900301818787803b158015613f2157600080fd5b505af1158015613f35573d6000803e3d6000fd5b505050506040513d6020811015613f4b57600080fd5b50519392505050565b601154600160a060020a031681565b600854600160a060020a031681565b600454600160a060020a031681565b600454600090600160a060020a03163314801590613faa5750600554600160a060020a03163314155b8015613fc15750600654600160a060020a03163314155b15613fd95760068054600160a060020a031916331790555b83821415614031576040805160e560020a62461bcd02815260206004820152601960248201527f4d7573742075736520646966666572656e742073796e74687300000000000000604482015290519081900360640190fd5b60008311614089576040805160e560020a62461bcd02815260206004820152600b60248201527f5a65726f20616d6f756e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b6140923a612444565b60165474010000000000000000000000000000000000000000900460ff161561414c576000848152600e60205260408082205460065482517f9dc29fac000000000000000000000000000000000000000000000000000000008152600160a060020a039182166004820152602481018890529251911692639dc29fac926044808201939182900301818387803b15801561412b57600080fd5b505af115801561413f573d6000803e3d6000fd5b50505050600190506121e8565b60065461416790600160a060020a0316858585836001614ef5565b90506121e8565b6016547501000000000000000000000000000000000000000000900460ff1681565b601854600160a060020a031681565b600480546040805160208082018690528251808303820181528284018085527f417070726f76616c28616464726573732c616464726573732c75696e7432353690527f29000000000000000000000000000000000000000000000000000000000000006060840152925191829003606101822060e060020a63907dff9702835260036024840181905260448401829052600160a060020a038a8116606486018190528a821660848701819052600060a4880181905260c09a88019a8b52885160c48901528851939099169963907dff97999497959692959194939092839260e40191908a0190808383885b838110156142a257818101518382015260200161428a565b50505050905090810190601f1680156142cf5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156142f357600080fd5b505af1158015611f80573d6000803e3d6000fd5b6000808383111561431757600080fd5b5050900390565b6000828201838110156121e857600080fd5b600480546040805160208082018690528251808303820181528284018085527f5472616e7366657228616464726573732c616464726573732c75696e7432353690527f29000000000000000000000000000000000000000000000000000000000000006060840152925191829003606101822060e060020a63907dff9702835260036024840181905260448401829052600160a060020a038a8116606486018190528a821660848701819052600060a4880181905260c09a88019a8b52885160c48901528851939099169963907dff97999497959692959194939092839260e40191908a019080838388838110156142a257818101518382015260200161428a565b6000808315156144455760009150610e78565b5082820282848281151561445557fe5b04146121e857600080fd5b816000808080808061447a60e960020a622c222902612733565b955061448c868863ffffffff61430716565b945060009350600085111561450f576144ab878663ffffffff6155f016565b925061450c837384d626b2bb4d0f064067e4bf80fce7055d8f3e7b63d5e5e6e66040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156144f857600080fd5b505af4158015611582573d6000803e3d6000fd5b93505b8787141561460e57601454600654604080517fa764eb45000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526000602482018190529151929093169263a764eb45926044808301939282900301818387803b15801561458657600080fd5b505af115801561459a573d6000803e3d6000fd5b50505050601460009054906101000a9004600160a060020a0316600160a060020a031663ba08f2996040518163ffffffff1660e060020a028152600401600060405180830381600087803b1580156145f157600080fd5b505af1158015614605573d6000803e3d6000fd5b505050506146bc565b61461e888863ffffffff61430716565b9150614630828663ffffffff6155f016565b601454600654604080517fa764eb45000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101859052905193945091169163a764eb459160448082019260009290919082900301818387803b1580156146a357600080fd5b505af11580156146b7573d6000803e3d6000fd5b505050505b601454604080517f463177120000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921691633d31e97b9161476291889185916346317712916004808201926020929091908290030181600087803b15801561472a57600080fd5b505af115801561473e573d6000803e3d6000fd5b505050506040513d602081101561475457600080fd5b50519063ffffffff61560916565b6040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b15801561479b57600080fd5b505af11580156147af573d6000803e3d6000fd5b50505050505050505050505050565b601454600654604080517f8b3f8088000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152815160009485941692638b3f8088926024808201939182900301818787803b15801561482657600080fd5b505af115801561483a573d6000803e3d6000fd5b505050506040513d604081101561485057600080fd5b508051602090910151601054600654604080517f86645274000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101869052604481018590529051949650929450169163866452749160648082019260009290919082900301818387803b1580156148d557600080fd5b505af11580156148e9573d6000803e3d6000fd5b505050505050565b60006121e88383670de0b6b3a764000061565a565b60006121e88383670de0b6b3a764000061569e565b600080600080600080614938888860e960020a622c222902612145565b955061494c60e960020a622c222902612733565b945061495e868663ffffffff61431e16565b9350614970868563ffffffff6155f016565b92506149f5837384d626b2bb4d0f064067e4bf80fce7055d8f3e7b63d5e5e6e66040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156149bd57600080fd5b505af41580156149d1573d6000803e3d6000fd5b505050506040513d60208110156149e757600080fd5b50519063ffffffff61430716565b600654909250614a1790600160a060020a031660e960020a622c222902613c5d565b90506000811115614a4557614a4284614a36888463ffffffff61431e16565b9063ffffffff6155f016565b92505b801515614ab857601460009054906101000a9004600160a060020a0316600160a060020a0316631bfba5956040518163ffffffff1660e060020a028152600401600060405180830381600087803b158015614a9f57600080fd5b505af1158015614ab3573d6000803e3d6000fd5b505050505b601454600654604080517fa764eb45000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018790529051919092169163a764eb4591604480830192600092919082900301818387803b158015614b2957600080fd5b505af1158015614b3d573d6000803e3d6000fd5b505050506000601460009054906101000a9004600160a060020a0316600160a060020a031663cd92eba96040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614b9657600080fd5b505af1158015614baa573d6000803e3d6000fd5b505050506040513d6020811015614bc057600080fd5b50511115614c8c57601454604080517f463177120000000000000000000000000000000000000000000000000000000081529051600160a060020a0390921691633d31e97b91614c3691869185916346317712916004808201926020929091908290030181600087803b15801561472a57600080fd5b6040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b158015614c6f57600080fd5b505af1158015614c83573d6000803e3d6000fd5b50505050614d78565b601460009054906101000a9004600160a060020a0316600160a060020a0316633d31e97b7384d626b2bb4d0f064067e4bf80fce7055d8f3e7b63d5e5e6e66040518163ffffffff1660e060020a02815260040160206040518083038186803b158015614cf757600080fd5b505af4158015614d0b573d6000803e3d6000fd5b505050506040513d6020811015614d2157600080fd5b50516040805160e060020a63ffffffff8516028152600481019290925251602480830192600092919082900301818387803b158015614d5f57600080fd5b505af1158015614d73573d6000803e3d6000fd5b505050505b5050505050505050565b6004805460408051600160a060020a038581166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832060e060020a63907dff97028452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c0988601988952865160c48701528651949097169763907dff979791959294919384938493839260e4909201918a0190808383885b83811015614e5d578181015183820152602001614e45565b50505050905090810190601f168015614e8a5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015614eae57600080fd5b505af1158015614ec2573d6000803e3d6000fd5b5050505050565b6000670de0b6b3a7640000614ee4848463ffffffff61443216565b811515614eed57fe5b049392505050565b6000806000806000808b601060009054906101000a9004600160a060020a0316600160a060020a031663eb1edd616040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015614f5257600080fd5b505af1158015614f66573d6000803e3d6000fd5b505050506040513d6020811015614f7c57600080fd5b5051600160a060020a0382811691161415614fe1576040805160e560020a62461bcd02815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015290519081900360640190fd5b6016547501000000000000000000000000000000000000000000900460ff161515615056576040805160e560020a62461bcd02815260206004820152601660248201527f45786368616e67696e672069732064697361626c656400000000000000000000604482015290519081900360640190fd5b600e60008d6000191660001916815260200190815260200160002060009054906101000a9004600160a060020a0316600160a060020a0316639dc29fac8e8d6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b1580156150e757600080fd5b505af11580156150fb573d6000803e3d6000fd5b5050505061510a8c8c8c612145565b9550859450600093508715615195576151238c8b6119c5565b9250615180615173847384d626b2bb4d0f064067e4bf80fce7055d8f3e7b63907af6c06040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156149bd57600080fd5b879063ffffffff614ec916565b9450615192868663ffffffff61430716565b93505b60008a8152600e60205260408082205481517f867904b4000000000000000000000000000000000000000000000000000000008152600160a060020a038d81166004830152602482018a90529251929091169263867904b49260448084019382900301818387803b15801561520957600080fd5b505af115801561521d573d6000803e3d6000fd5b5050505060008411156153ee5761523e8a8560e960020a622c222902612145565b60e960020a622c2229026000908152600e60209081527f24466f25c15cd38334941647ac559e67e1ead957cc1be398ef066877266eac9254601054604080517feb1edd610000000000000000000000000000000000000000000000000000000081529051959750600160a060020a039283169563867904b495939092169363eb1edd619360048084019492938390030190829087803b1580156152e057600080fd5b505af11580156152f4573d6000803e3d6000fd5b505050506040513d602081101561530a57600080fd5b50516040805160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820186905251604480830192600092919082900301818387803b15801561535757600080fd5b505af115801561536b573d6000803e3d6000fd5b5050601054604080517f22bf55ef000000000000000000000000000000000000000000000000000000008152600481018790529051600160a060020a0390921693506322bf55ef925060248082019260009290919082900301818387803b1580156153d557600080fd5b505af11580156153e9573d6000803e3d6000fd5b505050505b600e60008b6000191660001916815260200190815260200160002060009054906101000a9004600160a060020a0316600160a060020a031663eb6ecc038e8b886040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050600060405180830381600087803b15801561549957600080fd5b505af11580156154ad573d6000803e3d6000fd5b505050506154bf8d8d8d8d898e6156cb565b5060019c9b505050505050505050505050565b600854604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152600160a060020a03878116600483015288811660248301529151600093929092169163da46098c9188918a9161556b918991879163dd62ed3e9160448082019260209290919082900301818d87803b15801561555757600080fd5b505af11580156149d1573d6000803e3d6000fd5b6040805160e060020a63ffffffff8716028152600160a060020a03948516600482015292909316602483015260448201529051606480830192600092919082900301818387803b1580156155be57600080fd5b505af11580156155d2573d6000803e3d6000fd5b505050506136ef8585858561585f565b6000611d9b8585858561585f565b60006121e883836b033b2e3c9fd0803ce800000061565a565b60006121e883836b033b2e3c9fd0803ce800000061569e565b600061349a82633b9aca0063ffffffff61443216565b60006305f5e10082046005600a82061061565057600a015b600a900492915050565b6000806156808461567487600a870263ffffffff61443216565b9063ffffffff615b3916565b90506005600a825b061061569257600a015b600a9004949350505050565b600080600a83046156b5868663ffffffff61443216565b8115156156be57fe5b0490506005600a82615688565b600480546040805160208082018a90528183018990526060820188905260808201879052600160a060020a0386811660a0808501919091528451808503909101815260c08085018087527f53796e746845786368616e676528616464726573732c627974657333322c756990527f6e743235362c627974657333322c75696e743235362c6164647265737329000060e086015294519384900360fe01842060e060020a63907dff97028552600260248601819052604486018290528e84166064870181905260006084880181905260a48801819052998701978852835160c48801528351949098169863907dff9798939791969295939490938493839260e4909101918a0190808383885b838110156157ee5781810151838201526020016157d6565b50505050905090810190601f16801561581b5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561583f57600080fd5b505af1158015615853573d6000803e3d6000fd5b50505050505050505050565b6000600160a060020a03841615156158c1576040805160e560020a62461bcd02815260206004820181905260248201527f43616e6e6f74207472616e7366657220746f2074686520302061646472657373604482015290519081900360640190fd5b600160a060020a038416301415615922576040805160e560020a62461bcd02815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686520636f6e747261637400604482015290519081900360640190fd5b600454600160a060020a0385811691161415615988576040805160e560020a62461bcd02815260206004820152601c60248201527f43616e6e6f74207472616e7366657220746f207468652070726f787900000000604482015290519081900360640190fd5b6008546040805160e060020a6370a08231028152600160a060020a0388811660048301529151919092169163b46310f69188916159eb91889186916370a08231916024808201926020929091908290030181600087803b15801561555757600080fd5b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b158015615a3d57600080fd5b505af1158015615a51573d6000803e3d6000fd5b50506008546040805160e060020a6370a08231028152600160a060020a038981166004830152915191909216935063b46310f692508791615ab891889186916370a08231916024808201926020929091908290030181600087803b15801561156e57600080fd5b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b158015615b0a57600080fd5b505af1158015615b1e573d6000803e3d6000fd5b50505050615b2d858585614330565b613b1185858585615b5c565b600080808311615b4857600080fd5b8284811515615b5357fe5b04949350505050565b6007805460010190819055833b9060009081831115615cf057620186a05a10615b8857620186a0615b8a565b5a5b915085600160a060020a0316828887876040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015615bf8578181015183820152602001615be0565b50505050905090810190601f168015615c255780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc0ee0b8a000000000000000000000000000000000000000000000000000000001781529051825192975095508594509250905080838360005b83811015615cac578181015183820152602001615c94565b50505050905090810190601f168015615cd95780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008787f1505050505b6007548114611f8057600080fd5b815481835581811115615d2257600083815260209020615d22918101908301615d27565b505050565b613eab91905b80821115615d415760008155600101615d2d565b509056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000004f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000a165627a7a7230582013db7f2ef945de98bb6e1aad7a2961ea3171379aa9c96160599d2cf65d82338f0029000000000000000000000000c011a72400e58ecd99ee497cf89e3775d4bd732f0000000000000000000000005b1b5fea1b99d83ad479df0c222f0492385381dd0000000000000000000000004b9ca5607f1ff8019c1c6a3c2f0cc8de622d5b82000000000000000000000000b64ff7a4a33acdf48d97dab0d764afd0f6176882000000000000000000000000565c9eb432f4ae9633e50e1213ab4f23d8f31f54000000000000000000000000a8cb0b163cefb21f22c72f6a7d243184bd688a5a000000000000000000000000a05e45396703babaa9c276b5e5a9b6e2c175b521000000000000000000000000b671f2210b1f6621a2607ea63e6b2dc3e2464d1f000000000000000000000000971e78e0c92392a4e39099835cf7e6ab535b2227000000000000000000000000ffa72fd80d8a84032d855bfb67036baf45949009000000000000000000000000000000000000000000813f3978f89409843fffea"
,
"result"
:
"0x4b144999650fdc87b42ed184e73918ac22d70f01"
},
"empty init code"
:
{
"address"
:
"0x0000000000000000000000000000000000000000"
,
"salt"
:
"0x0000000000000000000000000000000000000000000000000000000000000000"
,
"init_code"
:
"0x"
,
"result"
:
"0xE33C0C7F7df4809055C3ebA6c09CFe4BaF1BD9e0"
}
}
}
packages/contracts/test/data/json/safety-checker.test.json
deleted
100644 → 0
View file @
dfc784e8
{
"tests"
:
{
"single opcode blacklisted: ADDRESS"
:
{
"in"
:
"0x30"
,
"out"
:
false
},
"single opcode blacklisted: BALANCE"
:
{
"in"
:
"0x31"
,
"out"
:
false
},
"single opcode blacklisted: BLOCKHASH"
:
{
"in"
:
"0x40"
,
"out"
:
false
},
"single opcode blacklisted: CALL"
:
{
"in"
:
"0xf1"
,
"out"
:
false
},
"single opcode blacklisted: CALLCODE"
:
{
"in"
:
"0xf2"
,
"out"
:
false
},
"single opcode blacklisted: CHAINID"
:
{
"in"
:
"0x46"
,
"out"
:
false
},
"single opcode blacklisted: COINBASE"
:
{
"in"
:
"0x41"
,
"out"
:
false
},
"single opcode blacklisted: CREATE"
:
{
"in"
:
"0xf0"
,
"out"
:
false
},
"single opcode blacklisted: CREATE2"
:
{
"in"
:
"0xf5"
,
"out"
:
false
},
"single opcode blacklisted: DELEGATECALL"
:
{
"in"
:
"0xf4"
,
"out"
:
false
},
"single opcode blacklisted: DIFFICULTY"
:
{
"in"
:
"0x44"
,
"out"
:
false
},
"single opcode blacklisted: EXTCODESIZE"
:
{
"in"
:
"0x3b"
,
"out"
:
false
},
"single opcode blacklisted: EXTCODECOPY"
:
{
"in"
:
"0x3c"
,
"out"
:
false
},
"single opcode blacklisted: EXTCODEHASH"
:
{
"in"
:
"0x3f"
,
"out"
:
false
},
"single opcode blacklisted: GASLIMIT"
:
{
"in"
:
"0x45"
,
"out"
:
false
},
"single opcode blacklisted: GASPRICE"
:
{
"in"
:
"0x3a"
,
"out"
:
false
},
"single opcode blacklisted: NUMBER"
:
{
"in"
:
"0x43"
,
"out"
:
false
},
"single opcode blacklisted: ORIGIN"
:
{
"in"
:
"0x32"
,
"out"
:
false
},
"single opcode blacklisted: REVERT"
:
{
"in"
:
"0xfd"
,
"out"
:
false
},
"single opcode blacklisted: SELFBALANCE"
:
{
"in"
:
"0x47"
,
"out"
:
false
},
"single opcode blacklisted: SELFDESTRUCT"
:
{
"in"
:
"0xff"
,
"out"
:
false
},
"single opcode blacklisted: SLOAD"
:
{
"in"
:
"0x54"
,
"out"
:
false
},
"single opcode blacklisted: SSTORE"
:
{
"in"
:
"0x55"
,
"out"
:
false
},
"single opcode blacklisted: STATICCALL"
:
{
"in"
:
"0xfa"
,
"out"
:
false
},
"single opcode blacklisted: TIMESTAMP"
:
{
"in"
:
"0x42"
,
"out"
:
false
},
"single opcode whitelisted: ADD"
:
{
"in"
:
"0x01"
,
"out"
:
true
},
"single opcode whitelisted: MUL"
:
{
"in"
:
"0x02"
,
"out"
:
true
},
"single opcode whitelisted: SUB"
:
{
"in"
:
"0x03"
,
"out"
:
true
},
"single opcode whitelisted: DIV"
:
{
"in"
:
"0x04"
,
"out"
:
true
},
"single opcode whitelisted: SDIV"
:
{
"in"
:
"0x05"
,
"out"
:
true
},
"single opcode whitelisted: MOD"
:
{
"in"
:
"0x06"
,
"out"
:
true
},
"single opcode whitelisted: SMOD"
:
{
"in"
:
"0x07"
,
"out"
:
true
},
"single opcode whitelisted: ADDMOD"
:
{
"in"
:
"0x08"
,
"out"
:
true
},
"single opcode whitelisted: MULMOD"
:
{
"in"
:
"0x09"
,
"out"
:
true
},
"single opcode whitelisted: EXP"
:
{
"in"
:
"0x0a"
,
"out"
:
true
},
"single opcode whitelisted: SIGNEXTEND"
:
{
"in"
:
"0x0b"
,
"out"
:
true
},
"single opcode whitelisted: LT"
:
{
"in"
:
"0x10"
,
"out"
:
true
},
"single opcode whitelisted: GT"
:
{
"in"
:
"0x11"
,
"out"
:
true
},
"single opcode whitelisted: SLT"
:
{
"in"
:
"0x12"
,
"out"
:
true
},
"single opcode whitelisted: SGT"
:
{
"in"
:
"0x13"
,
"out"
:
true
},
"single opcode whitelisted: EQ"
:
{
"in"
:
"0x14"
,
"out"
:
true
},
"single opcode whitelisted: ISZERO"
:
{
"in"
:
"0x15"
,
"out"
:
true
},
"single opcode whitelisted: AND"
:
{
"in"
:
"0x16"
,
"out"
:
true
},
"single opcode whitelisted: OR"
:
{
"in"
:
"0x17"
,
"out"
:
true
},
"single opcode whitelisted: XOR"
:
{
"in"
:
"0x18"
,
"out"
:
true
},
"single opcode whitelisted: NOT"
:
{
"in"
:
"0x19"
,
"out"
:
true
},
"single opcode whitelisted: BYTE"
:
{
"in"
:
"0x1a"
,
"out"
:
true
},
"single opcode whitelisted: SHL"
:
{
"in"
:
"0x1b"
,
"out"
:
true
},
"single opcode whitelisted: SHR"
:
{
"in"
:
"0x1c"
,
"out"
:
true
},
"single opcode whitelisted: SAR"
:
{
"in"
:
"0x1d"
,
"out"
:
true
},
"single opcode whitelisted: SHA3"
:
{
"in"
:
"0x20"
,
"out"
:
true
},
"single opcode whitelisted: CALLVALUE"
:
{
"in"
:
"0x34"
,
"out"
:
true
},
"single opcode whitelisted: CALLDATALOAD"
:
{
"in"
:
"0x35"
,
"out"
:
true
},
"single opcode whitelisted: CALLDATASIZE"
:
{
"in"
:
"0x36"
,
"out"
:
true
},
"single opcode whitelisted: CALLDATACOPY"
:
{
"in"
:
"0x37"
,
"out"
:
true
},
"single opcode whitelisted: CODESIZE"
:
{
"in"
:
"0x38"
,
"out"
:
true
},
"single opcode whitelisted: CODECOPY"
:
{
"in"
:
"0x39"
,
"out"
:
true
},
"single opcode whitelisted: RETURNDATASIZE"
:
{
"in"
:
"0x3d"
,
"out"
:
true
},
"single opcode whitelisted: RETURNDATACOPY"
:
{
"in"
:
"0x3e"
,
"out"
:
true
},
"single opcode whitelisted: POP"
:
{
"in"
:
"0x50"
,
"out"
:
true
},
"single opcode whitelisted: MLOAD"
:
{
"in"
:
"0x51"
,
"out"
:
true
},
"single opcode whitelisted: MSTORE"
:
{
"in"
:
"0x52"
,
"out"
:
true
},
"single opcode whitelisted: MSTORE8"
:
{
"in"
:
"0x53"
,
"out"
:
true
},
"single opcode whitelisted: JUMPI"
:
{
"in"
:
"0x57"
,
"out"
:
true
},
"single opcode whitelisted: PC"
:
{
"in"
:
"0x58"
,
"out"
:
true
},
"single opcode whitelisted: MSIZE"
:
{
"in"
:
"0x59"
,
"out"
:
true
},
"single opcode whitelisted: GAS"
:
{
"in"
:
"0x5a"
,
"out"
:
true
},
"single opcode whitelisted: JUMPDEST"
:
{
"in"
:
"0x5b"
,
"out"
:
true
},
"single opcode whitelisted: DUP1"
:
{
"in"
:
"0x80"
,
"out"
:
true
},
"single opcode whitelisted: DUP2"
:
{
"in"
:
"0x81"
,
"out"
:
true
},
"single opcode whitelisted: DUP3"
:
{
"in"
:
"0x82"
,
"out"
:
true
},
"single opcode whitelisted: DUP4"
:
{
"in"
:
"0x83"
,
"out"
:
true
},
"single opcode whitelisted: DUP5"
:
{
"in"
:
"0x84"
,
"out"
:
true
},
"single opcode whitelisted: DUP6"
:
{
"in"
:
"0x85"
,
"out"
:
true
},
"single opcode whitelisted: DUP7"
:
{
"in"
:
"0x86"
,
"out"
:
true
},
"single opcode whitelisted: DUP8"
:
{
"in"
:
"0x87"
,
"out"
:
true
},
"single opcode whitelisted: DUP9"
:
{
"in"
:
"0x88"
,
"out"
:
true
},
"single opcode whitelisted: DUP10"
:
{
"in"
:
"0x89"
,
"out"
:
true
},
"single opcode whitelisted: DUP11"
:
{
"in"
:
"0x8a"
,
"out"
:
true
},
"single opcode whitelisted: DUP12"
:
{
"in"
:
"0x8b"
,
"out"
:
true
},
"single opcode whitelisted: DUP13"
:
{
"in"
:
"0x8c"
,
"out"
:
true
},
"single opcode whitelisted: DUP14"
:
{
"in"
:
"0x8d"
,
"out"
:
true
},
"single opcode whitelisted: DUP15"
:
{
"in"
:
"0x8e"
,
"out"
:
true
},
"single opcode whitelisted: DUP16"
:
{
"in"
:
"0x8f"
,
"out"
:
true
},
"single opcode whitelisted: SWAP1"
:
{
"in"
:
"0x90"
,
"out"
:
true
},
"single opcode whitelisted: SWAP2"
:
{
"in"
:
"0x91"
,
"out"
:
true
},
"single opcode whitelisted: SWAP3"
:
{
"in"
:
"0x92"
,
"out"
:
true
},
"single opcode whitelisted: SWAP4"
:
{
"in"
:
"0x93"
,
"out"
:
true
},
"single opcode whitelisted: SWAP5"
:
{
"in"
:
"0x94"
,
"out"
:
true
},
"single opcode whitelisted: SWAP6"
:
{
"in"
:
"0x95"
,
"out"
:
true
},
"single opcode whitelisted: SWAP7"
:
{
"in"
:
"0x96"
,
"out"
:
true
},
"single opcode whitelisted: SWAP8"
:
{
"in"
:
"0x97"
,
"out"
:
true
},
"single opcode whitelisted: SWAP9"
:
{
"in"
:
"0x98"
,
"out"
:
true
},
"single opcode whitelisted: SWAP10"
:
{
"in"
:
"0x99"
,
"out"
:
true
},
"single opcode whitelisted: SWAP11"
:
{
"in"
:
"0x9a"
,
"out"
:
true
},
"single opcode whitelisted: SWAP12"
:
{
"in"
:
"0x9b"
,
"out"
:
true
},
"single opcode whitelisted: SWAP13"
:
{
"in"
:
"0x9c"
,
"out"
:
true
},
"single opcode whitelisted: SWAP14"
:
{
"in"
:
"0x9d"
,
"out"
:
true
},
"single opcode whitelisted: SWAP15"
:
{
"in"
:
"0x9e"
,
"out"
:
true
},
"single opcode whitelisted: SWAP16"
:
{
"in"
:
"0x9f"
,
"out"
:
true
},
"single opcode whitelisted: LOG0"
:
{
"in"
:
"0xa0"
,
"out"
:
true
},
"single opcode whitelisted: LOG1"
:
{
"in"
:
"0xa1"
,
"out"
:
true
},
"single opcode whitelisted: LOG2"
:
{
"in"
:
"0xa2"
,
"out"
:
true
},
"single opcode whitelisted: LOG3"
:
{
"in"
:
"0xa3"
,
"out"
:
true
},
"single opcode whitelisted: LOG4"
:
{
"in"
:
"0xa4"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH1"
:
{
"in"
:
"0x6030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH2"
:
{
"in"
:
"0x613030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH3"
:
{
"in"
:
"0x62303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH4"
:
{
"in"
:
"0x6330303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH5"
:
{
"in"
:
"0x643030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH6"
:
{
"in"
:
"0x65303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH7"
:
{
"in"
:
"0x6630303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH8"
:
{
"in"
:
"0x673030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH9"
:
{
"in"
:
"0x68303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH10"
:
{
"in"
:
"0x6930303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH11"
:
{
"in"
:
"0x6a3030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH12"
:
{
"in"
:
"0x6b303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH13"
:
{
"in"
:
"0x6c30303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH14"
:
{
"in"
:
"0x6d3030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH15"
:
{
"in"
:
"0x6e303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH16"
:
{
"in"
:
"0x6f30303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH17"
:
{
"in"
:
"0x703030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH18"
:
{
"in"
:
"0x71303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH19"
:
{
"in"
:
"0x7230303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH20"
:
{
"in"
:
"0x733030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH21"
:
{
"in"
:
"0x74303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH22"
:
{
"in"
:
"0x7530303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH23"
:
{
"in"
:
"0x763030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH24"
:
{
"in"
:
"0x77303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH25"
:
{
"in"
:
"0x7830303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH26"
:
{
"in"
:
"0x793030303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH27"
:
{
"in"
:
"0x7a303030303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH28"
:
{
"in"
:
"0x7b30303030303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH29"
:
{
"in"
:
"0x7c3030303030303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH30"
:
{
"in"
:
"0x7d303030303030303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH31"
:
{
"in"
:
"0x7e30303030303030303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode whitelisted end: PUSH32"
:
{
"in"
:
"0x7f3030303030303030303030303030303030303030303030303030303030303030"
,
"out"
:
true
},
"PUSH opcode blacklisted end: PUSH1"
:
{
"in"
:
"0x603030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH2"
:
{
"in"
:
"0x61303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH3"
:
{
"in"
:
"0x6230303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH4"
:
{
"in"
:
"0x633030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH5"
:
{
"in"
:
"0x64303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH6"
:
{
"in"
:
"0x6530303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH7"
:
{
"in"
:
"0x663030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH8"
:
{
"in"
:
"0x67303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH9"
:
{
"in"
:
"0x6830303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH10"
:
{
"in"
:
"0x693030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH11"
:
{
"in"
:
"0x6a303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH12"
:
{
"in"
:
"0x6b30303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH13"
:
{
"in"
:
"0x6c3030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH14"
:
{
"in"
:
"0x6d303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH15"
:
{
"in"
:
"0x6e30303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH16"
:
{
"in"
:
"0x6f3030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH17"
:
{
"in"
:
"0x70303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH18"
:
{
"in"
:
"0x7130303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH19"
:
{
"in"
:
"0x723030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH20"
:
{
"in"
:
"0x73303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH21"
:
{
"in"
:
"0x7430303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH22"
:
{
"in"
:
"0x753030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH23"
:
{
"in"
:
"0x76303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH24"
:
{
"in"
:
"0x7730303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH25"
:
{
"in"
:
"0x783030303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH26"
:
{
"in"
:
"0x79303030303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH27"
:
{
"in"
:
"0x7a30303030303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH28"
:
{
"in"
:
"0x7b3030303030303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH29"
:
{
"in"
:
"0x7c303030303030303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH30"
:
{
"in"
:
"0x7d30303030303030303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH31"
:
{
"in"
:
"0x7e3030303030303030303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"PUSH opcode blacklisted end: PUSH32"
:
{
"in"
:
"0x7f303030303030303030303030303030303030303030303030303030303030303030"
,
"out"
:
false
},
"multiple opcodes whitelisted"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4"
,
"out"
:
true
},
"multiple opcodes blacklisted end: ADDRESS"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a430"
,
"out"
:
false
},
"multiple opcodes blacklisted end: BALANCE"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a431"
,
"out"
:
false
},
"multiple opcodes blacklisted end: BLOCKHASH"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a440"
,
"out"
:
false
},
"multiple opcodes blacklisted end: CALL"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f1"
,
"out"
:
false
},
"multiple opcodes blacklisted end: CALLCODE"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f2"
,
"out"
:
false
},
"multiple opcodes blacklisted end: CHAINID"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a446"
,
"out"
:
false
},
"multiple opcodes blacklisted end: COINBASE"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a441"
,
"out"
:
false
},
"multiple opcodes blacklisted end: CREATE"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f0"
,
"out"
:
false
},
"multiple opcodes blacklisted end: CREATE2"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f5"
,
"out"
:
false
},
"multiple opcodes blacklisted end: DELEGATECALL"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f4"
,
"out"
:
false
},
"multiple opcodes blacklisted end: DIFFICULTY"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a444"
,
"out"
:
false
},
"multiple opcodes blacklisted end: EXTCODESIZE"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a43b"
,
"out"
:
false
},
"multiple opcodes blacklisted end: EXTCODECOPY"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a43c"
,
"out"
:
false
},
"multiple opcodes blacklisted end: EXTCODEHASH"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a43f"
,
"out"
:
false
},
"multiple opcodes blacklisted end: GASLIMIT"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a445"
,
"out"
:
false
},
"multiple opcodes blacklisted end: GASPRICE"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a43a"
,
"out"
:
false
},
"multiple opcodes blacklisted end: NUMBER"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a443"
,
"out"
:
false
},
"multiple opcodes blacklisted end: ORIGIN"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a432"
,
"out"
:
false
},
"multiple opcodes blacklisted end: REVERT"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4fd"
,
"out"
:
false
},
"multiple opcodes blacklisted end: SELFBALANCE"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a447"
,
"out"
:
false
},
"multiple opcodes blacklisted end: SELFDESTRUCT"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4ff"
,
"out"
:
false
},
"multiple opcodes blacklisted end: SLOAD"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a454"
,
"out"
:
false
},
"multiple opcodes blacklisted end: SSTORE"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a455"
,
"out"
:
false
},
"multiple opcodes blacklisted end: STATICCALL"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4fa"
,
"out"
:
false
},
"multiple opcodes blacklisted end: TIMESTAMP"
:
{
"in"
:
"0x0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b60306130306230303063303030306430303030306530303030303066303030303030306730303030303030306830303030303030303069303030303030303030306a30303030303030303030306b3030303030303030303030306c303030303030303030303030306d30303030303030303030303030306e3030303030303030303030303030306f303030303030303030303030303030307030303030303030303030303030303030307130303030303030303030303030303030303072303030303030303030303030303030303030307330303030303030303030303030303030303030307430303030303030303030303030303030303030303075303030303030303030303030303030303030303030307630303030303030303030303030303030303030303030307730303030303030303030303030303030303030303030303078303030303030303030303030303030303030303030303030307930303030303030303030303030303030303030303030303030307a3030303030303030303030303030303030303030303030303030307b303030303030303030303030303030303030303030303030303030307c30303030303030303030303030303030303030303030303030303030307d3030303030303030303030303030303030303030303030303030303030307e303030303030303030303030303030303030303030303030303030303030307f3030303030303030303030303030303030303030303030303030303030303030808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a442"
,
"out"
:
false
},
"blacklisted in unreachable code"
:
{
"in"
:
"0xfe303140f1f24641f0f5f4443b3c3f453a433247ff5455fa42"
,
"out"
:
true
},
"PUSH1 then 1 JUMPDESTs unreachable"
:
{
"in"
:
"0x00605b30"
,
"out"
:
true
},
"PUSH2 then 2 JUMPDESTs unreachable"
:
{
"in"
:
"0x00615b5b30"
,
"out"
:
true
},
"PUSH3 then 3 JUMPDESTs unreachable"
:
{
"in"
:
"0x00625b5b5b30"
,
"out"
:
true
},
"PUSH4 then 4 JUMPDESTs unreachable"
:
{
"in"
:
"0x00635b5b5b5b30"
,
"out"
:
true
},
"PUSH5 then 5 JUMPDESTs unreachable"
:
{
"in"
:
"0x00645b5b5b5b5b30"
,
"out"
:
true
},
"PUSH6 then 6 JUMPDESTs unreachable"
:
{
"in"
:
"0x00655b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH7 then 7 JUMPDESTs unreachable"
:
{
"in"
:
"0x00665b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH8 then 8 JUMPDESTs unreachable"
:
{
"in"
:
"0x00675b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH9 then 9 JUMPDESTs unreachable"
:
{
"in"
:
"0x00685b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH10 then 10 JUMPDESTs unreachable"
:
{
"in"
:
"0x00695b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH11 then 11 JUMPDESTs unreachable"
:
{
"in"
:
"0x006a5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH12 then 12 JUMPDESTs unreachable"
:
{
"in"
:
"0x006b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH13 then 13 JUMPDESTs unreachable"
:
{
"in"
:
"0x006c5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH14 then 14 JUMPDESTs unreachable"
:
{
"in"
:
"0x006d5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH15 then 15 JUMPDESTs unreachable"
:
{
"in"
:
"0x006e5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH16 then 16 JUMPDESTs unreachable"
:
{
"in"
:
"0x006f5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH17 then 17 JUMPDESTs unreachable"
:
{
"in"
:
"0x00705b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH18 then 18 JUMPDESTs unreachable"
:
{
"in"
:
"0x00715b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH19 then 19 JUMPDESTs unreachable"
:
{
"in"
:
"0x00725b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH20 then 20 JUMPDESTs unreachable"
:
{
"in"
:
"0x00735b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH21 then 21 JUMPDESTs unreachable"
:
{
"in"
:
"0x00745b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH22 then 22 JUMPDESTs unreachable"
:
{
"in"
:
"0x00755b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH23 then 23 JUMPDESTs unreachable"
:
{
"in"
:
"0x00765b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH24 then 24 JUMPDESTs unreachable"
:
{
"in"
:
"0x00775b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH25 then 25 JUMPDESTs unreachable"
:
{
"in"
:
"0x00785b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH26 then 26 JUMPDESTs unreachable"
:
{
"in"
:
"0x00795b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH27 then 27 JUMPDESTs unreachable"
:
{
"in"
:
"0x007a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH28 then 28 JUMPDESTs unreachable"
:
{
"in"
:
"0x007b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH29 then 29 JUMPDESTs unreachable"
:
{
"in"
:
"0x007c5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH30 then 30 JUMPDESTs unreachable"
:
{
"in"
:
"0x007d5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH31 then 31 JUMPDESTs unreachable"
:
{
"in"
:
"0x007e5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH32 then 32 JUMPDESTs unreachable"
:
{
"in"
:
"0x007f5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b30"
,
"out"
:
true
},
"PUSH1 then 1 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x0060305b30"
,
"out"
:
false
},
"PUSH2 then 2 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006130305b30"
,
"out"
:
false
},
"PUSH3 then 3 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x00623030305b30"
,
"out"
:
false
},
"PUSH4 then 4 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x0063303030305b30"
,
"out"
:
false
},
"PUSH5 then 5 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006430303030305b30"
,
"out"
:
false
},
"PUSH6 then 6 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x00653030303030305b30"
,
"out"
:
false
},
"PUSH7 then 7 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x0066303030303030305b30"
,
"out"
:
false
},
"PUSH8 then 8 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006730303030303030305b30"
,
"out"
:
false
},
"PUSH9 then 9 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x00683030303030303030305b30"
,
"out"
:
false
},
"PUSH10 then 10 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x0069303030303030303030305b30"
,
"out"
:
false
},
"PUSH11 then 11 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006a30303030303030303030305b30"
,
"out"
:
false
},
"PUSH12 then 12 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006b3030303030303030303030305b30"
,
"out"
:
false
},
"PUSH13 then 13 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006c303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH14 then 14 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006d30303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH15 then 15 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006e3030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH16 then 16 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x006f303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH17 then 17 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH18 then 18 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x00713030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH19 then 19 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x0072303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH20 then 20 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007330303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH21 then 21 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x00743030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH22 then 22 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x0075303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH23 then 23 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007630303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH24 then 24 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x00773030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH25 then 25 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x0078303030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH26 then 26 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007930303030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH27 then 27 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007a3030303030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH28 then 28 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007b303030303030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH29 then 29 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007c30303030303030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH30 then 30 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007d3030303030303030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH31 then 31 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007e303030303030303030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"PUSH32 then 32 bytes then JUMPDEST reachable"
:
{
"in"
:
"0x007f30303030303030303030303030303030303030303030303030303030303030305b30"
,
"out"
:
false
},
"blacklisted after reachable JUMPDEST"
:
{
"in"
:
"0x565b303140f1f24641f0f5f4443b3c3f453a433247ff5455fa42"
,
"out"
:
false
},
"blacklisted after JUMPI"
:
{
"in"
:
"0x57303140f1f24641f0f5f4443b3c3f453a433247ff5455fa42"
,
"out"
:
false
},
"valid alternating reachable/unreachable with STOP"
:
{
"in"
:
"0x565b00303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a400303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a400303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4"
,
"out"
:
true
},
"valid alternating reachable/unreachable with RETURN"
:
{
"in"
:
"0x565bf3303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f3303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f3303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4"
,
"out"
:
true
},
"valid alternating reachable/unreachable with INVALID"
:
{
"in"
:
"0x565bfe303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4fe303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4fe303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4"
,
"out"
:
true
},
"invalid alternating reachable/unreachable with STOP"
:
{
"in"
:
"0x575b00303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a400303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a400303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a430"
,
"out"
:
false
},
"invalid alternating reachable/unreachable with RETURN"
:
{
"in"
:
"0x575bf3303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f3303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4f3303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a430"
,
"out"
:
false
},
"invalid alternating reachable/unreachable with INVALID"
:
{
"in"
:
"0x575bfe303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4fe303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4fe303140f1f24641f0f5f4443b3c3f453a433247ff5455fa425b0102030405060708090a0b101112131415161718191a1b1c1d203435363738393d3e505152535758595a5b606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a430"
,
"out"
:
false
},
"valid EM call"
:
{
"in"
:
"0x336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b"
,
"out"
:
true
},
"valid identity precompile call"
:
{
"in"
:
"0x3350600060045af1"
,
"out"
:
true
},
"valid EM call, then valid identity precompile call"
:
{
"in"
:
"0x336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b3350600060045af1"
,
"out"
:
true
},
"valid EM call, then invalid identity precompile call"
:
{
"in"
:
"0x336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b3350600060035af1"
,
"out"
:
false
},
"valid EM call, then invalid opcode (SLOAD)"
:
{
"in"
:
"0x336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b54"
,
"out"
:
false
},
"valid identity precompile call, then invalid opcode (SLOAD)"
:
{
"in"
:
"0x3350600060045af154"
,
"out"
:
false
},
"invalid EM call (missing final byte)"
:
{
"in"
:
"0x336000905af158601d01573d60011458600c01573d6000803e3d6000FD5b60016000f3"
,
"out"
:
false
},
"invalid identity precompile call (missing final byte)"
:
{
"in"
:
"0x3350600060045a"
,
"out"
:
false
},
"invalid identity precompile call (First 2 bytes are PUSH2ed)"
:
{
"in"
:
"0x613350600060045af1"
,
"out"
:
false
}
}
}
\ No newline at end of file
packages/contracts/test/helpers/codec/bridge.ts
View file @
eefcea0c
/* Imports: Internal */
import
{
getContractInterface
}
from
'
../../../src/contract-defs
'
import
{
getContractInterface
}
from
'
../../../src/contract-defs
'
export
const
encodeXDomainCalldata
=
(
export
const
encodeXDomainCalldata
=
(
...
...
packages/contracts/test/helpers/codec/encoding.ts
deleted
100644 → 0
View file @
dfc784e8
/* External Imports */
import
{
ethers
}
from
'
hardhat
'
import
{
constants
,
Wallet
}
from
'
ethers
'
/* Internal Imports */
import
{
remove0x
,
fromHexString
}
from
'
@eth-optimism/core-utils
'
export
interface
EIP155Transaction
{
nonce
:
number
gasLimit
:
number
gasPrice
:
number
to
:
string
data
:
string
chainId
:
number
}
export
interface
SignatureParameters
{
messageHash
:
string
v
:
string
r
:
string
s
:
string
}
export
const
DEFAULT_EIP155_TX
:
EIP155Transaction
=
{
to
:
`0x
${
'
12
'
.
repeat
(
20
)}
`
,
nonce
:
100
,
gasLimit
:
1000000
,
gasPrice
:
100000000
,
data
:
`0x
${
'
99
'
.
repeat
(
10
)}
`
,
chainId
:
420
,
}
export
const
getRawSignedComponents
=
(
signed
:
string
):
any
[]
=>
{
return
[
signed
.
slice
(
130
,
132
),
signed
.
slice
(
2
,
66
),
signed
.
slice
(
66
,
130
)]
}
export
const
getSignedComponents
=
(
signed
:
string
):
any
[]
=>
{
return
ethers
.
utils
.
RLP
.
decode
(
signed
).
slice
(
-
3
)
}
packages/contracts/test/helpers/codec/index.ts
View file @
eefcea0c
export
*
from
'
./revert-flags
'
export
*
from
'
./encoding
'
export
*
from
'
./bridge
'
export
*
from
'
./bridge
'
packages/contracts/test/helpers/codec/revert-flags.ts
deleted
100644 → 0
View file @
dfc784e8
/* External Imports */
import
{
ethers
}
from
'
hardhat
'
export
const
encodeRevertData
=
(
flag
:
number
,
data
:
string
=
'
0x
'
,
nuisanceGasLeft
:
number
=
0
,
ovmGasRefund
:
number
=
0
):
string
=>
{
const
abiEncoded
:
string
=
ethers
.
utils
.
defaultAbiCoder
.
encode
(
[
'
uint256
'
,
'
uint256
'
,
'
uint256
'
,
'
bytes
'
],
[
flag
,
nuisanceGasLeft
,
ovmGasRefund
,
data
]
)
return
abiEncoded
}
export
const
decodeRevertData
=
(
revertData
:
string
):
any
=>
{
const
decoded
=
ethers
.
utils
.
defaultAbiCoder
.
decode
(
[
'
uint256
'
,
'
uint256
'
,
'
uint256
'
,
'
bytes
'
],
revertData
)
return
(
'
[revertFlag:
'
+
Object
.
keys
(
REVERT_FLAGS
)[
decoded
[
0
]]
+
'
, nuisanceGasLeft:
'
+
decoded
[
1
]
+
'
, ovmGasRefund:
'
+
decoded
[
2
]
+
'
, data:
'
+
decoded
[
3
]
+
'
]
'
)
}
export
const
REVERT_FLAGS
=
{
OUT_OF_GAS
:
0
,
INTENTIONAL_REVERT
:
1
,
EXCEEDS_NUISANCE_GAS
:
2
,
INVALID_STATE_ACCESS
:
3
,
UNSAFE_BYTECODE
:
4
,
CREATE_COLLISION
:
5
,
STATIC_VIOLATION
:
6
,
CREATOR_NOT_ALLOWED
:
7
,
}
packages/contracts/test/helpers/constants.ts
View file @
eefcea0c
/* External Imports */
/* External Imports */
import
{
ethers
}
from
'
ethers
'
import
{
defaultAccounts
}
from
'
ethereum-waffle
'
import
{
defaultAccounts
}
from
'
ethereum-waffle
'
import
{
fromHexString
,
toHexString
}
from
'
@eth-optimism/core-utils
'
import
xor
from
'
buffer-xor
'
/* Internal Imports */
import
{
getContractDefinition
}
from
'
../../src/contract-defs
'
export
const
DEFAULT_ACCOUNTS
=
defaultAccounts
export
const
DEFAULT_ACCOUNTS
=
defaultAccounts
export
const
DEFAULT_ACCOUNTS_HARDHAT
=
defaultAccounts
.
map
((
account
)
=>
{
export
const
DEFAULT_ACCOUNTS_HARDHAT
=
defaultAccounts
.
map
((
account
)
=>
{
...
@@ -15,7 +9,6 @@ export const DEFAULT_ACCOUNTS_HARDHAT = defaultAccounts.map((account) => {
...
@@ -15,7 +9,6 @@ export const DEFAULT_ACCOUNTS_HARDHAT = defaultAccounts.map((account) => {
}
}
})
})
export
const
OVM_TX_GAS_LIMIT
=
10
_000_000
export
const
RUN_OVM_TEST_GAS
=
20
_000_000
export
const
RUN_OVM_TEST_GAS
=
20
_000_000
export
const
FORCE_INCLUSION_PERIOD_SECONDS
=
600
export
const
FORCE_INCLUSION_PERIOD_SECONDS
=
600
export
const
FORCE_INCLUSION_PERIOD_BLOCKS
=
600
/
12
export
const
FORCE_INCLUSION_PERIOD_BLOCKS
=
600
/
12
...
@@ -23,40 +16,3 @@ export const FORCE_INCLUSION_PERIOD_BLOCKS = 600 / 12
...
@@ -23,40 +16,3 @@ export const FORCE_INCLUSION_PERIOD_BLOCKS = 600 / 12
export
const
NON_NULL_BYTES32
=
export
const
NON_NULL_BYTES32
=
'
0x1111111111111111111111111111111111111111111111111111111111111111
'
'
0x1111111111111111111111111111111111111111111111111111111111111111
'
export
const
NON_ZERO_ADDRESS
=
'
0x1111111111111111111111111111111111111111
'
export
const
NON_ZERO_ADDRESS
=
'
0x1111111111111111111111111111111111111111
'
export
const
VERIFIED_EMPTY_CONTRACT_HASH
=
'
0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
'
export
const
STORAGE_XOR_VALUE
=
'
0xFEEDFACECAFEBEEFFEEDFACECAFEBEEFFEEDFACECAFEBEEFFEEDFACECAFEBEEF
'
export
const
NUISANCE_GAS_COSTS
=
{
NUISANCE_GAS_SLOAD
:
20000
,
NUISANCE_GAS_SSTORE
:
20000
,
MIN_NUISANCE_GAS_PER_CONTRACT
:
30000
,
NUISANCE_GAS_PER_CONTRACT_BYTE
:
100
,
MIN_GAS_FOR_INVALID_STATE_ACCESS
:
30000
,
}
let
len
// This is hacky, but `hardhat compile` evaluates this file for some reason.
// Feels better to have something hacky then a constant we have to keep re-hardcoding.
try
{
len
=
fromHexString
(
getContractDefinition
(
'
Helper_TestRunner
'
).
deployedBytecode
).
byteLength
// eslint-disable-next-line no-empty
}
catch
{}
export
const
Helper_TestRunner_BYTELEN
=
len
export
const
STORAGE_XOR
=
'
0xfeedfacecafebeeffeedfacecafebeeffeedfacecafebeeffeedfacecafebeef
'
export
const
getStorageXOR
=
(
key
:
string
):
string
=>
{
return
toHexString
(
xor
(
fromHexString
(
key
),
fromHexString
(
STORAGE_XOR
)))
}
export
const
EMPTY_ACCOUNT_CODE_HASH
=
'
0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
'
export
const
KECCAK_256_NULL
=
'
0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
'
packages/contracts/test/helpers/dummy/accounts.ts
deleted
100644 → 0
View file @
dfc784e8
/* External Imports */
import
{
BigNumber
,
constants
}
from
'
ethers
'
/* Internal Imports */
import
{
DUMMY_BYTES32
}
from
'
./bytes32
'
import
{
NON_ZERO_ADDRESS
}
from
'
../constants
'
import
{
OVMAccount
}
from
'
../types/ovm-types
'
export
const
DUMMY_ACCOUNTS
:
Array
<
{
address
:
string
data
:
OVMAccount
}
>
=
[
{
address
:
'
0x1212121212121212121212121212121212121212
'
,
data
:
{
nonce
:
BigNumber
.
from
(
123
),
balance
:
BigNumber
.
from
(
456
),
storageRoot
:
DUMMY_BYTES32
[
0
],
codeHash
:
DUMMY_BYTES32
[
1
],
ethAddress
:
constants
.
AddressZero
,
},
},
{
address
:
'
0x2121212121212121212121212121212121212121
'
,
data
:
{
nonce
:
BigNumber
.
from
(
321
),
balance
:
BigNumber
.
from
(
654
),
storageRoot
:
DUMMY_BYTES32
[
2
],
codeHash
:
DUMMY_BYTES32
[
3
],
ethAddress
:
NON_ZERO_ADDRESS
,
},
},
]
packages/contracts/test/helpers/dummy/bytecode.ts
deleted
100644 → 0
View file @
dfc784e8
/* External Imports */
import
{
keccak256
}
from
'
ethers/lib/utils
'
export
const
DUMMY_BYTECODE
=
'
0x123412341234
'
export
const
DUMMY_BYTECODE_BYTELEN
=
6
export
const
UNSAFE_BYTECODE
=
'
0x6069606955
'
export
const
DUMMY_BYTECODE_HASH
=
keccak256
(
DUMMY_BYTECODE
)
packages/contracts/test/helpers/dummy/bytes32.ts
deleted
100644 → 0
View file @
dfc784e8
/* External Imports */
import
{
ethers
}
from
'
ethers
'
export
const
DUMMY_BYTES32
:
string
[]
=
Array
.
from
(
{
length
:
10
,
},
(
_
,
i
)
=>
{
return
ethers
.
utils
.
keccak256
(
`0x0
${
i
}
`
)
}
)
packages/contracts/test/helpers/dummy/context.ts
deleted
100644 → 0
View file @
dfc784e8
/* Internal Imports */
import
{
NON_ZERO_ADDRESS
}
from
'
../constants
'
export
const
DUMMY_CONTEXT
=
{
GLOBAL
:
{
ovmCHAINID
:
11
,
},
TRANSACTION
:
{
ovmORIGIN
:
NON_ZERO_ADDRESS
,
ovmTIMESTAMP
:
22
,
ovmGASLIMIT
:
33
,
ovmTXGASLIMIT
:
44
,
ovmQUEUEORIGIN
:
55
,
},
MESSAGE
:
{
ovmCALLER
:
NON_ZERO_ADDRESS
,
ovmADDRESS
:
NON_ZERO_ADDRESS
,
ovmSTATICCTX
:
true
,
},
}
packages/contracts/test/helpers/dummy/index.ts
View file @
eefcea0c
export
*
from
'
./accounts
'
export
*
from
'
./bytes32
'
export
*
from
'
./context
'
export
*
from
'
./bytecode
'
export
*
from
'
./batches
'
export
*
from
'
./batches
'
export
*
from
'
./transactions
'
packages/contracts/test/helpers/dummy/transactions.ts
deleted
100644 → 0
View file @
dfc784e8
import
{
constants
,
ethers
}
from
'
ethers
'
export
interface
Transaction
{
timestamp
:
number
blockNumber
:
number
l1QueueOrigin
:
number
l1TxOrigin
:
string
entrypoint
:
string
gasLimit
:
number
data
:
string
}
export
const
DUMMY_OVM_TRANSACTIONS
:
Array
<
Transaction
>
=
[
...
Array
(
10
).
keys
(),
].
map
((
i
)
=>
{
return
{
timestamp
:
i
,
blockNumber
:
0
,
l1QueueOrigin
:
0
,
l1TxOrigin
:
constants
.
AddressZero
,
entrypoint
:
constants
.
AddressZero
,
gasLimit
:
0
,
data
:
ethers
.
constants
.
HashZero
,
}
})
export
const
hashTransaction
=
({
timestamp
,
blockNumber
,
l1QueueOrigin
,
l1TxOrigin
,
entrypoint
,
gasLimit
,
data
,
}:
Transaction
):
string
=>
{
return
ethers
.
utils
.
solidityKeccak256
(
[
'
uint256
'
,
'
uint256
'
,
'
uint8
'
,
'
address
'
,
'
address
'
,
'
uint256
'
,
'
bytes
'
],
[
timestamp
,
blockNumber
,
l1QueueOrigin
,
l1TxOrigin
,
entrypoint
,
gasLimit
,
data
,
]
)
}
packages/contracts/test/helpers/gas/gas.ts
View file @
eefcea0c
import
{
ethers
}
from
'
hardhat
'
import
{
ethers
}
from
'
hardhat
'
import
{
Contract
,
Signer
,
BigNumber
}
from
'
ethers
'
import
{
Contract
,
Signer
}
from
'
ethers
'
import
{
expect
}
from
'
chai
'
export
class
GasMeasurement
{
export
class
GasMeasurement
{
GasMeasurementContract
:
Contract
GasMeasurementContract
:
Contract
...
...
packages/contracts/test/helpers/index.ts
View file @
eefcea0c
export
*
from
'
./dummy
'
export
*
from
'
./dummy
'
export
*
from
'
./types
'
export
*
from
'
./constants
'
export
*
from
'
./constants
'
export
*
from
'
./resolver
'
export
*
from
'
./resolver
'
export
*
from
'
./utils
'
export
*
from
'
./utils
'
...
...
packages/contracts/test/helpers/types/index.ts
deleted
100644 → 0
View file @
dfc784e8
export
*
from
'
./ovm-types
'
packages/contracts/test/helpers/types/ovm-types.ts
deleted
100644 → 0
View file @
dfc784e8
/* External Imports */
import
{
BigNumber
,
constants
}
from
'
ethers
'
import
{
parse
,
Transaction
}
from
'
@ethersproject/transactions
'
export
interface
OVMAccount
{
nonce
:
number
|
BigNumber
balance
:
number
|
BigNumber
storageRoot
:
string
codeHash
:
string
ethAddress
:
string
}
export
const
LibEIP155TxStruct
=
(
tx
:
Transaction
|
string
):
Array
<
any
>
=>
{
if
(
typeof
tx
===
'
string
'
)
{
tx
=
parse
(
tx
)
}
const
values
=
[
tx
.
nonce
,
tx
.
gasPrice
,
tx
.
gasLimit
,
tx
.
to
?
tx
.
to
:
constants
.
AddressZero
,
tx
.
value
,
tx
.
data
,
tx
.
v
%
256
,
tx
.
r
,
tx
.
s
,
tx
.
chainId
,
tx
.
v
===
0
?
0
:
tx
.
v
-
2
*
tx
.
chainId
-
35
,
tx
.
to
===
null
,
]
return
values
}
packages/contracts/test/helpers/utils/custom-deployer.ts
deleted
100644 → 0
View file @
dfc784e8
/* External Imports */
import
{
Signer
}
from
'
ethers
'
import
{
toHexString
}
from
'
@eth-optimism/core-utils
'
export
const
deployContractCode
=
async
(
code
:
string
,
signer
:
Signer
,
gasLimit
:
number
):
Promise
<
string
>
=>
{
// "Magic" prefix to be prepended to the contract code. Contains a series of opcodes that will
// copy the given code into memory and return it, thereby storing at the contract address.
const
prefix
=
'
0x600D380380600D6000396000f3
'
const
deployCode
=
prefix
+
toHexString
(
code
).
slice
(
2
)
const
response
=
await
signer
.
sendTransaction
({
to
:
null
,
data
:
deployCode
,
gasLimit
,
})
const
result
=
await
response
.
wait
()
return
result
.
contractAddress
}
packages/contracts/test/helpers/utils/index.ts
View file @
eefcea0c
export
*
from
'
./eth-time
'
export
*
from
'
./eth-time
'
export
*
from
'
./sol-utils
'
export
*
from
'
./custom-deployer
'
packages/contracts/test/helpers/utils/sol-utils.ts
deleted
100644 → 0
View file @
dfc784e8
import
{
ethers
}
from
'
ethers
'
const
errorABI
=
new
ethers
.
utils
.
Interface
([
{
type
:
'
function
'
,
inputs
:
[
{
type
:
'
string
'
,
},
],
name
:
'
Error
'
,
stateMutability
:
'
pure
'
,
},
])
export
const
decodeSolidityError
=
(
err
:
string
):
string
=>
{
return
errorABI
.
decodeFunctionData
(
'
Error
'
,
err
)[
0
]
}
export
const
encodeSolidityError
=
(
message
:
string
):
string
=>
{
return
errorABI
.
encodeFunctionData
(
'
Error
'
,
[
message
])
}
yarn.lock
View file @
eefcea0c
...
@@ -2470,14 +2470,7 @@
...
@@ -2470,14 +2470,7 @@
resolved "https://registry.yarnpkg.com/@types/browser-or-node/-/browser-or-node-1.3.0.tgz#896ec59bcb8109fc858d8e68d3c056c176a19622"
resolved "https://registry.yarnpkg.com/@types/browser-or-node/-/browser-or-node-1.3.0.tgz#896ec59bcb8109fc858d8e68d3c056c176a19622"
integrity sha512-MVetr65IR7RdJbUxVHsaPFaXAO8fi89zv1g8L/mHygh1Q7xnnK02XZLwfMh57FOpTO6gtnagoPMQ/UOFfctXRQ==
integrity sha512-MVetr65IR7RdJbUxVHsaPFaXAO8fi89zv1g8L/mHygh1Q7xnnK02XZLwfMh57FOpTO6gtnagoPMQ/UOFfctXRQ==
"@types/buffer-xor@^2.0.0":
"@types/chai-as-promised@^7.1.3", "@types/chai-as-promised@^7.1.4":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@types/buffer-xor/-/buffer-xor-2.0.0.tgz#15738051e0720b68120cd2cc3f204aa4dc16bab1"
integrity sha512-NEJkIKUE/xboduuIAJmdtUvbXgUOfMkjOo6lWsiBVUIWBC5fVWGT+50yEw9W1Xp4ga76khg57pHELXw5Xm3Y+A==
dependencies:
"@types/node" "*"
"@types/chai-as-promised@^7.1.4":
version "7.1.4"
version "7.1.4"
resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.4.tgz#caf64e76fb056b8c8ced4b761ed499272b737601"
resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.4.tgz#caf64e76fb056b8c8ced4b761ed499272b737601"
integrity sha512-1y3L1cHePcIm5vXkh1DSGf/zQq5n5xDKG1fpCvf18+uOkpce0Z1ozNFPkyWsVswK7ntN1sZBw3oU6gmN+pDUcA==
integrity sha512-1y3L1cHePcIm5vXkh1DSGf/zQq5n5xDKG1fpCvf18+uOkpce0Z1ozNFPkyWsVswK7ntN1sZBw3oU6gmN+pDUcA==
...
@@ -2503,11 +2496,6 @@
...
@@ -2503,11 +2496,6 @@
dependencies:
dependencies:
"@types/node" "*"
"@types/node" "*"
"@types/copyfiles@^2.4.0":
version "2.4.1"
resolved "https://registry.yarnpkg.com/@types/copyfiles/-/copyfiles-2.4.1.tgz#b0119c781457910115454bacb35f59e91145e7ec"
integrity sha512-v2JLxXeWUeWYWVo3/tlpxqiDCvgewSvf58HHjHYNaCi0lAthhRQ7jz8InxGzJsrMbWmWkYaxBO+BEtKjBU4ebw==
"@types/cors@^2.8.9":
"@types/cors@^2.8.9":
version "2.8.12"
version "2.8.12"
resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080"
resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080"
...
@@ -2539,7 +2527,7 @@
...
@@ -2539,7 +2527,7 @@
dependencies:
dependencies:
"@types/node" "*"
"@types/node" "*"
"@types/glob@*", "@types/glob@^7.1.1"
, "@types/glob@^7.1.3"
:
"@types/glob@*", "@types/glob@^7.1.1":
version "7.1.4"
version "7.1.4"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672"
integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==
integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==
...
@@ -2813,18 +2801,6 @@
...
@@ -2813,18 +2801,6 @@
dependencies:
dependencies:
"@types/node" "*"
"@types/node" "*"
"@types/yargs-parser@*":
version "20.2.1"
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129"
integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==
"@types/yargs@^16.0.1":
version "16.0.4"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
dependencies:
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^4.26.0":
"@typescript-eslint/eslint-plugin@^4.26.0":
version "4.29.3"
version "4.29.3"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz#95cb8029a8bd8bd9c7f4ab95074a7cb2115adefa"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz#95cb8029a8bd8bd9c7f4ab95074a7cb2115adefa"
...
@@ -4332,7 +4308,7 @@ buffer-xor@^1.0.3:
...
@@ -4332,7 +4308,7 @@ buffer-xor@^1.0.3:
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
buffer-xor@^2.0.1
, buffer-xor@^2.0.2
:
buffer-xor@^2.0.1:
version "2.0.2"
version "2.0.2"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-2.0.2.tgz#34f7c64f04c777a1f8aac5e661273bb9dd320289"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-2.0.2.tgz#34f7c64f04c777a1f8aac5e661273bb9dd320289"
integrity sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==
integrity sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment