aboutsummaryrefslogtreecommitdiffstats
path: root/CompilerStack.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-08-01 01:23:31 +0800
committerchriseth <c@ethdev.com>2015-08-01 01:23:31 +0800
commit943fd623e16829ad93c05b60b44676485b989620 (patch)
tree2fb06c27db50f9f533261e424f1c531f6849d94d /CompilerStack.h
parentf2f1e0300793ea5686a4ad1c5c46b9e454c01bdc (diff)
downloaddexon-solidity-943fd623e16829ad93c05b60b44676485b989620.tar
dexon-solidity-943fd623e16829ad93c05b60b44676485b989620.tar.gz
dexon-solidity-943fd623e16829ad93c05b60b44676485b989620.tar.bz2
dexon-solidity-943fd623e16829ad93c05b60b44676485b989620.tar.lz
dexon-solidity-943fd623e16829ad93c05b60b44676485b989620.tar.xz
dexon-solidity-943fd623e16829ad93c05b60b44676485b989620.tar.zst
dexon-solidity-943fd623e16829ad93c05b60b44676485b989620.zip
Create and output clone contracts.
Diffstat (limited to 'CompilerStack.h')
-rw-r--r--CompilerStack.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/CompilerStack.h b/CompilerStack.h
index a7c6ea3b..735c4d15 100644
--- a/CompilerStack.h
+++ b/CompilerStack.h
@@ -99,6 +99,11 @@ public:
bytes const& getBytecode(std::string const& _contractName = "") const;
/// @returns the runtime bytecode for the contract, i.e. the code that is returned by the constructor.
bytes const& getRuntimeBytecode(std::string const& _contractName = "") const;
+ /// @returns the bytecode of a contract that uses an already deployed contract via CALLCODE.
+ /// The returned bytes will contain a sequence of 20 bytes of the format "XXX...XXX" which have to
+ /// substituted by the actual address. Note that this sequence starts end ends in three X
+ /// characters but can contain anything in between.
+ bytes const& getCloneBytecode(std::string const& _contractName = "") const;
/// @returns normal contract assembly items
eth::AssemblyItems const* getAssemblyItems(std::string const& _contractName = "") const;
/// @returns runtime contract assembly items
@@ -167,6 +172,7 @@ private:
std::shared_ptr<Compiler> compiler;
bytes bytecode;
bytes runtimeBytecode;
+ bytes cloneBytecode;
std::shared_ptr<InterfaceHandler> interfaceHandler;
mutable std::unique_ptr<std::string const> interface;
mutable std::unique_ptr<std::string const> solidityInterface;