Skip to content

Elliptic Curve benchmark #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions benchmarks/main/elliptic_curve.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
{
"elliptic_curve" : {
"_info" : {
"comment" : "",
"filling-rpc-server" : "evm version 1.10.25-stable-69568c55",
"filling-tool-version" : "retesteth-0.2.2-testinfo+commit.766b4629.Linux.g++",
"generatedTestHash" : "c73c038616f010580ce240d0318686bf42eecc25ea4c0e579630a4215cdf3eca",
"labels" : {
"0" : "generateStealthAddress"
},
"lllcversion" : "Error getting LLLC Version",
"solidity" : "Error getting solc Version",
"source" : "tmp/main/elliptic_curveFiller.yml",
"sourceHash" : "4f79fd263bab5c99097da61cbd06333059952cbca178907615d060fa41dd53c4"
},
"env" : {
"currentBaseFee" : "0x01",
"currentCoinbase" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"currentDifficulty" : "0x01",
"currentGasLimit" : "0x3b9aca00",
"currentNumber" : "0x01",
"currentRandom" : "0x0000000000000000000000000000000000000000000000000000000000000001",
"currentTimestamp" : "0x61a8d289",
"previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"post" : {
"London" : [
{
"hash" : "0x3cff3566fe764e254649c370c4b919ade0c2a6e53c69dbe6dc89f36ce05418e2",
"indexes" : {
"data" : 0,
"gas" : 0,
"value" : 0
},
"logs" : "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"txbytes" : "0xf8858001843b9aca0094be7c43a58000000000000000000000000000000180a44d2b4d7fd952fe0740d9d14011fc8ead3ab7de3c739d3aa93ce9254c10b0134d80d26a301ca045bbf529b8a4f81175015f62c80d27217c55263413bf887f44478b52b75a567ea050b463b131558b4cc930f3a4c10829ae783836a8190f0fd892c88466e79a254b"
}
]
},
"pre" : {
"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0x3b9aca00",
"code" : "0x",
"nonce" : "0x00",
"storage" : {
}
},
"0xbe7c43a580000000000000000000000000000001" : {
"balance" : "0x00",
"code" : "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80638e56279e11610076578063af9af2181161005b578063af9af21814610166578063b86d52981461016f578063eeeac01e146101b457600080fd5b80638e56279e14610155578063997da8d41461015e57600080fd5b806303a507be146100a85780634d2b4d7f146100e25780635727dc5c146101265780637a308a4c1461012e575b600080fd5b6100cf7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179881565b6040519081526020015b60405180910390f35b6100f56100f0366004610ab0565b6101c1565b60408051938452602084019290925273ffffffffffffffffffffffffffffffffffffffff16908201526060016100d9565b6100cf600781565b6100cf7f483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b881565b6100cf60025481565b6100cf600081565b6100cf60015481565b60005461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d9565b6100cf6401000003d01981565b600080600080600061021d867f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817987f483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b860006401000003d019610327565b9150915060008061023c8860015460025460006401000003d019610327565b915091506000828260405160200161025e929190918252602082015260400190565b6040516020818303038152906040528051906020012090506102cd8160001c7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817987f483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b860006401000003d019610327565b6001546002549295509093506102ed91858560006401000003d019610361565b6040805160208082019490945280820192909252805180830382018152606090920190528051910120949993985093965091945050505050565b600080600080600061033e8a8a8a60018b8b6103e9565b9250925092506103508383838961046b565b945094505050509550959350505050565b6000806000806000888b036103b157858061037e5761037e610ac9565b888b0860000361039757600080945094505050506103de565b6103a58b8b60018a8a6104da565b919450925090506103ca565b6103c28b8b60018c8c60018c61067d565b919450925090505b6103d68383838961046b565b945094505050505b965096945050505050565b60008060008860000361040357508691508590508461045f565b8860008060015b8315610456576001841615610430576104288383838f8f8f8e61067d565b919450925090505b61043b600285610af5565b935061044a8c8c8c8c8c6104da565b919d509b50995061040a565b91955093509150505b96509650969350505050565b600080600061047a85856109b5565b90506000848061048c5761048c610ac9565b8283099050600085806104a1576104a1610ac9565b828a099050600086806104b6576104b6610ac9565b87806104c4576104c4610ac9565b8486098a09919a91995090975050505050505050565b6000806000856000036104f4575086915085905084610672565b6000848061050457610504610ac9565b898a0990506000858061051957610519610ac9565b898a0990506000868061052e5761052e610ac9565b898a0990506000878061054357610543610ac9565b888061055157610551610ac9565b848e0960040990506000888061056957610569610ac9565b898061057757610577610ac9565b8a8061058557610585610ac9565b8586098c098a8061059857610598610ac9565b8760030908905088806105ad576105ad610ac9565b89806105bb576105bb610ac9565b8384086105c8908b610b17565b8a806105d6576105d6610ac9565b83840908945088806105ea576105ea610ac9565b89806105f8576105f8610ac9565b8a8061060657610606610ac9565b868709600809610616908b610b17565b8a8061062457610624610ac9565b8b8061063257610632610ac9565b61063c898e610b17565b86088409089350888061065157610651610ac9565b898061065f5761065f610ac9565b8c8e096002099497509295509293505050505b955095509592505050565b600080808915801561068d575088155b1561069f5750859150849050836109a8565b861580156106ab575085155b156106bd5750889150879050866109a8565b6106c5610a92565b84806106d3576106d3610ac9565b898a09815284806106e6576106e6610ac9565b81518a09602082015284806106fd576106fd610ac9565b8687096040820152848061071357610713610ac9565b604082015187096060820152604080516080810190915280868061073957610739610ac9565b60408401518e098152602001868061075357610753610ac9565b60608401518d098152602001868061076d5761076d610ac9565b83518b098152602001868061078457610784610ac9565b60208401518a099052604081015181519192501415806107ac57506060810151602082015114155b6107fd5760405162461bcd60e51b815260206004820152601e60248201527f557365206a6163446f75626c652066756e6374696f6e20696e7374656164000060448201526064015b60405180910390fd5b610805610a92565b858061081357610813610ac9565b825161081f9088610b17565b6040840151088152858061083557610835610ac9565b60208301516108449088610b17565b6060840151086020820152858061085d5761085d610ac9565b815180096040820152858061087457610874610ac9565b815160408301510960608201526000868061089157610891610ac9565b60608301516108a09089610b17565b88806108ae576108ae610ac9565b6020850151800908905086806108c6576108c6610ac9565b87806108d4576108d4610ac9565b88806108e2576108e2610ac9565b60408501518651096002096108f79089610b17565b820890506000878061090b5761090b610ac9565b888061091957610919610ac9565b610923848b610b17565b8a8061093157610931610ac9565b6040870151885109086020850151099050878061095057610950610ac9565b888061095e5761095e610ac9565b6060850151602087015109610973908a610b17565b820890506000888061098757610987610ac9565b898061099557610995610ac9565b8b8f098551099297509095509093505050505b9750975097945050505050565b600082158015906109c65750818314155b80156109d157508115155b610a1d5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c6964206e756d62657200000000000000000000000000000000000060448201526064016107f4565b6000600183825b8615610a8557610a348783610af5565b9050828680610a4557610a45610ac9565b8780610a5357610a53610ac9565b858409610a609089610b17565b8608909450925086610a728183610b2a565b610a7c9084610b17565b97509150610a24565b5091925050505b92915050565b60405180608001604052806004906020820280368337509192915050565b600060208284031215610ac257600080fd5b5035919050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082610b1257634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610a8c57610a8c610adf565b8082028115828204841417610a8c57610a8c610adf56fea2646970667358221220e51aa577c72f718de4ec1a3d583c3182c1a21e0b500615e1b9b1b46de8fcba0964736f6c63430008110033",
"nonce" : "0x00",
"storage" : {
}
}
},
"transaction" : {
"data" : [
"0x4d2b4d7fd952fe0740d9d14011fc8ead3ab7de3c739d3aa93ce9254c10b0134d80d26a30"
],
"gasLimit" : [
"0x3b9aca00"
],
"gasPrice" : "0x01",
"nonce" : "0x00",
"secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"to" : "0xbe7c43a580000000000000000000000000000001",
"value" : [
"0x00"
]
}
}
}
16 changes: 16 additions & 0 deletions src/main/elliptic_curve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# https://github.com/ethereum/EIPs/blob/5dc848e208ef4ae908f7847010aeb7061e95a883/assets/eip-5564/gnosisSafeModule.sol
# Remove GnosisSafe, PubStealthInfoContract and MyModule contracts
# Remove .../Module.sol import
# From MockSafe contract remove everything between lines 83-117
# Add one dependency contract from the same folder https://github.com/ethereum/EIPs/blob/5dc848e208ef4ae908f7847010aeb7061e95a883/assets/eip-5564/EllipticCurve.sol
# Build with Solidity 0.8.17, optimizer enabled (1000 runs)
# Input patameter taken from https://github.com/ethereum/EIPs/blob/5dc848e208ef4ae908f7847010aeb7061e95a883/assets/eip-5564/minimal_poc.ipynb

elliptic_curve:
pre:
'0xbe7c43a580000000000000000000000000000001':
code: '0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80638e56279e11610076578063af9af2181161005b578063af9af21814610166578063b86d52981461016f578063eeeac01e146101b457600080fd5b80638e56279e14610155578063997da8d41461015e57600080fd5b806303a507be146100a85780634d2b4d7f146100e25780635727dc5c146101265780637a308a4c1461012e575b600080fd5b6100cf7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179881565b6040519081526020015b60405180910390f35b6100f56100f0366004610ab0565b6101c1565b60408051938452602084019290925273ffffffffffffffffffffffffffffffffffffffff16908201526060016100d9565b6100cf600781565b6100cf7f483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b881565b6100cf60025481565b6100cf600081565b6100cf60015481565b60005461018f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d9565b6100cf6401000003d01981565b600080600080600061021d867f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817987f483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b860006401000003d019610327565b9150915060008061023c8860015460025460006401000003d019610327565b915091506000828260405160200161025e929190918252602082015260400190565b6040516020818303038152906040528051906020012090506102cd8160001c7f79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817987f483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b860006401000003d019610327565b6001546002549295509093506102ed91858560006401000003d019610361565b6040805160208082019490945280820192909252805180830382018152606090920190528051910120949993985093965091945050505050565b600080600080600061033e8a8a8a60018b8b6103e9565b9250925092506103508383838961046b565b945094505050509550959350505050565b6000806000806000888b036103b157858061037e5761037e610ac9565b888b0860000361039757600080945094505050506103de565b6103a58b8b60018a8a6104da565b919450925090506103ca565b6103c28b8b60018c8c60018c61067d565b919450925090505b6103d68383838961046b565b945094505050505b965096945050505050565b60008060008860000361040357508691508590508461045f565b8860008060015b8315610456576001841615610430576104288383838f8f8f8e61067d565b919450925090505b61043b600285610af5565b935061044a8c8c8c8c8c6104da565b919d509b50995061040a565b91955093509150505b96509650969350505050565b600080600061047a85856109b5565b90506000848061048c5761048c610ac9565b8283099050600085806104a1576104a1610ac9565b828a099050600086806104b6576104b6610ac9565b87806104c4576104c4610ac9565b8486098a09919a91995090975050505050505050565b6000806000856000036104f4575086915085905084610672565b6000848061050457610504610ac9565b898a0990506000858061051957610519610ac9565b898a0990506000868061052e5761052e610ac9565b898a0990506000878061054357610543610ac9565b888061055157610551610ac9565b848e0960040990506000888061056957610569610ac9565b898061057757610577610ac9565b8a8061058557610585610ac9565b8586098c098a8061059857610598610ac9565b8760030908905088806105ad576105ad610ac9565b89806105bb576105bb610ac9565b8384086105c8908b610b17565b8a806105d6576105d6610ac9565b83840908945088806105ea576105ea610ac9565b89806105f8576105f8610ac9565b8a8061060657610606610ac9565b868709600809610616908b610b17565b8a8061062457610624610ac9565b8b8061063257610632610ac9565b61063c898e610b17565b86088409089350888061065157610651610ac9565b898061065f5761065f610ac9565b8c8e096002099497509295509293505050505b955095509592505050565b600080808915801561068d575088155b1561069f5750859150849050836109a8565b861580156106ab575085155b156106bd5750889150879050866109a8565b6106c5610a92565b84806106d3576106d3610ac9565b898a09815284806106e6576106e6610ac9565b81518a09602082015284806106fd576106fd610ac9565b8687096040820152848061071357610713610ac9565b604082015187096060820152604080516080810190915280868061073957610739610ac9565b60408401518e098152602001868061075357610753610ac9565b60608401518d098152602001868061076d5761076d610ac9565b83518b098152602001868061078457610784610ac9565b60208401518a099052604081015181519192501415806107ac57506060810151602082015114155b6107fd5760405162461bcd60e51b815260206004820152601e60248201527f557365206a6163446f75626c652066756e6374696f6e20696e7374656164000060448201526064015b60405180910390fd5b610805610a92565b858061081357610813610ac9565b825161081f9088610b17565b6040840151088152858061083557610835610ac9565b60208301516108449088610b17565b6060840151086020820152858061085d5761085d610ac9565b815180096040820152858061087457610874610ac9565b815160408301510960608201526000868061089157610891610ac9565b60608301516108a09089610b17565b88806108ae576108ae610ac9565b6020850151800908905086806108c6576108c6610ac9565b87806108d4576108d4610ac9565b88806108e2576108e2610ac9565b60408501518651096002096108f79089610b17565b820890506000878061090b5761090b610ac9565b888061091957610919610ac9565b610923848b610b17565b8a8061093157610931610ac9565b6040870151885109086020850151099050878061095057610950610ac9565b888061095e5761095e610ac9565b6060850151602087015109610973908a610b17565b820890506000888061098757610987610ac9565b898061099557610995610ac9565b8b8f098551099297509095509093505050505b9750975097945050505050565b600082158015906109c65750818314155b80156109d157508115155b610a1d5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c6964206e756d62657200000000000000000000000000000000000060448201526064016107f4565b6000600183825b8615610a8557610a348783610af5565b9050828680610a4557610a45610ac9565b8780610a5357610a53610ac9565b858409610a609089610b17565b8608909450925086610a728183610b2a565b610a7c9084610b17565b97509150610a24565b5091925050505b92915050565b60405180608001604052806004906020820280368337509192915050565b600060208284031215610ac257600080fd5b5035919050565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082610b1257634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610a8c57610a8c610adf565b8082028115828204841417610a8c57610a8c610adf56fea2646970667358221220e51aa577c72f718de4ec1a3d583c3182c1a21e0b500615e1b9b1b46de8fcba0964736f6c63430008110033'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Execution reverts.

transaction:
to: '0xbe7c43a580000000000000000000000000000001'
data:
- :label generateStealthAddress 0x4d2b4d7fd952fe0740d9d14011fc8ead3ab7de3c739d3aa93ce9254c10b0134d80d26a30