klaytn 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/klaytn/base.rb +1 -0
- data/lib/klaytn/contract.rb +1 -2
- data/lib/klaytn/json_rpc.rb +22 -0
- data/lib/klaytn/version.rb +1 -1
- data/lib/klaytn.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c620946e62b78ff80bd0278595c2c361746ae3410aeb29ac9643dcda742a59f
|
4
|
+
data.tar.gz: c4783ec33c0f850229432f504732d881b767e4c79e9f3eed4d054bd0bf7ee584
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfca0a8b675e50ec7fb3a616bcaa2817017601c8a4add61d1b269ef05620aef24149740c05b20d97f251d463a693e7b9e02506929452362d620ab4e4905f8af3
|
7
|
+
data.tar.gz: 96cb03c757b0306c232274dddf995450a0e6d0160fee84c6a99d27ec27b95ebf65f03b7bef0d2ca6f0ad544780b69f198b97d18eebce9ba25ed5db2c71f79a43
|
data/Gemfile.lock
CHANGED
data/lib/klaytn/base.rb
CHANGED
@@ -8,5 +8,6 @@ module Klaytn
|
|
8
8
|
MISSING_ACCOUNT_POOL_KRN = 'Please provide a KAS Account Pool KRN id to finish linking your KAS Wallet (ex: krn:XXXX:wallet:yyyy...).'.freeze # KAS > Service > Wallet > Account Pool > KRN
|
9
9
|
MISSING_ABI = 'Please provide the contract ABI, an array-like object returned by the compiler.'.freeze
|
10
10
|
FUNCTION_NOT_FOUND = 'Function with definition XXX not found.'.freeze
|
11
|
+
MISSING_JSONRPC_METHOD = 'RPC method name required, e.g. klay_blockNumber.'.freeze
|
11
12
|
end
|
12
13
|
end
|
data/lib/klaytn/contract.rb
CHANGED
@@ -29,8 +29,7 @@ module Klaytn
|
|
29
29
|
JSON.parse(resp.body)
|
30
30
|
end
|
31
31
|
|
32
|
-
|
33
|
-
# definition ex: 'addAddressToWhitelist' - string literal Solidity function definition, without parameters/parens
|
32
|
+
# definition ex: 'addAddressToWhitelist' - string literal Solidity function definition, without params/parens
|
34
33
|
# inputs ex: [OpenStruct.new({ "internalType": "address", "name": "addr", "type": "address" })] - array of dot-notation object from ABI
|
35
34
|
# params ex: ['0x0xxxx'] - array of arguments accepted by function
|
36
35
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Klaytn
|
2
|
+
class JsonRpc < Client
|
3
|
+
BASE_URL = 'https://node-api.klaytnapi.com/v1/klaytn'.freeze
|
4
|
+
|
5
|
+
def invoke_function(opts)
|
6
|
+
raise MISSING_JSONRPC_METHOD if opts[:method].blank?
|
7
|
+
|
8
|
+
body = function_body_builder(opts)
|
9
|
+
resp = HTTParty.post(BASE_URL, body: body.to_json, headers: headers.merge('content-type' => 'application/json'), basic_auth: basic_auth)
|
10
|
+
JSON.parse(resp.body)
|
11
|
+
end
|
12
|
+
|
13
|
+
def function_body_builder(opts)
|
14
|
+
{
|
15
|
+
id: opts[:id] || 1,
|
16
|
+
jsonrpc: opts[:jsonrpc_version] || "2.0",
|
17
|
+
method: opts[:method], # => klay_isContractAccount
|
18
|
+
params: opts[:params] # => ["0x4319c81f7894f60c70600cf29ee440ed62e7401e", "earliest"]
|
19
|
+
}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/klaytn/version.rb
CHANGED
data/lib/klaytn.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: klaytn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Kulp
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- lib/klaytn/contract.rb
|
94
94
|
- lib/klaytn/decoder.rb
|
95
95
|
- lib/klaytn/encoder.rb
|
96
|
+
- lib/klaytn/json_rpc.rb
|
96
97
|
- lib/klaytn/token.rb
|
97
98
|
- lib/klaytn/transaction.rb
|
98
99
|
- lib/klaytn/version.rb
|