Skip to content
This repository has been archived by the owner on May 26, 2023. It is now read-only.

can not work well with multiple sol files or multiple contracts #129

Closed
BoBoUAlice opened this issue Jun 29, 2017 · 3 comments
Closed

can not work well with multiple sol files or multiple contracts #129

BoBoUAlice opened this issue Jun 29, 2017 · 3 comments
Assignees

Comments

@BoBoUAlice
Copy link

Hi,
I use "truffle init" to create MetaCoin.sol and ConvertLib.sol; and in MetaCoin.sol, it contains the code of "import "ConvertLib.sol"".
Now, using oyente, i get the bytecode of MetaCoin.sol is:
606060405263ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416637bd703e8811461005057806390b98a111461007e578063f8b2cb4f146100b1575bfe5b341561005857fe5b61006c600160a060020a03600435166100df565b60408051918252519081900360200190f35b341561008657fe5b61009d600160a060020a036004351660243561017f565b604080519115158252519081900360200190f35b34156100b957fe5b61006c600160a060020a0360043516610217565b60408051918252519081900360200190f35b600073__ConvertLib.sol:ConvertLib_____________6396e4ee3d61010484610217565b60026000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561016257fe5b6102c65a03f4151561017057fe5b5050604051519150505b919050565b600160a060020a033316600090815260208190526040812054829010156101a857506000610211565b600160a060020a0333811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060015b92915050565b600160a060020a0381166000908152602081905260409020545b9190505600a165627a7a723058206d8fcfcd47383a6b633e49e0b47ec81238656b30961e0903bcf9c2f0dba774a30029
this bytecode contains "ConvertLib.sol:ConvertLib___________", i debuged oyente, and found it can not be turned into opcode.

@inian
Copy link
Contributor

inian commented Jul 1, 2017

Hey,

I assume you were referring to the contracts here right - https://github.com/ConsenSys/truffle-webpack-demo/tree/master/contracts

Oyente figures out the dependencies and prints out the results for each contract separately.

This is the result I am getting when I run oyente for MetaCoin.sol
image

There is an invalid byte error though, I am looking into that now..

@inian
Copy link
Contributor

inian commented Jul 2, 2017

@Ishowcode as you said, it looks like evm disasm fails if the bytecode contains __ConvertLib.sol:ConvertLib_____________

Should this be reported as an upstream bug to evm?

@BoBoUAlice
Copy link
Author

@inian Thanks for your reply, i also think this is a bug of evm.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

2 participants