Class: Platon::Solidity

Inherits:
Object
  • Object
show all
Defined in:
lib/platon/solidity.rb

Constant Summary collapse

OUTPUT_REGEXP =
/======= (\S*):(\S*) =======\s*Binary:\s*(\S*)\s*Contract JSON ABI\s*(.*)/

Instance Method Summary collapse

Constructor Details

#initialize(bin_path = "solc") ⇒ Solidity

Returns a new instance of Solidity.



15
16
17
18
# File 'lib/platon/solidity.rb', line 15

def initialize(bin_path = "solc")
  @bin_path = bin_path
  @args = "--bin --abi --optimize"
end

Instance Method Details

#compile(filename) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/platon/solidity.rb', line 20

def compile(filename)
  result = {}
  execute_solc(filename).scan(OUTPUT_REGEXP).each do |match|
    _file, name, bin, abi = match
    result[name] = {}
    result[name]["abi"] = abi
    result[name]["bin"] = bin
  end
  result
end