krist 0.0.3

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: 65f8ec25f7eb7fc749262869d03c25243ca6fd72
4
+ data.tar.gz: aecf2fd60368aadec870244f3098e7149d25eeee
5
+ SHA512:
6
+ metadata.gz: ec44b65a02d2483850686ba7f55c44d6116b113791bcf56afb7ee3e5160e1c1e8748652569f29483b983df421860d5e734e801b44abef221fb00ee3569449bd5
7
+ data.tar.gz: 925310953d636db48f61cec398dad67087fb60055280938ad92bd205342c144077df569e27ac948fbd048f8ca2015093e6f1ae9cf727f269d2bf41adb3767099
@@ -0,0 +1,8 @@
1
+ =begin
2
+ TODO: write methods for api calls which are not managing an account itself
3
+ For example getting the richest people etc.
4
+ =end
5
+
6
+ class KristAPI
7
+
8
+ end
@@ -0,0 +1,75 @@
1
+ class KristClient
2
+
3
+ @@baseurl = "http://krist.ceriat.net/"
4
+
5
+ def initialize(privatekey)
6
+ @privatekey = generatePrivateKey(privatekey: privatekey)
7
+ @address = post("v2",{privatekey: @privatekey})["address"]
8
+ end
9
+
10
+ def getAddress
11
+ @address
12
+ end
13
+
14
+ def sendTo(to:, amount:)
15
+ transactions = post("transactions", {privatekey: @privatekey, to: to, amount: amount, metadata: "Hello from the other side!"})
16
+ transactions["transactions"].delete_if {|key, value| !(value["from"] == @address) || !(value["to"] == address) }
17
+ transactions
18
+ end
19
+
20
+ def recentTransactions(limit: 50, offset: 0)
21
+ get("addresses/#{@address}/transactions?limit=#{limit}&offset=#{offset}")
22
+ end
23
+
24
+ def getDomains
25
+ get("addresses/#{@address}/names")
26
+ end
27
+
28
+ def registerWebhook(event: "transaction", url:, method: "post", addresses: "")
29
+ post("webhooks", {
30
+ privatekey: @privatekey,
31
+ owner: @address,
32
+ event: event,
33
+ url: url,
34
+ method: method,
35
+ addresses: addresses
36
+ })
37
+ end
38
+
39
+ def getWebhooks
40
+ post("webhooks/#{@address}", {privatekey: @privatekey})
41
+ end
42
+
43
+ def deleteWebhook(id:)
44
+ post("webhooks/#{id}/delete", {privatekey: @privatekey, owner: @address})
45
+ end
46
+
47
+ def registerDomain(name:)
48
+ post("names/#{name}", {privatekey: @privatekey})
49
+ end
50
+
51
+ def updateDomainRecord(name:, a:)
52
+ post("names#{name}/update", {a: a, privatekey: @privatekey})
53
+ end
54
+
55
+ def transferDomain(name:, to:)
56
+ post("names/#{name}/transfer", {address: to, privatekey: @privatekey})
57
+ end
58
+
59
+ private
60
+ def get(path)
61
+ response = HTTParty.get(@@baseurl+path)
62
+ JSON.load(response.body)
63
+ end
64
+
65
+ private
66
+ def post(path, data)
67
+ response = HTTParty.post(@@baseurl+path, body: data)
68
+ JSON.load(response.body)
69
+ end
70
+
71
+ def generatePrivateKey(privatekey:)
72
+ privatekey
73
+ end
74
+
75
+ end
@@ -0,0 +1,8 @@
1
+ class KWallet < KristClient
2
+
3
+ private
4
+ def generatePrivateKey(privatekey: "")
5
+ Digest::SHA256.hexdigest("KRISTWALLET"+privatekey)+"-000"
6
+ end
7
+
8
+ end
@@ -0,0 +1,8 @@
1
+ class Reinboo < KristClient
2
+
3
+ private
4
+ def generatePrivateKey(privatekey: "")
5
+ Digest::SHA256.hexdigest("REINBOO"+privatekey)+"-000"
6
+ end
7
+
8
+ end
data/lib/krist.rb ADDED
@@ -0,0 +1,6 @@
1
+ require "digest"
2
+ require "httparty"
3
+ require "krist/kristapi"
4
+ require "krist/kristclient"
5
+ require "krist/kwallet"
6
+ require "krist/reinboo"
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: krist
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - H4X0RZ
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-06-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.13'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.13.7
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0.13'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.13.7
33
+ description: IDK what I should write here
34
+ email: iililiiillliliililillij@gmail.com
35
+ executables: []
36
+ extensions: []
37
+ extra_rdoc_files: []
38
+ files:
39
+ - lib/krist.rb
40
+ - lib/krist/kristapi.rb
41
+ - lib/krist/kristclient.rb
42
+ - lib/krist/kwallet.rb
43
+ - lib/krist/reinboo.rb
44
+ homepage: http://rubygems.org/gems/krist
45
+ licenses:
46
+ - MIT
47
+ metadata: {}
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 2.4.5.1
65
+ signing_key:
66
+ specification_version: 4
67
+ summary: A Ruby API for the cryptocurrency Krist
68
+ test_files: []