risesdk 0.7.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 40613f6e114a5b79154b126fb8c5e226a6902782
4
+ data.tar.gz: 998c332e61d2f84323e248a8d188fb4a7928ebf4
5
+ SHA512:
6
+ metadata.gz: 8f4631ce7bce8bbf52a49329b762a4187c8748a0c25ad5e3d9dc30854c24e0e9a7cc87c2476e91eea7d9c26ae12ad1a82d2ee5d1b7ec636a736d22457dd1f383
7
+ data.tar.gz: a7059c3201c17d67121bbfc5f8a968423445e728042afdbba7659bbf6555e1f7dfefe54db1632c4253360f066c0dd4f21d2a72e7443a21f83ef5928ef1f02e34
@@ -0,0 +1,38 @@
1
+ require_relative 'helpers'
2
+
3
+ class Accounts
4
+ def initialize(helpers)
5
+ @helpers = helpers
6
+ end
7
+ def open(secret)
8
+ return @helpers.send_request("POST", "/api/accounts/open", data: { "secret" => secret })
9
+ end
10
+
11
+ def getBalance(address)
12
+ return @helpers.send_request("GET", "/api/accounts/getBalance?address=" + address)
13
+ end
14
+
15
+ def getPublicKey(address)
16
+ return @helpers.send_request("GET", "/api/accounts/getPublicKey?address=" + address)
17
+ end
18
+
19
+ def generatePublicKey(secret)
20
+ return @helpers.send_request("POST", "/api/accounts/generatePublicKey", data: { "secret" => secret })
21
+ end
22
+
23
+ def getAccount(address)
24
+ return @helpers.send_request("GET", "/api/accounts?address=" + address)
25
+ end
26
+
27
+ def getDelegates(address)
28
+ return @helpers.send_request("GET", "/api/accounts/delegates?address=" + address)
29
+ end
30
+
31
+ def putDelegates(secret, publicKey, delegates, secondSecret: nil)
32
+ options = { "secret" => secret, "publicKey" => publicKey, "delegates" => delegates }
33
+ unless secondSecret == nil then
34
+ options["secondSecret"] = secondSecret
35
+ end
36
+ return @helpers.send_request("PUT", "/api/accounts/delegates", data: options)
37
+ end
38
+ end
data/lib/api/blocks.rb ADDED
@@ -0,0 +1,72 @@
1
+ require_relative 'helpers'
2
+
3
+ class Blocks
4
+ def initialize(helpers)
5
+ @helpers = helpers
6
+ end
7
+
8
+ def get(id)
9
+ return @helpers.send_request("GET", "/api/blocks/get?id=" + id)
10
+ end
11
+
12
+ def getList(**kwargs)
13
+ query = ""
14
+ if kwargs.has_key? :generatorPublicKey then
15
+ query = @helpers.addToQuery(query, "generatorPublicKey", kwargs[:generatorPublicKey])
16
+ end
17
+ if kwargs.has_key? :totalFee then
18
+ query = @helpers.addToQuery(query, "totalFee", kwargs[:totalFee])
19
+ end
20
+ if kwargs.has_key? :totalAmount then
21
+ query = @helpers.addToQuery(query, "totalAmount", kwargs[:totalAmount])
22
+ end
23
+ if kwargs.has_key? :previousBlock then
24
+ query = @helpers.addToQuery(query, "previousBlock", kwargs[:previousBlock])
25
+ end
26
+ if kwargs.has_key? :height then
27
+ query = @helpers.addToQuery(query, "height", kwargs[:height])
28
+ end
29
+ if kwargs.has_key? :limit then
30
+ query = @helpers.addToQuery(query, "limit", kwargs[:limit])
31
+ end
32
+ if kwargs.has_key? :offset then
33
+ query = @helpers.addToQuery(query, "offset", kwargs[:offset])
34
+ end
35
+ if kwargs.has_key? :orderBy then
36
+ query = @helpers.addToQuery(query, "orderBy", kwargs[:orderBy])
37
+ end
38
+ return @helpers.send_request("GET", "/api/blocks" + query)
39
+ end
40
+
41
+ def getFee()
42
+ return @helpers.send_request("GET", "/api/blocks/getFee")
43
+ end
44
+
45
+ def getFeesSchedule()
46
+ return @helpers.send_request("GET", "/api/blocks/getFees")
47
+ end
48
+
49
+ def getReward()
50
+ return @helpers.send_request("GET", "/api/blocks/getReward")
51
+ end
52
+
53
+ def getSupply()
54
+ return @helpers.send_request("GET", "/api/blocks/getSupply")
55
+ end
56
+
57
+ def getHeight()
58
+ return @helpers.send_request("GET", "/api/blocks/getHeight")
59
+ end
60
+
61
+ def getStatus()
62
+ return @helpers.send_request("GET", "/api/blocks/getStatus")
63
+ end
64
+
65
+ def getNethash()
66
+ return @helpers.send_request("GET", "/api/blocks/getNethash")
67
+ end
68
+
69
+ def getMilestone()
70
+ return @helpers.send_request("GET", "/api/blocks/getMilestone")
71
+ end
72
+ end
@@ -0,0 +1,54 @@
1
+ require_relative 'helpers'
2
+
3
+ class Delegates
4
+ def initialize(helpers)
5
+ @helpers = helpers
6
+ end
7
+
8
+ def enable(secret, secondSecret, username)
9
+ return @helpers.send_request("PUT", "/api/delegates", {"secret" => secret, "secondSecret" => secondSecret, "username" => username})
10
+ end
11
+
12
+ def getList(**kwargs)
13
+ query = ""
14
+ if kwargs.has_key? :limit then
15
+ query = @helpers.addToQuery(query, "limit", kwargs[:limit])
16
+ end
17
+ if kwargs.has_key? :offset then
18
+ query = @helpers.addToQuery(query, "offset", kwargs[:offset])
19
+ end
20
+ if kwargs.has_key? :orderBy then
21
+ query = @helpers.addToQuery(query, "orderBy", kwargs[:orderBy])
22
+ end
23
+
24
+ return @helpers.send_request("GET", "/api/delegates" + query)
25
+ end
26
+
27
+ def getByPublicKey(publicKey)
28
+ return @helpers.send_request("GET", "/api/delegates/get?publicKey=" + publicKey)
29
+ end
30
+
31
+ def getByUsername(username)
32
+ return @helpers.send_request("GET", "/api/delegates/get?username=" + username)
33
+ end
34
+
35
+ def count()
36
+ return @helpers.send_request("GET", "/api/delegates/count")
37
+ end
38
+
39
+ def getVoters(publicKey)
40
+ return @helpers.send_request("GET" , "/api/delegates/voters?publicKey=" + publicKey)
41
+ end
42
+
43
+ def enableForging(secret)
44
+ return @helpers.send_request("POST", "/api/delegates/forging/enable", { "secret" => secret })
45
+ end
46
+
47
+ def disableForging(secret)
48
+ return @helpers.send_request("POST", "/api/delegates/forging/disable", { "secret" => secret })
49
+ end
50
+
51
+ def getForgedByAccount(generatorPublicKey)
52
+ return @helpers.send_request("POST", "/api/delegates/forging/getForgedByAccount?generatorPublicKey=" + generatorPublicKey)
53
+ end
54
+ end
@@ -0,0 +1,19 @@
1
+ require 'requests'
2
+ require 'json'
3
+
4
+ class Helpers
5
+ attr_accessor :baseURL
6
+ @baseURL = ""
7
+ def send_request(type, url, data: {})
8
+ return JSON.parse(Requests.request(type, @baseURL + url, data: data.to_json, headers: {"Content-type" => "application/json"}).body)
9
+ end
10
+ def addToQuery(query, name, param)
11
+ if query.length == 0 then
12
+ query += "?"
13
+ else
14
+ query += "&"
15
+ end
16
+ query += name + "=" + param.to_s
17
+ return query
18
+ end
19
+ end
data/lib/api/loader.rb ADDED
@@ -0,0 +1,13 @@
1
+ require_relative 'helpers'
2
+
3
+ class Loader
4
+ def initialize(helpers)
5
+ @helpers = helpers
6
+ end
7
+ def status
8
+ return @helpers.send_request("GET", "/api/loader/status")
9
+ end
10
+ def syncStatus
11
+ return @helpers.send_request("GET", "/api/loader/status/sync")
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ require_relative 'helpers'
2
+
3
+ class MultiSignatures
4
+ def initialize(helpers)
5
+ @helpers = helpers
6
+ end
7
+
8
+ def getPending(publicKey)
9
+ return @helpers.send_request("GET", "/api/multisignatures/pending?publicKey=" + publicKey)
10
+ end
11
+
12
+ def create(secret, lifetime, min, keysGroup)
13
+ return @helpers.send_request("PUT", "/api/multisignatures", { "secret" => secret, "lifetime" => lifetime, "min" => min, "keysgroup" => keysGroup })
14
+ end
15
+
16
+ def sign(secret, publicKey, transactionId)
17
+ return @helpers.send_request("POST", "/api/multisignatures/sign", { "secret" => secret, "publicKey" => publicKey, "transactionId" => transactionId })
18
+ end
19
+
20
+ def getAccounts(publicKey)
21
+ return @helpers.send_request("GET", "/api/multisignatures/accounts?publicKey=" + publicKey)
22
+ end
23
+ end
data/lib/api/peers.rb ADDED
@@ -0,0 +1,35 @@
1
+ require_relative 'helpers'
2
+
3
+ class Peers
4
+ def initialize(helpers)
5
+ @helpers = helpers
6
+ end
7
+ def getList(**kwargs)
8
+ query = ""
9
+ if kwargs.has_key? :state then
10
+ query = @helpers.addToQuery(query, "state", kwargs[:state])
11
+ end
12
+ if kwargs.has_key? :os then
13
+ query = @helpers.addToQuery(query, "os", kwargs[:os])
14
+ end
15
+ if kwargs.has_key? :version then
16
+ query = @helpers.addToQuery(query, "version", kwargs[:version])
17
+ end
18
+ if kwargs.has_key? :limit then
19
+ query = @helpers.addToQuery(query, "limit", kwargs[:limit])
20
+ end
21
+ if kwargs.has_key? :offset then
22
+ query = @helpers.addToQuery(query, "offset", kwargs[:offset])
23
+ end
24
+ if kwargs.has_key? :orderBy then
25
+ query = @helpers.addToQuery(query, "orderBy", kwargs[:orderBy])
26
+ end
27
+ return @helpers.send_request("GET", "/api/peers" + query)
28
+ end
29
+ def get(ip, port)
30
+ return @helpers.send_request("GET", "/api/peers/get?ip=" + ip + "&port=" + port.to_s)
31
+ end
32
+ def version()
33
+ return @helpers.send_request("GET", "/api/peers/version")
34
+ end
35
+ end
@@ -0,0 +1,19 @@
1
+ require_relative 'helpers'
2
+
3
+ class Signatures
4
+ def initialize(helpers)
5
+ @helpers = helpers
6
+ end
7
+
8
+ def get(id)
9
+ return @helpers.send_request("GET", "/api/signatures/get?id=" + id)
10
+ end
11
+
12
+ def add(secret, secondSecret, publicKey=nil)
13
+ options = { "secret" => secret, "secondSecret" => secondSecret}
14
+ unless publicKey == nil then
15
+ options["publicKey"] = publicKey
16
+ end
17
+ return @helpers.send_request("PUT", "/api/signatures", options)
18
+ end
19
+ end
@@ -0,0 +1,47 @@
1
+ require_relative 'helpers'
2
+
3
+ class Transactions
4
+ def initialize(helpers)
5
+ @helpers = helpers
6
+ end
7
+
8
+ def getList(**kwargs)
9
+ query = ""
10
+ if kwargs.has_key? :blockId then
11
+ query = addToQuery(query, "blockId", kwargs[:blockId])
12
+ end
13
+ if kwargs.has_key? :senderId then
14
+ query = addToQuery(query, "senderId", kwargs[:senderId])
15
+ end
16
+ if kwargs.has_key? :recipientId then
17
+ query = addToQuery(query, "recipientId", kwargs[:recipientId])
18
+ end
19
+ if kwargs.has_key? :limit then
20
+ query = addToQuery(query, "limit", kwargs[:limit])
21
+ end
22
+ if kwargs.has_key? :offset then
23
+ query = addToQuery(query, "offset", kwargs[:offset])
24
+ end
25
+ if kwargs.has_key? :orderBy then
26
+ query = addToQuery(query, "orderBy", kwargs[:orderBy])
27
+ end
28
+
29
+ return send_request("GET", "/api/transactions" + query)
30
+ end
31
+ def send(secret, amount, recipientId, publicKey, secondSecret=nil)
32
+ options = { "secret" => secret, "amount" => amount, "recipientId" => recipientId, "publicKey" => publicKey}
33
+ unless secondSecret == nil then
34
+ options["secondSecret"] = secondSecret
35
+ end
36
+ return send_request("PUT", "/api/transactions", options)
37
+ end
38
+ def get(id)
39
+ return send_request("GET", "/api/transactions/get?id=" + id)
40
+ end
41
+ def getUnconfirmed(id)
42
+ return send_request("GET", "/api/transactions/unconfirmed/get?id=" + id)
43
+ end
44
+ def getUnconfirmedList()
45
+ return send_request("GET", "/api/transactions/unconfirmed")
46
+ end
47
+ end
data/lib/risesdk.rb ADDED
@@ -0,0 +1,29 @@
1
+ require_relative 'api/helpers'
2
+ require_relative 'api/accounts'
3
+ require_relative 'api/blocks'
4
+ require_relative 'api/delegates'
5
+ require_relative 'api/loader'
6
+ require_relative 'api/multiSignatures'
7
+ require_relative 'api/peers'
8
+ require_relative 'api/signatures'
9
+ require_relative 'api/transactions'
10
+ require 'ostruct'
11
+
12
+ class RiseSDK
13
+ attr_accessor :api
14
+ def initialize
15
+ @helpers = Helpers.new
16
+ @api = OpenStruct.new
17
+ @api.accounts = Accounts.new(@helpers)
18
+ @api.blocks = Blocks.new(@helpers)
19
+ @api.delegates = Delegates.new(@helpers)
20
+ @api.loader = Loader.new(@helpers)
21
+ @api.multiSignatures = MultiSignatures.new(@helpers)
22
+ @api.peers = Peers.new(@helpers)
23
+ @api.signatures = Signatures.new(@helpers)
24
+ @api.transactions = Transactions.new(@helpers)
25
+ end
26
+ def setHost(host)
27
+ @helpers.baseURL = host
28
+ end
29
+ end
metadata ADDED
@@ -0,0 +1,54 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: risesdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.0
5
+ platform: ruby
6
+ authors:
7
+ - Don't Panic Consulting
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-10-14 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Rise SDK built in Ruby. Please see the github page for documentation.
14
+ (https://github.com/RiseVision/Rise-SDK-Ruby)
15
+ email: nathan.burchill@dontpanic.consulting
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - lib/api/accounts.rb
21
+ - lib/api/blocks.rb
22
+ - lib/api/delegates.rb
23
+ - lib/api/helpers.rb
24
+ - lib/api/loader.rb
25
+ - lib/api/multiSignatures.rb
26
+ - lib/api/peers.rb
27
+ - lib/api/signatures.rb
28
+ - lib/api/transactions.rb
29
+ - lib/risesdk.rb
30
+ homepage: https://github.com/RiseVision/Rise-SDK-Ruby
31
+ licenses:
32
+ - MIT
33
+ metadata: {}
34
+ post_install_message:
35
+ rdoc_options: []
36
+ require_paths:
37
+ - lib
38
+ required_ruby_version: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ required_rubygems_version: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ requirements: []
49
+ rubyforge_project:
50
+ rubygems_version: 2.6.7
51
+ signing_key:
52
+ specification_version: 3
53
+ summary: Rise SDK built in Ruby
54
+ test_files: []