ethereum 0.4.62 → 0.4.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ethereum/contract.rb +22 -15
- data/lib/ethereum/version.rb +1 -1
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: dccc79e9ed08f479e0b29a23b118219cc6a4279e
         | 
| 4 | 
            +
              data.tar.gz: 6698a12c7b695fa55e5cbfef02cfe659e0bdf4a9
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: dc37866485be2014731cc2e909c013a02f3c0f6765fb2a1650644f3c4062f998de0775e579278538e721d674a05d5129cb6ea9c238bb2f1ee97a31a2b87d928e
         | 
| 7 | 
            +
              data.tar.gz: 2a7370d6d0fba1ec25987e3dfb130dd081803b61b409cb207c7ca21c3d8720ec3cf1b5fd052ff3d0c1f0c1941f96190ea7d87a265773d34e574265df2043f9e1
         | 
    
        data/lib/ethereum/contract.rb
    CHANGED
    
    | @@ -22,7 +22,7 @@ module Ethereum | |
| 22 22 | 
             
                  class_name = @name
         | 
| 23 23 | 
             
                  functions = @functions
         | 
| 24 24 | 
             
                  constructor_inputs = @constructor_inputs
         | 
| 25 | 
            -
                   | 
| 25 | 
            +
                  binary = @code
         | 
| 26 26 |  | 
| 27 27 | 
             
                  class_methods = Class.new do
         | 
| 28 28 |  | 
| @@ -32,57 +32,61 @@ module Ethereum | |
| 32 32 |  | 
| 33 33 | 
             
                    define_method :deploy do |*params|
         | 
| 34 34 | 
             
                      formatter = Ethereum::Formatter.new
         | 
| 35 | 
            +
                      deploy_code = binary
         | 
| 36 | 
            +
                      deploy_arguments = ""
         | 
| 35 37 | 
             
                      if constructor_inputs.present?
         | 
| 36 38 | 
             
                        raise "Missing constructor parameter" and return if params.length != constructor_inputs.length
         | 
| 37 39 | 
             
                        constructor_inputs.each_index do |i|
         | 
| 38 40 | 
             
                          args = [constructor_inputs[i]["type"], params[i]]
         | 
| 39 | 
            -
                           | 
| 41 | 
            +
                          deploy_arguments << formatter.to_payload(args)
         | 
| 40 42 | 
             
                        end
         | 
| 41 43 | 
             
                      end
         | 
| 42 | 
            -
                       | 
| 43 | 
            -
                       | 
| 44 | 
            +
                      deploy_payload = deploy_code + deploy_arguments
         | 
| 45 | 
            +
                      puts "sending payload #{deploy_payload}"
         | 
| 46 | 
            +
                      deploytx = connection.send_transaction({from: self.sender, gas: 2000000, gasPrice: 60000000000, data: deploy_payload})["result"]
         | 
| 47 | 
            +
                      instance_variable_set("@deployment", Ethereum::Deployment.new(deploytx, connection))
         | 
| 44 48 | 
             
                    end
         | 
| 45 49 |  | 
| 46 50 | 
             
                    define_method :deployment do
         | 
| 47 | 
            -
                       | 
| 51 | 
            +
                      instance_variable_get("@deployment")
         | 
| 48 52 | 
             
                    end
         | 
| 49 53 |  | 
| 50 54 | 
             
                    define_method :deploy_and_wait do |time = 60.seconds, *params|
         | 
| 51 55 | 
             
                      self.deploy(*params)
         | 
| 52 56 | 
             
                      self.deployment.wait_for_deployment(time)
         | 
| 53 | 
            -
                       | 
| 57 | 
            +
                      instance_variable_set("@address", self.deployment.contract_address)
         | 
| 54 58 | 
             
                    end
         | 
| 55 59 |  | 
| 56 60 | 
             
                    define_method :at do |addr|
         | 
| 57 | 
            -
                       | 
| 61 | 
            +
                      instance_variable_set("@address", addr) 
         | 
| 58 62 | 
             
                    end
         | 
| 59 63 |  | 
| 60 64 | 
             
                    define_method :address do
         | 
| 61 | 
            -
                       | 
| 65 | 
            +
                      instance_variable_get("@address")
         | 
| 62 66 | 
             
                    end
         | 
| 63 67 |  | 
| 64 68 | 
             
                    define_method :as do |addr|
         | 
| 65 | 
            -
                       | 
| 69 | 
            +
                      instance_variable_set("@sender", addr)
         | 
| 66 70 | 
             
                    end
         | 
| 67 71 |  | 
| 68 72 | 
             
                    define_method :sender do
         | 
| 69 | 
            -
                       | 
| 73 | 
            +
                      instance_variable_get("@sender") || connection.coinbase["result"]
         | 
| 70 74 | 
             
                    end
         | 
| 71 75 |  | 
| 72 76 | 
             
                    define_method :set_gas_price do |gp|
         | 
| 73 | 
            -
                       | 
| 77 | 
            +
                      instance_variable_set("@gas_price", gp)
         | 
| 74 78 | 
             
                    end
         | 
| 75 79 |  | 
| 76 80 | 
             
                    define_method :gas_price do
         | 
| 77 | 
            -
                       | 
| 81 | 
            +
                      instance_variable_get("@gas_price") || 60000000000
         | 
| 78 82 | 
             
                    end
         | 
| 79 83 |  | 
| 80 84 | 
             
                    define_method :set_gas do |gas|
         | 
| 81 | 
            -
                       | 
| 85 | 
            +
                      instance_variable_set("@gas", gas)
         | 
| 82 86 | 
             
                    end
         | 
| 83 87 |  | 
| 84 88 | 
             
                    define_method :gas do 
         | 
| 85 | 
            -
                       | 
| 89 | 
            +
                      instance_variable_get("@gas") || 2000000
         | 
| 86 90 | 
             
                    end
         | 
| 87 91 |  | 
| 88 92 | 
             
                    functions.each do |fun|
         | 
| @@ -152,7 +156,10 @@ module Ethereum | |
| 152 156 |  | 
| 153 157 | 
             
                    end
         | 
| 154 158 | 
             
                  end
         | 
| 155 | 
            -
                   | 
| 159 | 
            +
                  if Object.const_defined?(class_name)
         | 
| 160 | 
            +
                    Object.send(:remove_const, class_name)
         | 
| 161 | 
            +
                  end
         | 
| 162 | 
            +
                  Object.const_set(class_name, class_methods)
         | 
| 156 163 | 
             
                end
         | 
| 157 164 |  | 
| 158 165 | 
             
              end
         | 
    
        data/lib/ethereum/version.rb
    CHANGED