casper_network 1.0.0 → 1.0.1
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/casper_network.rb +1 -2
- data/lib/crypto/00_asymmetric_key.rb +1 -1
- data/lib/crypto/asymmetric_key.rb +1 -1
- data/lib/entity/account.rb +1 -1
- data/lib/entity/action_thresholds.rb +2 -2
- data/lib/entity/associated_key.rb +1 -1
- data/lib/entity/auction_state.rb +1 -0
- data/lib/entity/bid.rb +1 -0
- data/lib/entity/bid_info.rb +1 -0
- data/lib/entity/contract.rb +1 -1
- data/lib/entity/delegator.rb +1 -0
- data/lib/entity/deploy.rb +1 -0
- data/lib/entity/deploy_approval.rb +1 -0
- data/lib/entity/deploy_executable.rb +4 -3
- data/lib/entity/deploy_executable_item_internal.rb +1 -0
- data/lib/entity/deploy_executable_transfer.rb +1 -0
- data/lib/entity/deploy_hash.rb +1 -0
- data/lib/entity/deploy_header.rb +1 -0
- data/lib/entity/deploy_info.rb +1 -0
- data/lib/entity/deploy_named_argument.rb +1 -0
- data/lib/entity/deploy_transfer.rb +1 -0
- data/lib/entity/era_summary.rb +1 -0
- data/lib/entity/era_validator.rb +1 -0
- data/lib/entity/executable_deploy_item.rb +1 -1
- data/lib/entity/group.rb +2 -2
- data/lib/entity/module_bytes.rb +1 -0
- data/lib/entity/peer.rb +1 -0
- data/lib/entity/stored_contract_by_hash.rb +1 -0
- data/lib/entity/stored_contract_by_name.rb +2 -0
- data/lib/entity/stored_versioned_contract_by_hash.rb +2 -0
- data/lib/entity/stored_versioned_contract_by_name.rb +2 -0
- data/lib/entity/transfer.rb +1 -0
- data/lib/entity/validator_weight.rb +1 -0
- data/lib/rpc/rpc_client.rb +1 -1
- data/lib/rpc/rpc_error.rb +1 -0
- data/lib/serialization/cl_type_serializer.rb +1 -0
- data/lib/serialization/cl_value_bytes_parsers.rb +1 -1
- data/lib/serialization/cl_value_serializer.rb +1 -0
- data/lib/serialization/deploy_approval_serializer.rb +1 -0
- data/lib/serialization/deploy_executable_serializer.rb +3 -2
- data/lib/serialization/deploy_header_serializer.rb +2 -2
- data/lib/serialization/deploy_named_arg_serializer.rb +1 -0
- data/lib/serialization/deploy_serializer.rb +1 -0
- data/lib/types/cl_type.rb +5 -3
- data/lib/types/cl_uref.rb +2 -1
- data/lib/types/cl_value.rb +1 -0
- data/lib/utils/byte_utils.rb +3 -3
- data/lib/version.rb +1 -1
- data/spec/client_spec.rb +20 -20
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79a82b8fd4b57919a7bfe74dcd42f79fcdcac5a89a68722ee5d9d0cc4f621f76
|
4
|
+
data.tar.gz: 4c77091a8448de28de05cf8af7b19e32bd21f6e7dc2916f8e91c1def1738db7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e884413451fb3e760745245319570d2a299c276c0885042c170821e535aaec7eeed65772e68c6c444f63674ba60d4d2ee2933a99dd8512b0b0975909faada95c
|
7
|
+
data.tar.gz: e01d429e70bf95b5a2e3197de1fec5a935a7507adb553bf52cf773d862a919f090c0e6654744aa5d4b7aae1f0915d3a6595f79b7951d6ab8f43236ccbd27ea94
|
data/lib/casper_network.rb
CHANGED
@@ -15,9 +15,8 @@ require_relative './rpc/rpc_client.rb'
|
|
15
15
|
# Dir["./serialization/*.rb"].each {|file| require file }
|
16
16
|
# Dir["./types/*.rb"].each {|file| require file }
|
17
17
|
require_relative './include.rb'
|
18
|
-
# Class for interacting with the network via RPC
|
19
|
-
# puts "Hello"
|
20
18
|
module Casper
|
19
|
+
# Interacting with the network
|
21
20
|
class CasperClient
|
22
21
|
attr_accessor :ip_address, :port, :url, :state_root_hash
|
23
22
|
|
@@ -56,7 +56,7 @@ class AsymmetricKey
|
|
56
56
|
bytes = prefix + @public_key.get_value
|
57
57
|
result_array = Utils::HashUtils.byte_hash(bytes)
|
58
58
|
@public_key.get_value.length == 0 ? [] : result_array
|
59
|
-
|
59
|
+
#** @public_key.to_account_hash_byte_array
|
60
60
|
end
|
61
61
|
|
62
62
|
# @param [String] path_to_private_key
|
@@ -56,7 +56,7 @@ class AsymmetricKey
|
|
56
56
|
bytes = prefix + @public_key.get_value
|
57
57
|
result_array = Utils::HashUtils.byte_hash(bytes)
|
58
58
|
@public_key.get_value.length == 0 ? [] : result_array
|
59
|
-
|
59
|
+
#*** @public_key.to_account_hash_byte_array
|
60
60
|
end
|
61
61
|
|
62
62
|
# @param [String] path_to_private_key
|
data/lib/entity/account.rb
CHANGED
@@ -5,7 +5,7 @@ module Casper
|
|
5
5
|
|
6
6
|
# @param [CLAccountHash] account_hash
|
7
7
|
# @param [Array] named_keys
|
8
|
-
# @param [CLUref] main_purse
|
8
|
+
# @param [CLUref] main_purse The account's main purse URef
|
9
9
|
# @param [Array] associated_keys
|
10
10
|
# @param [Array<ActionThresHolds>] action_thresholds
|
11
11
|
def initialize(account_hash, named_keys, main_purse, associated_keys, action_thresholds)
|
@@ -4,8 +4,8 @@ module Casper
|
|
4
4
|
# @note The minimum weight thresholds that have to be met when executing an action of a certain type.
|
5
5
|
class ActionThresholds
|
6
6
|
|
7
|
-
# @param [Integer] deployment
|
8
|
-
# @param [Integer] key_management
|
7
|
+
# @param [Integer] deployment Threshold required to perform deployment actions.
|
8
|
+
# @param [Integer] key_management Threshold required to perform key management actions.
|
9
9
|
def initialize(deployment, key_management)
|
10
10
|
@deployment = deployment
|
11
11
|
@key_management = key_management
|
data/lib/entity/auction_state.rb
CHANGED
data/lib/entity/bid.rb
CHANGED
data/lib/entity/bid_info.rb
CHANGED
data/lib/entity/contract.rb
CHANGED
data/lib/entity/delegator.rb
CHANGED
data/lib/entity/deploy.rb
CHANGED
@@ -4,6 +4,7 @@ require_relative './deploy_executable_transfer.rb'
|
|
4
4
|
|
5
5
|
module Casper
|
6
6
|
module Entity
|
7
|
+
# DeployExecutable
|
7
8
|
class DeployExecutable
|
8
9
|
attr_accessor :module_bytes, :transfer, :stored_contract_by_hash, :stored_contract_by_name,
|
9
10
|
:stored_versioned_contract_by_hash, :stored_versioned_contract_by_name
|
@@ -81,7 +82,7 @@ module Casper
|
|
81
82
|
@transfer != nil
|
82
83
|
end
|
83
84
|
|
84
|
-
# @param [StoredContractByHash]
|
85
|
+
# @param [StoredContractByHash] stored_contract_by_hash
|
85
86
|
def set_stored_contract_by_hash(stored_contract_by_hash)
|
86
87
|
@stored_contract_by_hash = stored_contract_by_hash
|
87
88
|
end
|
@@ -109,7 +110,7 @@ module Casper
|
|
109
110
|
@stored_contract_by_name != nil
|
110
111
|
end
|
111
112
|
|
112
|
-
# @param [StoredVersionedContractByHash]
|
113
|
+
# @param [StoredVersionedContractByHash] stored_versioned_contract_by_hash
|
113
114
|
def set_stored_versioned_contract_by_hash(stored_versioned_contract_by_hash)
|
114
115
|
@stored_versioned_contract_by_hash = stored_versioned_contract_by_hash
|
115
116
|
end
|
@@ -123,7 +124,7 @@ module Casper
|
|
123
124
|
@stored_versioned_contract_by_hash != nil
|
124
125
|
end
|
125
126
|
|
126
|
-
# @param [StoredVersionedContractByName]
|
127
|
+
# @param [StoredVersionedContractByName] stored_versioned_contract_by_name
|
127
128
|
def set_stored_versioned_contract_by_name(stored_versioned_contract_by_name)
|
128
129
|
@stored_versioned_contract_by_name = stored_versioned_contract_by_name
|
129
130
|
end
|
@@ -17,6 +17,7 @@ require_relative './deploy_executable_item_internal.rb'
|
|
17
17
|
=end
|
18
18
|
module Casper
|
19
19
|
module Entity
|
20
|
+
# A native transfer which does not contain or reference a Wasm code.
|
20
21
|
class DeployExecutableTransfer < DeployExecutableItemInternal
|
21
22
|
|
22
23
|
# @param [Array<Array<DeployNamedArgument>>] args
|
data/lib/entity/deploy_hash.rb
CHANGED
data/lib/entity/deploy_header.rb
CHANGED
data/lib/entity/deploy_info.rb
CHANGED
data/lib/entity/era_summary.rb
CHANGED
data/lib/entity/era_validator.rb
CHANGED
data/lib/entity/group.rb
CHANGED
data/lib/entity/module_bytes.rb
CHANGED
@@ -2,6 +2,7 @@ require_relative './deploy_executable_item_internal.rb'
|
|
2
2
|
|
3
3
|
module Casper
|
4
4
|
module Entity
|
5
|
+
# Executable specified as raw bytes that represent Wasm code and an instance of RuntimeArgs.
|
5
6
|
class ModuleBytes < DeployExecutableItemInternal
|
6
7
|
|
7
8
|
# @param [String] module_bytes
|
data/lib/entity/peer.rb
CHANGED
@@ -2,6 +2,7 @@ require_relative './deploy_executable_item_internal.rb'
|
|
2
2
|
|
3
3
|
module Casper
|
4
4
|
module Entity
|
5
|
+
# Stored contract referenced by its ContractHash, entry point and an instance of RuntimeArgs.
|
5
6
|
class StoredContractByHash < DeployExecutableItemInternal
|
6
7
|
|
7
8
|
# @param [String] hash
|
@@ -2,6 +2,8 @@ require_relative './deploy_executable_item_internal.rb'
|
|
2
2
|
|
3
3
|
module Casper
|
4
4
|
module Entity
|
5
|
+
# Stored contract referenced by a named key existing in the signer's Account context,
|
6
|
+
# entry point and an instance of RuntimeArgs.
|
5
7
|
class StoredContractByName < DeployExecutableItemInternal
|
6
8
|
|
7
9
|
# @param [String] name
|
@@ -2,6 +2,8 @@ require_relative './deploy_executable_item_internal.rb'
|
|
2
2
|
|
3
3
|
module Casper
|
4
4
|
module Entity
|
5
|
+
# Stored versioned contract referenced by its ContractPackageHash,
|
6
|
+
# entry point and an instance of RuntimeArgs.
|
5
7
|
class StoredVersionedContractByHash < DeployExecutableItemInternal
|
6
8
|
|
7
9
|
# @param [String] hash
|
@@ -2,6 +2,8 @@ require_relative './deploy_executable_item_internal.rb'
|
|
2
2
|
|
3
3
|
module Casper
|
4
4
|
module Entity
|
5
|
+
# Stored versioned contract referenced by a named key existing in the signer's Account context,
|
6
|
+
# entry point and an instance of RuntimeArgs.
|
5
7
|
class StoredVersionedContractByName < DeployExecutableItemInternal
|
6
8
|
|
7
9
|
# @param [String] name
|
data/lib/entity/transfer.rb
CHANGED
data/lib/rpc/rpc_client.rb
CHANGED
@@ -8,8 +8,8 @@ require 'active_support/core_ext/hash/keys'
|
|
8
8
|
require 'timeout'
|
9
9
|
require 'net/http'
|
10
10
|
require_relative './rpc_error.rb'
|
11
|
-
# Class for interacting with the network via RPC
|
12
11
|
module Casper
|
12
|
+
# Interacting with the network via RPC
|
13
13
|
class RpcClient
|
14
14
|
attr_accessor :ip_address, :port, :url, :state_root_hash
|
15
15
|
|
data/lib/rpc/rpc_error.rb
CHANGED
@@ -3,6 +3,7 @@ require_relative '../serialization/cl_value_bytes_parsers.rb'
|
|
3
3
|
require_relative '../utils/time_utils.rb'
|
4
4
|
require_relative '../utils/byte_utils.rb'
|
5
5
|
|
6
|
+
# Byte serializer for DeployApproval object
|
6
7
|
class DeployApprovalSerializer
|
7
8
|
def to_bytes(deploy_approval)
|
8
9
|
@approval_serializer = ""
|
@@ -1,12 +1,13 @@
|
|
1
1
|
require_relative '../entity/deploy_executable.rb'
|
2
2
|
|
3
|
-
|
3
|
+
# Byte serializer for DeployExecutable object
|
4
4
|
class DeployExecutableSerializer
|
5
5
|
|
6
6
|
def initialize
|
7
|
-
|
7
|
+
@deploy_executable = Casper::Entity::DeployExecutable.new
|
8
8
|
end
|
9
9
|
|
10
|
+
# @param [DeployExecutable] deploy_executable
|
10
11
|
def to_bytes(deploy_executable)
|
11
12
|
if deploy_executable.module_bytes?
|
12
13
|
deploy_executable.get_module_bytes.to_bytes
|
@@ -3,10 +3,10 @@ require_relative '../serialization/cl_value_bytes_parsers.rb'
|
|
3
3
|
require_relative '../utils/time_utils.rb'
|
4
4
|
require_relative '../utils/byte_utils.rb'
|
5
5
|
|
6
|
-
|
6
|
+
# Byte serializer for DeployHeader object
|
7
7
|
class DeployHeaderSerializer
|
8
8
|
|
9
|
-
# @param [DeployerHeader]
|
9
|
+
# @param [DeployerHeader] deploy_header
|
10
10
|
# @return [String] serialized_header
|
11
11
|
def to_bytes(deploy_header)
|
12
12
|
@serialized_header = ""
|
data/lib/types/cl_type.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'json'
|
2
2
|
|
3
|
+
# Casper types, i.e. types which can be stored and manipulated by smart contracts.
|
4
|
+
# Provides a description of the underlying data type of a CLValue.
|
3
5
|
class CLType
|
4
6
|
TAGS = {
|
5
7
|
# Boolean primitive.
|
@@ -71,7 +73,7 @@ class CLType
|
|
71
73
|
TAGS[key]
|
72
74
|
end
|
73
75
|
|
74
|
-
# @param [Integer]
|
76
|
+
# @param [Integer] value
|
75
77
|
# @return [String]
|
76
78
|
def get_tag_key(value)
|
77
79
|
TAGS.key(value).to_s
|
@@ -86,8 +88,8 @@ class CLType
|
|
86
88
|
TAGS
|
87
89
|
end
|
88
90
|
|
89
|
-
# @param [Integer]
|
90
|
-
# @return [Boolean]
|
91
|
+
# @param [Integer] value
|
92
|
+
# @return [Boolean]
|
91
93
|
def tag_value_isvalid(value)
|
92
94
|
TAGS.has_value?(value)
|
93
95
|
end
|
data/lib/types/cl_uref.rb
CHANGED
@@ -11,7 +11,8 @@ require 'json'
|
|
11
11
|
class CLURef < CLValue
|
12
12
|
include CLValueBytesParsers::CLURefBytesParser
|
13
13
|
attr_accessor :err
|
14
|
-
# @param [Array<Integer>]
|
14
|
+
# @param [Array<Integer>] value
|
15
|
+
# @param [AccessRights] access_rights
|
15
16
|
# value is an uint8array
|
16
17
|
def initialize(value = nil, access_rights = nil)
|
17
18
|
super()
|
data/lib/types/cl_value.rb
CHANGED
data/lib/utils/byte_utils.rb
CHANGED
@@ -2,7 +2,7 @@ module Utils
|
|
2
2
|
module ByteUtils
|
3
3
|
extend self
|
4
4
|
|
5
|
-
# @param [String]
|
5
|
+
# @param [String] str
|
6
6
|
# @return [String]
|
7
7
|
def string_to_hex(str)
|
8
8
|
# str.unpack1("H*")
|
@@ -28,7 +28,7 @@ module Utils
|
|
28
28
|
byte_array.pack("C*").unpack("H*").first
|
29
29
|
end
|
30
30
|
|
31
|
-
# @param [String]
|
31
|
+
# @param [String] str
|
32
32
|
# @return [Array]
|
33
33
|
def string_to_byte_array(str)
|
34
34
|
str.unpack("C*")
|
@@ -78,7 +78,7 @@ module Utils
|
|
78
78
|
end
|
79
79
|
|
80
80
|
# @param [String] hex_str
|
81
|
-
# @
|
81
|
+
# @return [String]
|
82
82
|
def hex_from_little_endian_to_big_endian(hex_str)
|
83
83
|
# [hex_str].pack("H*").unpack('N*').pack('V*').unpack1('H*')
|
84
84
|
[hex_str].pack("H*").unpack('N*').pack('V*').unpack('H*').first
|
data/lib/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
# client_spec.rb
|
2
|
-
|
2
|
+
require './lib/casper_network.rb'
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
#
|
7
|
-
|
8
|
-
|
9
|
-
#
|
10
|
-
|
11
|
-
#
|
12
|
-
|
4
|
+
describe CasperClient do
|
5
|
+
client1 = CasperClient.new("185.246.84.43")
|
6
|
+
# Test info_get_peers()
|
7
|
+
describe "#info_get_peers" do
|
8
|
+
it "returns peers array." do
|
9
|
+
# Check whether ıt is an array or not
|
10
|
+
expect(client1.info_get_peers).to be_an(Array)
|
11
|
+
# Check the length of the peers array
|
12
|
+
expect(client1.info_get_peers.length).to be > 0
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
#
|
17
|
-
|
18
|
-
|
19
|
-
#
|
20
|
-
|
21
|
-
|
22
|
-
|
14
|
+
end
|
15
|
+
end
|
16
|
+
# Test chain_get_StateRootHash()
|
17
|
+
describe "#chain_get_StateRootHash" do
|
18
|
+
it "returns current state_root_hash." do
|
19
|
+
# Check whether its type is string or not
|
20
|
+
expect(client1.chain_get_StateRootHash).to be_an(String)
|
21
|
+
end
|
22
|
+
end
|
23
23
|
|
24
24
|
|
25
|
-
|
25
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: casper_network
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mehmet Sait Gülmez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-09-
|
11
|
+
date: 2022-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby gem enables developers to interact with the Casper Network.
|
14
14
|
email: cenggulmez.65@gmail.com
|