Skip to content
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

eth_transact not returning an address for a new contract #407

Closed
jorisbontje opened this issue Mar 2, 2015 · 3 comments
Closed

eth_transact not returning an address for a new contract #407

jorisbontje opened this issue Mar 2, 2015 · 3 comments

Comments

@jorisbontje
Copy link

Running ethereum with ethereum -mine=true -rpc=true -loglevel=5 -bootnodes="" -nat=none -dial=false

Build 65cad14 on OSX.

Simple Serpent contract to test with:

data owner
data counter

def init():
    self.owner = msg.sender
    self.counter = 1

def incr():
    self.counter += 1

def get_counter():
    return(self.counter)

This compiles to:

336000556001600155604f8060146000396063567c01000000000000000000000000000000000000000000000000000000006000350463119fbbd48114156036576001600154016001555b63ea66cf6d811415604d5760015460405260206040f35b505b6000f3

Creating the contract via an RPC call:

2015/03/02 10:21:11 [RPC-HTTP] Handling request
2015/03/02 10:21:11 [RPC] Parsed request: {1a30b3f2-42f5-4633-87d4-a698367902fe 2.0 eth_transact [{"gas": "10000", "code": "0x336000556001600155604f8060146000396063567c01000000000000000000000000000000000000000000000000000000006000350463119fbbd48114156036576001600154016001555b63ea66cf6d811415604d5760015460405260206040f35b505b6000f3", "from": "5bb70f8a60ee7fb4e056bddc1483aec5244110c0", "value": "1000000000000000000", "gasPrice": "10000000000000"}]}
2015/03/02 10:21:11 [RPC] []json.RawMessage [{"gas": "10000", "code": "0x336000556001600155604f8060146000396063567c01000000000000000000000000000000000000000000000000000000006000350463119fbbd48114156036576001600154016001555b63ea66cf6d811415604d5760015460405260206040f35b505b6000f3", "from": "5bb70f8a60ee7fb4e056bddc1483aec5244110c0", "value": "1000000000000000000", "gasPrice": "10000000000000"}]
2015/03/02 10:21:11 [RPC-HTTP] Generated response: string
2015/03/02 10:21:11 [RPC] Sending payload: {"id":"1a30b3f2-42f5-4633-87d4-a698367902fe","jsonrpc":"2.0","result":""}

I would expect the contract address to be returned instead of an empty string.

@maran
Copy link
Member

maran commented Mar 2, 2015

Are you using the RPC directly? Creating the contract via ethereum.js works fine for me here:

2015/03/02 12:12:59 [RPC] Parsed request: {%!s(float64=1) 2.0 eth_transact [{"data":"0x336000556001600155604f8060146000396063567c01000000000000000000000000000000000000000000000000000000006000350463119fbbd48114156036576001600154016001555b63ea66cf6d811415604d5760015460405260206040f35b505b6000f3","gas":"50000","gasprice":"50"}]}
2015/03/02 12:12:59 [RPC] []json.RawMessage [{"data":"0x336000556001600155604f8060146000396063567c01000000000000000000000000000000000000000000000000000000006000350463119fbbd48114156036576001600154016001555b63ea66cf6d811415604d5760015460405260206040f35b505b6000f3","gas":"50000","gasprice":"50"}]
2015/03/02 12:12:59 [TXP] (t) f1f4dbee => [NEW_CONTRACT] (0x41ace20) 747e33f712a27ca4b3b7d4f454e7009b394761fc67c1cca3f16b66d5bdee824b
2015/03/02 12:12:59 [RPC-HTTP] Generated response: string 0x17bada015b912f8296bbac84785f3b5584f889ce
2015/03/02 12:12:59 [RPC] Sending payload: {"id":1,"jsonrpc":"2.0","result":"0x17bada015b912f8296bbac84785f3b5584f889ce"}

@jorisbontje
Copy link
Author

Yeah using the RPC directly. I now get a result back after I wiped out my database...

@jorisbontje
Copy link
Author

Closing as I can't reproduce it anymore. @maran thanks for verifying!

ngtuna pushed a commit to ngtuna/tomochain that referenced this issue Jan 15, 2019
tony-ricciardi pushed a commit to tony-ricciardi/go-ethereum that referenced this issue Jan 20, 2022
maoueh pushed a commit to streamingfast/go-ethereum that referenced this issue Dec 9, 2022
Added logging for statesyncs data
tanishqjasoria pushed a commit to tanishqjasoria/go-ethereum that referenced this issue Oct 31, 2023
* add proof for predeployed storages

* reverse inneeded code

* update for mainbranch merging

* add pertx storage trace

* dummy tx proof

* add txstorage trace

* add coinbase storage as trace

* enable (sync) tracing by default

* basic

* init cgo framework

* fix break loop

* integrate the right zkevm version (ethereum#323)

* finish rust codes

* use dylib (ethereum#325)

* flip

* ?

* use cdylib

* revert

* fix

* apply_tx

* rename

* fixing types

fixing types

fixing types

* clean up

* ExecutionResults (ethereum#328)

* filling

* filling

* more

* clean up

* filling

* coinbase

* add

* MPTWitness

* ExecutionResults WIP

* L1fee

L1fee

* sender

* to

* Failed & ReturnValue

* createdAcc & after

* remove MPTWitness

* txStorageTrace

* add FeeRecipient

* add StorageTrace

* fix FFI types

* better logger

* cargo fmt

* fix

* add build tags

* update Makefile

* fix library

* improve ld path

* correctly deal with circuit_capacity_checker returned result

* fix return value

* update cargo (ethereum#333)

* update cargo

* update

* update go

* refactor

* raname `circuits capacity checker` to `circuit capacity checker`

* some refactorings

* [Fix] storage proof generation in capacity checker (ethereum#348)

* make per-tx storage and deletion proof work

* format

* fix misplaced markdeletion

---------

Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>

* docker (ethereum#363)

* update Dockerfile

* build: update go version to 1.19

* update

* fix

* fix

* try

* simplify

* revert go version

update l2geth Dockerfiles

* fix

* fix coinbase

* fix (ethereum#369)

* format

* Update version.go

* address comments

* Capacity refactor (ethereum#374)

* init

* id

* support multiple instances

* fix id

* fix conflicts

* refactor to use same codes (ethereum#379)

* re-init

* WIP

* WIP

* refactor

* go

* minor

* fix storage proof of l1gas price oracle

* move 1

* move 2

* move 3

* move 4

* move 5

move 5

* move 6

move 6

* move 7

* move 8

* move 9

* move 10

* clean up

clean up

---------

Co-authored-by: Ho Vei <noelwei@gmail.com>

* finish basic

* minor

* config capacity check in block_validator (ethereum#380)

* init

* done

ref

* fix tests

fix tests

fix tests

fix tests

* add more comments

* apply_block

* improve logs

* cargo fmt

* Capacity big refactor (ethereum#383)

* CreateTraceEnv

* WIP

* draft

more

fix

* for test

* fortet

* clean up

* add more comments

* goimports -local github.com/scroll-tech/go-ethereum -w .

* fix typos

* attempt 1

* attempt 2

* attempt 3

* gogogo

* clean up

* fix

* fix

* rename

* minor

* fix

* minor

* minor

* improve doc

* use dedicated `checkCircuitCapacity` flag (ethereum#394)

* refactor

* fix

* add lock

* [feat] capacity checking: upgrade libzkp (ethereum#395)

* upgrade

* upgrade libzkp

* write RowConsumption (ethereum#396)

* write RowConsumption

* name alignments

* revert some formatting

* add lock to CircuitCapacityChecker in BlockValidator

* remove mutex pointer

* improve github workflow

* improve

* store row consumption in mining (ethereum#397)

* prepare

* finish

* add more logs

* mark `ApplyBlock` as ready

* update libzkp (ethereum#401)

* fix

* Capacity detail (ethereum#402)

* fix(block-validation): consider skipping in ValidateL1Messages (ethereum#405)

* fix(block-validation): consider skipping in ValidateL1Messages

* fix(block): consider skipping in L1MessageCount

* fix l1 validation tests

* fix NumL1Messages

* fix impl.go return types

fix

* better error handling (ethereum#407)

* add

add

* add

* add

* add

* add

* cargo fmt

* add

* update

* add

* WIP

* minor

* gogogo

* gogogo

* fix

* fix

* fix

* cargo clippy

* improve

* improve

* creation lock (ethereum#408)

* creation lock

* update

* Debug log (ethereum#409)

* add more logs

* more

* more

* fix

* improve

* Update cmd/utils/flags.go

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>

* refactor worker.commit()

* avoid re-calculate

* txpool ccc err handling (ethereum#411)

* more explicit error comments

* add more logs

* fix unnecessary commit

* add more logs

* fix `ineffassign`

* add more comments

* log id for `NewCircuitCapacityChecker` (ethereum#414)

add log to `NewCircuitCapacityChecker`

* Persist skip info for block where all L1 msgs are skipped (ethereum#415)

persist skip info for block where all L1 msgs are skipped

* Update version.go

---------

Co-authored-by: Ho Vei <noelwei@gmail.com>
Co-authored-by: Zhang Zhuo <mycinbrin@gmail.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
tanishqjasoria pushed a commit to tanishqjasoria/go-ethereum that referenced this issue Apr 5, 2024
tanishqjasoria pushed a commit to tanishqjasoria/go-ethereum that referenced this issue Apr 11, 2024
garyschulte pushed a commit to garyschulte/go-ethereum that referenced this issue Apr 17, 2024
* simplified gas accounting layer

* integrate some review feedback

* Apply suggestions from code review

Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

* more suggestions from code review

* don't charge creation gas + charge code chunks in create

* A couple more fixes

* make linter happy

* fix create init gas consumption issue

* fix: in gas funcs, use tx witness instead of global witness

* fix linter issue

* Apply suggestions from code review

Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix: EXTCODECOPY gas consumption

* fix warm gas costs

* fix the order gas is charged in during contract creation epilogue

* fix selfdestruct

* fix ethereum#365 in eip rewrite (ethereum#407)

* fix: OOG type in code creation OOG (ethereum#408)

* core/vm: charge BLOCKHASH witness cost (ethereum#409)

* core/vm: charge BLOCKHASH witness cost

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* remove gas optimization for now

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* remove redundant logic for contract creation (ethereum#413)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix precompile address check for charging witness costs & fix missing value-bearing rule (ethereum#412)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* core/vm: fix wrong check (ethereum#416)

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* charge for account creation if selfdestruct creates a new account (ethereum#417)

* add key comparison test (ethereum#418)

* core/vm: charge contract init before execution logic (ethereum#419)

* core/vm: charge contract init before execution logic

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>

* fix CREATE2 as well

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>

* quell linter

---------

Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants