-
Notifications
You must be signed in to change notification settings - Fork 686
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
Fix transaction execution #313
Conversation
@@ -145,31 +144,6 @@ def prepare_child_message(self, | |||
) | |||
return child_message | |||
|
|||
def prepare_child_sharding_message(self, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this looks like a good change.
evm/rlp/transactions.py
Outdated
@@ -161,6 +164,10 @@ class BaseShardingTransaction(rlp.Serializable): | |||
('code', binary), | |||
] | |||
|
|||
def __init__(self, chain_id, shard_id, to, data, gas, gas_price, access_list, code): | |||
super().__init__(chain_id, shard_id, to, data, gas, gas_price, access_list, code) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could *args, **kwargs
both this call and the __init__
signature here since you aren't using any of these variables in the local context.
4122720
to
ba70f4c
Compare
Maybe update |
Will do that in a separate PR (in my experience, fixing Travis requires some trial and error and I'd like to keep this one clean). |
Replaces #276 (I suck at rebasing and thought rewriting this would be faster -- probably mistakenly, but well...).
computation.state_db
when available.Message.gas_price
andMessage.origin
#262)test_sharding_vm
and user account contract tests have been updated to provide transactions with correct access listsWhen fixing 3) I noticed the use of
prepare_child_message
was not consistent:BaseComputation
has methodsprepare_child_message
andprepare_child_sharding_message
.ShardingMessage
has an additionalprepare_child_message
.What I did was removing all
prepare_child_sharding_message
s and implementingShardingComputation.prepare_child_message
. So now only the computation objects have aprepare_child_message
, and the sharding specific functionality (passing on access list and sighash) is implemented inShardingComputation
. I don't see anything wrong with this, just mentioning it explicitly because it's probably the only noteworthy difference to #276.Cute Animal Picture