Class: Casper::Entity::DeployExecutable
- Inherits:
-
Object
- Object
- Casper::Entity::DeployExecutable
- Includes:
- Utils::Helpers
- Defined in:
- lib/entity/deploy_executable.rb
Overview
DeployExecutable
Instance Attribute Summary collapse
-
#module_bytes ⇒ Object
Returns the value of attribute module_bytes.
-
#stored_contract_by_hash ⇒ Object
Returns the value of attribute stored_contract_by_hash.
-
#stored_contract_by_name ⇒ Object
Returns the value of attribute stored_contract_by_name.
-
#stored_versioned_contract_by_hash ⇒ Object
Returns the value of attribute stored_versioned_contract_by_hash.
-
#stored_versioned_contract_by_name ⇒ Object
Returns the value of attribute stored_versioned_contract_by_name.
-
#transfer ⇒ Object
Returns the value of attribute transfer.
Instance Method Summary collapse
-
#get_module_bytes ⇒ ModuleBytes
Module_bytes.
- #get_stored_contract_by_hash ⇒ Object
- #get_stored_contract_by_name ⇒ Object
- #get_stored_versioned_contract_by_hash ⇒ Object
- #get_stored_versioned_contract_by_name ⇒ Object
- #get_transfer ⇒ Object
-
#initialize(h = {}) ⇒ DeployExecutable
constructor
A new instance of DeployExecutable.
- #module_bytes? ⇒ Boolean
- #new_transfer(id, amount, target, source_purse = nil) ⇒ DeployExecutable
- #set_module_bytes(module_bytes) ⇒ Object
- #set_stored_contract_by_hash(stored_contract_by_hash) ⇒ Object
- #set_stored_contract_by_name(stored_contract_by_name) ⇒ Object
- #set_stored_versioned_contract_by_hash(stored_versioned_contract_by_hash) ⇒ Object
- #set_stored_versioned_contract_by_name(stored_versioned_contract_by_name) ⇒ Object
- #set_transfer(transfer) ⇒ Object
- #standard_payment(payment_amount) ⇒ Object
- #stored_contract_by_hash? ⇒ Boolean
- #stored_contract_by_name? ⇒ Boolean
- #stored_versioned_contract_by_hash? ⇒ Boolean
- #stored_versioned_contract_by_name? ⇒ Boolean
- #to_bytes ⇒ Object
- #transfer? ⇒ Boolean
Methods included from Utils::Helpers
Constructor Details
#initialize(h = {}) ⇒ DeployExecutable
Returns a new instance of DeployExecutable.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/entity/deploy_executable.rb', line 14 def initialize(h = {}) deploy_serializer = DeploySerializer.new() temp_args = [] deploy_serializer = DeploySerializer.new # puts h.keys[0] # => ModuleByte # @module_bytes = nil if h.keys[0] == :ModuleBytes args = h[:ModuleBytes][:args] # puts args args.each do |arg| name1 = arg[0] clvalue_hash = arg[1] # puts clvalue_hash # => {:bytes=>"0400f90295", :parsed=>"2500000000", :cl_type=>"U512"} clvalue = deploy_serializer.build_cl_value(arg[1]) # puts clvalue # => <CLu512:0x00000000015cbd58> temp_args << [Casper::Entity::DeployNamedArgument.new(name1, clvalue)] # puts temp_args[0][1] end @module_bytes = Casper::Entity::ModuleBytes.new(h[:ModuleBytes][:module_bytes], temp_args) # puts @module_bytes.get_module_bytes # => Return empty, since module_bytes = "" # puts @module_bytes.get_args[0][0].get_name # => amount # puts @module_bytes.get_args[0][0].get_value # => <CLu512:0x0000000002fc54c0> elsif h.keys[0] == :Transfer # temp_args = [] # args = h[:Transfer][:args] # # @transfer = Casper::Entity::DeployExecutableTransfer.new(args) # args.each do |arg| # name1 = arg[0] # if name1 == "amount" || name1 == "target" # clvalue_hash = arg[1] # clvalue = deploy_serializer.build_cl_value(arg[1]) # # puts "clvalue.get_value: #{clvalue.get_value}" # temp_args << [Casper::Entity::DeployNamedArgument.new(name1, clvalue)] # elsif name1 == "id" # bytes = arg[1][:bytes] # puts bytes # parsed = arg[1][:parsed] # puts parsed # h = arg[1][:cl_type] # key, value = h.first # cl_type = h.keys[0] # puts key, value # # inner_type = value # # inner_clvalue = Utils::Helpers.construct_inner_clvalue(cl_type, parsed) # # # data = { "cl_type": inner_type, "bytes": bytes, "parsed": parsed} # # clvalue = CLOption.new(inner_clvalue, inner_type) # # temp_args << [Casper::Entity::DeployNamedArgument.new(name1, clvalue)] # end temp_args = [] args = h[:Transfer][:args] transfer = Casper::Entity::DeployExecutableTransfer.new(args) # args.each do |arg| # name1 = arg[0] # => "amount" # clvalue_hash = arg[1] # => {:cl_type=>"I32", :bytes=>"e8030000", :parsed=>1000} # clvalue = build_cl_value(arg[1]) # # puts clvalue # temp_args << [Casper::Entity::DeployNamedArgument.new(name1, clvalue)] # end args.each do |arg| name1 = arg[0] if name1 == "amount" || name1 == "target" clvalue_hash = arg[1] clvalue = deploy_serializer.build_cl_value(arg[1]) # puts "clvalue.get_value: #{clvalue.get_value}" temp_args << [Casper::Entity::DeployNamedArgument.new(name1, clvalue)] elsif name1 == "id" bytes = arg[1][:bytes] parsed = arg[1][:parsed] h = arg[1][:cl_type] key, value = h.first cl_type = h.keys[0] # puts key, value inner_type = value # puts "Inner Type = #{value}" # data = { "cl_type": inner_type, "bytes": bytes, "parsed": parsed} # clvalue = CLOption.new(data, inner_type) inner_clvalue = Utils::Helpers.construct_inner_clvalue(inner_type, parsed) clvalue = CLOption.new(inner_clvalue, inner_type) # type = clvalue.get_cl_type # puts type # value = clvalue.get_value # puts value # tag = CLType::TAGS[type.to_sym] # puts tag # cl_value = { "cl_type": cl_type, "bytes": bytes, "parsed": parsed} # clvalue = build_cl_value(cloption) # puts cloption.get_value temp_args << [Casper::Entity::DeployNamedArgument.new(name1, clvalue)] end end @transfer = Casper::Entity::DeployExecutableTransfer.new(temp_args) # puts @transfer # puts args end # puts @transfer @stored_contract_by_hash = nil @stored_contract_by_name = nil @stored_versioned_contract_by_hash = nil @stored_versioned_contract_by_name = nil # @transfer = nil end |
Instance Attribute Details
#module_bytes ⇒ Object
Returns the value of attribute module_bytes.
11 12 13 |
# File 'lib/entity/deploy_executable.rb', line 11 def module_bytes @module_bytes end |
#stored_contract_by_hash ⇒ Object
Returns the value of attribute stored_contract_by_hash.
11 12 13 |
# File 'lib/entity/deploy_executable.rb', line 11 def stored_contract_by_hash @stored_contract_by_hash end |
#stored_contract_by_name ⇒ Object
Returns the value of attribute stored_contract_by_name.
11 12 13 |
# File 'lib/entity/deploy_executable.rb', line 11 def stored_contract_by_name @stored_contract_by_name end |
#stored_versioned_contract_by_hash ⇒ Object
Returns the value of attribute stored_versioned_contract_by_hash.
11 12 13 |
# File 'lib/entity/deploy_executable.rb', line 11 def stored_versioned_contract_by_hash @stored_versioned_contract_by_hash end |
#stored_versioned_contract_by_name ⇒ Object
Returns the value of attribute stored_versioned_contract_by_name.
11 12 13 |
# File 'lib/entity/deploy_executable.rb', line 11 def stored_versioned_contract_by_name @stored_versioned_contract_by_name end |
#transfer ⇒ Object
Returns the value of attribute transfer.
11 12 13 |
# File 'lib/entity/deploy_executable.rb', line 11 def transfer @transfer end |
Instance Method Details
#get_module_bytes ⇒ ModuleBytes
Returns module_bytes.
162 163 164 |
# File 'lib/entity/deploy_executable.rb', line 162 def get_module_bytes @module_bytes end |
#get_stored_contract_by_hash ⇒ Object
190 191 192 |
# File 'lib/entity/deploy_executable.rb', line 190 def get_stored_contract_by_hash @stored_contract_by_hash end |
#get_stored_contract_by_name ⇒ Object
204 205 206 |
# File 'lib/entity/deploy_executable.rb', line 204 def get_stored_contract_by_name @stored_contract_by_name end |
#get_stored_versioned_contract_by_hash ⇒ Object
218 219 220 |
# File 'lib/entity/deploy_executable.rb', line 218 def get_stored_versioned_contract_by_hash @stored_versioned_contract_by_hash end |
#get_stored_versioned_contract_by_name ⇒ Object
232 233 234 |
# File 'lib/entity/deploy_executable.rb', line 232 def get_stored_versioned_contract_by_name @stored_versioned_contract_by_name end |
#get_transfer ⇒ Object
176 177 178 |
# File 'lib/entity/deploy_executable.rb', line 176 def get_transfer @transfer end |
#module_bytes? ⇒ Boolean
167 168 169 |
# File 'lib/entity/deploy_executable.rb', line 167 def module_bytes? @module_bytes != nil end |
#new_transfer(id, amount, target, source_purse = nil) ⇒ DeployExecutable
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/entity/deploy_executable.rb', line 132 def new_transfer(id, amount, target, source_purse = nil) if target.instance_of? CLURef @target = target elsif target.instance_of? CLPublicKey @target = target.to_account_hash_byte_array else raise ArgumentError.new("Please specify target") end arg1 = DeployNamedArgument.new("amount", CLu512.new(amount)) # arg2 = DeployNamedArgument.new("target", @target) @transfer = DeployExecutableTransfer.new([]) # @transfer.set_arg(DeployNamedArgument.new("target", @target)) # @transfer.set_arg(arg1) # @transfer.set_arg(arg2) # @transfer if source_purse != nil @transfer.set_arg(DeployNamedArgument.new("source", source_purse)) # @transfer end @transfer.set_arg(DeployNamedArgument.new("target", @target)) @transfer.set_arg(DeployNamedArgument.new("id", CLu64.new(id))) @transfer end |
#set_module_bytes(module_bytes) ⇒ Object
157 158 159 |
# File 'lib/entity/deploy_executable.rb', line 157 def set_module_bytes(module_bytes) @module_bytes = module_bytes end |
#set_stored_contract_by_hash(stored_contract_by_hash) ⇒ Object
186 187 188 |
# File 'lib/entity/deploy_executable.rb', line 186 def set_stored_contract_by_hash(stored_contract_by_hash) @stored_contract_by_hash = stored_contract_by_hash end |
#set_stored_contract_by_name(stored_contract_by_name) ⇒ Object
200 201 202 |
# File 'lib/entity/deploy_executable.rb', line 200 def set_stored_contract_by_name(stored_contract_by_name) @stored_contract_by_name = stored_contract_by_name end |
#set_stored_versioned_contract_by_hash(stored_versioned_contract_by_hash) ⇒ Object
214 215 216 |
# File 'lib/entity/deploy_executable.rb', line 214 def set_stored_versioned_contract_by_hash(stored_versioned_contract_by_hash) @stored_versioned_contract_by_hash = stored_versioned_contract_by_hash end |
#set_stored_versioned_contract_by_name(stored_versioned_contract_by_name) ⇒ Object
228 229 230 |
# File 'lib/entity/deploy_executable.rb', line 228 def set_stored_versioned_contract_by_name(stored_versioned_contract_by_name) @stored_versioned_contract_by_name = stored_versioned_contract_by_name end |
#set_transfer(transfer) ⇒ Object
172 173 174 |
# File 'lib/entity/deploy_executable.rb', line 172 def set_transfer(transfer) @transfer = transfer end |
#standard_payment(payment_amount) ⇒ Object
120 121 122 123 124 125 |
# File 'lib/entity/deploy_executable.rb', line 120 def standard_payment(payment_amount) @module_bytes = ModuleBytes.new("", []) arg = DeployNamedArgument.new("amount", CLu512.new(payment_amount)) @module_bytes.set_arg(arg) # => Add arg and return args @module_bytes end |
#stored_contract_by_hash? ⇒ Boolean
195 196 197 |
# File 'lib/entity/deploy_executable.rb', line 195 def stored_contract_by_hash? @stored_contract_by_hash != nil end |
#stored_contract_by_name? ⇒ Boolean
209 210 211 |
# File 'lib/entity/deploy_executable.rb', line 209 def stored_contract_by_name? @stored_contract_by_name != nil end |
#stored_versioned_contract_by_hash? ⇒ Boolean
223 224 225 |
# File 'lib/entity/deploy_executable.rb', line 223 def stored_versioned_contract_by_hash? @stored_versioned_contract_by_hash != nil end |
#stored_versioned_contract_by_name? ⇒ Boolean
237 238 239 |
# File 'lib/entity/deploy_executable.rb', line 237 def stored_versioned_contract_by_name? @stored_versioned_contract_by_name != nil end |
#to_bytes ⇒ Object
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 |
# File 'lib/entity/deploy_executable.rb', line 241 def to_bytes if module_bytes? # puts "DeployExecutable::to_bytes " + module_bytes?.to_s @module_bytes.to_bytes elsif stored_contract_by_name? @stored_contract_by_name.to_bytes elsif stored_contract_by_hash? @stored_contract_by_hash.to_bytes elsif stored_contract_by_name? @stored_contract_by_name.to_bytes elsif stored_versioned_contract_by_hash? @stored_versioned_contract_by_hash.to_bytes elsif stored_versioned_contract_by_name? @stored_versioned_contract_by_name.to_bytes elsif stored_versioned_contract_by_hash? @stored_versioned_contract_by_hash.to_bytes elsif transfer? @transfer.to_bytes else raise "failed to serialize ExecutableDeployItemJsonWrapper" end end |
#transfer? ⇒ Boolean
181 182 183 |
# File 'lib/entity/deploy_executable.rb', line 181 def transfer? @transfer != nil end |