sequence-sdk 1.0.4 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/sequence/account.rb +6 -1
- data/lib/sequence/action.rb +10 -0
- data/lib/sequence/client.rb +8 -2
- data/lib/sequence/contract.rb +1 -0
- data/lib/sequence/http_wrapper.rb +4 -2
- data/lib/sequence/key.rb +9 -2
- data/lib/sequence/session.rb +3 -2
- data/lib/sequence/transaction.rb +6 -0
- data/lib/sequence/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3f404ef05907abe4fc55a63fb30df360c3f7737
|
4
|
+
data.tar.gz: f0413842e1753dd1900cc1a21817a545536fcc36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 709080c4bc1c622863c7c3cd1d657f0301df71c895fcd3bb98ac77d6838efdf281a0c8982ed4cfdb4893ef4e716d5030c6d8462b3146dfa36a39c1e7555ad1e6
|
7
|
+
data.tar.gz: 268eb83516a6ff005c7e031af68f18a99bae51d92797241d02805c8bbaea0429f28cfa491f0d7d74b1917e9dd180bdf6847fc2de02f67c16c9c21350e7edfc06
|
data/README.md
CHANGED
@@ -13,17 +13,17 @@ for the language's schedule for security and bug fixes.
|
|
13
13
|
|
14
14
|
Add the following to your `Gemfile`:
|
15
15
|
|
16
|
-
```
|
17
|
-
gem 'sequence-sdk'
|
16
|
+
```ruby
|
17
|
+
gem 'sequence-sdk', '~> 1.1.0'
|
18
18
|
```
|
19
19
|
|
20
20
|
### In your code
|
21
21
|
|
22
|
-
```
|
22
|
+
```ruby
|
23
23
|
require 'sequence'
|
24
24
|
|
25
25
|
ledger = Sequence::Client.new(
|
26
|
-
|
26
|
+
ledger_name: 'ledger',
|
27
27
|
credential: '...'
|
28
28
|
)
|
29
29
|
```
|
data/lib/sequence/account.rb
CHANGED
@@ -12,6 +12,7 @@ module Sequence
|
|
12
12
|
attrib :id
|
13
13
|
|
14
14
|
# @!attribute [r] alias
|
15
|
+
# Deprecated. Use {#id} instead.
|
15
16
|
# Unique, user-specified identifier.
|
16
17
|
# @return [String]
|
17
18
|
attrib :alias
|
@@ -42,7 +43,10 @@ module Sequence
|
|
42
43
|
# Creates a new account in the ledger.
|
43
44
|
# @param [Hash] opts
|
44
45
|
# Options hash
|
46
|
+
# @option opts [String] id
|
47
|
+
# Unique, user-specified identifier.
|
45
48
|
# @option opts [String] alias
|
49
|
+
# Deprecated. Use :id instead.
|
46
50
|
# Unique, user-specified identifier.
|
47
51
|
# @option opts [Array<Hash>, Array<Sequence::Key>] keys
|
48
52
|
# The keys used for signing transactions that spend from the account. A
|
@@ -55,7 +59,7 @@ module Sequence
|
|
55
59
|
# User-specified key-value data describing the account.
|
56
60
|
# @return [Account]
|
57
61
|
def create(opts = {})
|
58
|
-
validate_inclusion_of!(opts, :alias, :keys, :quorum, :tags)
|
62
|
+
validate_inclusion_of!(opts, :alias, :id, :keys, :quorum, :tags)
|
59
63
|
validate_required!(opts, :keys)
|
60
64
|
Account.new(client.session.request('create-account', opts))
|
61
65
|
end
|
@@ -67,6 +71,7 @@ module Sequence
|
|
67
71
|
# The ID of the account. Either an ID or alias should be provided, but
|
68
72
|
# not both.
|
69
73
|
# @option opts [String] alias
|
74
|
+
# Deprecated. Use :id instead.
|
70
75
|
# The alias of the account. Either an ID or alias should be provided,
|
71
76
|
# but not both.
|
72
77
|
# @option opts [Hash] tags
|
data/lib/sequence/action.rb
CHANGED
@@ -60,6 +60,7 @@ module Sequence
|
|
60
60
|
attrib :source_account_id
|
61
61
|
|
62
62
|
# @!attribute [r] source_account_alias
|
63
|
+
# Deprecated. Use {#source_account_id} instead
|
63
64
|
# The alias of the source account executing the action.
|
64
65
|
# @return [String]
|
65
66
|
attrib :source_account_alias
|
@@ -75,6 +76,7 @@ module Sequence
|
|
75
76
|
attrib :destination_account_id
|
76
77
|
|
77
78
|
# @!attribute [r] destination_account_alias
|
79
|
+
# Deprecated. Use {#destination_account_id} instead
|
78
80
|
# The alias of the destination account affected by the action.
|
79
81
|
# @return [String]
|
80
82
|
attrib :destination_account_alias
|
@@ -100,6 +102,14 @@ module Sequence
|
|
100
102
|
# @option opts [Integer>] page_size
|
101
103
|
# The number of items to return in the result set.
|
102
104
|
# @return [Query]
|
105
|
+
# @example List all actions after a certain time
|
106
|
+
# ledger.actions.list(
|
107
|
+
# filter: 'timestamp > $1',
|
108
|
+
# filter_params: ['1985-10-26T01:21:00Z']
|
109
|
+
# ).each do |action|
|
110
|
+
# puts 'timestamp: ' + action.timestamp
|
111
|
+
# puts 'amount: ' + action.amount
|
112
|
+
# end
|
103
113
|
def list(opts = {})
|
104
114
|
validate_inclusion_of!(
|
105
115
|
opts,
|
data/lib/sequence/client.rb
CHANGED
@@ -12,19 +12,25 @@ module Sequence
|
|
12
12
|
class Client
|
13
13
|
# @param [Hash] opts
|
14
14
|
# Options hash
|
15
|
+
# @option opts [String] ledger_name
|
16
|
+
# Ledger name.
|
15
17
|
# @option opts [String] ledger
|
18
|
+
# Deprecated. Use :ledger_name instead.
|
16
19
|
# Ledger name.
|
17
20
|
# @option opts [String] credential
|
18
21
|
# API credential secret.
|
19
22
|
# @return [Query]
|
20
23
|
def initialize(opts = {})
|
21
|
-
if opts[:ledger].nil? || opts[:ledger].empty?
|
22
|
-
raise ArgumentError, ':ledger must be provided'
|
24
|
+
if (opts[:ledger_name].nil? || opts[:ledger_name].empty?) == (opts[:ledger].nil? || opts[:ledger].empty?)
|
25
|
+
raise ArgumentError, ':ledger_name or :ledger (but not both) must be provided'
|
23
26
|
end
|
24
27
|
if opts[:credential].nil? || opts[:credential].empty?
|
25
28
|
raise ArgumentError, ':credential must be provided'
|
26
29
|
end
|
27
30
|
|
31
|
+
if opts[:ledger_name].nil? || opts[:ledger_name].empty?
|
32
|
+
opts[:ledger_name] = opts[:ledger]
|
33
|
+
end
|
28
34
|
@opts = opts
|
29
35
|
end
|
30
36
|
|
data/lib/sequence/contract.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'net/http'
|
2
2
|
require 'net/https'
|
3
3
|
require 'openssl'
|
4
|
-
require 'thread'
|
5
4
|
require 'securerandom'
|
6
5
|
|
7
6
|
module Sequence
|
@@ -59,6 +58,9 @@ module Sequence
|
|
59
58
|
req['Macaroon'] = @macaroon
|
60
59
|
req['Discharge-Macaroon'] = @dis_macaroon
|
61
60
|
end
|
61
|
+
if !@opts[:user].nil? && !@opts[:pass].nil?
|
62
|
+
req.basic_auth(@opts[:user], @opts[:pass])
|
63
|
+
end
|
62
64
|
unless @connection.started?
|
63
65
|
@connection.start
|
64
66
|
end
|
@@ -127,7 +129,7 @@ module Sequence
|
|
127
129
|
|
128
130
|
# TLS configuration
|
129
131
|
connection.use_ssl = true
|
130
|
-
connection.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
132
|
+
connection.verify_mode = @opts[:verify_mode] || OpenSSL::SSL::VERIFY_PEER
|
131
133
|
[:ca_file, :cert, :key].each do |k|
|
132
134
|
next unless @opts.key?(:ssl_params) && @opts[:ssl_params].key?(k)
|
133
135
|
connection.send("#{k}=", @opts[:ssl_params][k])
|
data/lib/sequence/key.rb
CHANGED
@@ -12,6 +12,7 @@ module Sequence
|
|
12
12
|
attrib :id
|
13
13
|
|
14
14
|
# @!attribute [r] alias
|
15
|
+
# Deprecated. Use {#id} instead.
|
15
16
|
# Unique, user-specified identifier of the key.
|
16
17
|
# @return [String]
|
17
18
|
attrib :alias
|
@@ -20,11 +21,14 @@ module Sequence
|
|
20
21
|
# Creates a key.
|
21
22
|
# @param [Hash] opts
|
22
23
|
# Options hash
|
24
|
+
# @option opts [String] id
|
25
|
+
# Unique, user-specified identifier of the key.
|
23
26
|
# @option opts [String] alias
|
27
|
+
# Deprecated. Use :id instead.
|
24
28
|
# Unique, user-specified identifier of the key.
|
25
29
|
# @return [Key]
|
26
30
|
def create(opts = {})
|
27
|
-
validate_inclusion_of!(opts, :alias)
|
31
|
+
validate_inclusion_of!(opts, :alias, :id)
|
28
32
|
Key.new(client.session.request('create-key', opts))
|
29
33
|
end
|
30
34
|
|
@@ -32,12 +36,15 @@ module Sequence
|
|
32
36
|
# @param [Hash] opts
|
33
37
|
# Options hash
|
34
38
|
# @option opts [Array<String>] aliases
|
39
|
+
# Deprecated. Use :ids instead.
|
35
40
|
# A list of aliases of keys to retrieve.
|
41
|
+
# @option opts [Array<String>] ids
|
42
|
+
# A list of ids of keys to retrieve.
|
36
43
|
# @option opts [Integer>] page_size
|
37
44
|
# The number of items to return in the result set.
|
38
45
|
# @return [Query]
|
39
46
|
def query(opts = {})
|
40
|
-
validate_inclusion_of!(opts, :aliases, :page_size, :after)
|
47
|
+
validate_inclusion_of!(opts, :aliases, :ids, :page_size, :after)
|
41
48
|
Query.new(client, opts)
|
42
49
|
end
|
43
50
|
end
|
data/lib/sequence/session.rb
CHANGED
@@ -11,8 +11,9 @@ module Sequence
|
|
11
11
|
@opts = opts
|
12
12
|
@host = @opts[:host] || 'https://api.seq.com'
|
13
13
|
@session_host = @opts[:session_host] || 'https://session-api.seq.com'
|
14
|
-
@ledger = @opts[:
|
14
|
+
@ledger = @opts[:ledger_name] || raise(ArgumentError, "missing ledger_name")
|
15
15
|
@macaroon = @opts[:credential] || raise(ArgumentError, "missing credential")
|
16
|
+
@request_id = @opts[:request_id]
|
16
17
|
|
17
18
|
# Start at 0 to trigger an immediate refresh
|
18
19
|
@refresh_at = 0
|
@@ -42,7 +43,7 @@ module Sequence
|
|
42
43
|
end
|
43
44
|
|
44
45
|
def request(path, body = {})
|
45
|
-
request_full_resp(
|
46
|
+
request_full_resp(@request_id, path, body)[:parsed_body]
|
46
47
|
end
|
47
48
|
|
48
49
|
def request_full_resp(id, path, body = {})
|
data/lib/sequence/transaction.rb
CHANGED
@@ -128,6 +128,7 @@ module Sequence
|
|
128
128
|
attrib :source_account_id
|
129
129
|
|
130
130
|
# @!attribute [r] source_account_alias
|
131
|
+
# Deprecated. Use {#source_account_id} instead
|
131
132
|
# The alias of the account serving as the source of asset units. Null
|
132
133
|
# for issuances.
|
133
134
|
# @return [String]
|
@@ -145,6 +146,7 @@ module Sequence
|
|
145
146
|
attrib :destination_account_id
|
146
147
|
|
147
148
|
# @!attribute [r] destination_account_alias
|
149
|
+
# Deprecated. Use {#destination_account_id} instead
|
148
150
|
# The alias of the account receiving the asset units. Null for
|
149
151
|
# retirements.
|
150
152
|
# @return [String]
|
@@ -215,6 +217,7 @@ module Sequence
|
|
215
217
|
# ID of the account receiving the asset units. You must specify a
|
216
218
|
# destination account ID or alias.
|
217
219
|
# @option opts [String] :destination_account_alias
|
220
|
+
# Deprecated. Use :destination_account_id instead
|
218
221
|
# Alias of the account receiving the asset units. You must specify a
|
219
222
|
# destination account ID or alias.
|
220
223
|
# @option opts [Hash] :reference_data
|
@@ -256,6 +259,7 @@ module Sequence
|
|
256
259
|
# ID of the account serving as the source of asset units. You must
|
257
260
|
# specify a source account ID, account alias, or contract ID.
|
258
261
|
# @option opts [String] :source_account_alias
|
262
|
+
# Deprecated. Use :source_account_id instead
|
259
263
|
# Alias of the account serving as the source of asset units You must
|
260
264
|
# specify a source account ID, account alias, or contract ID.
|
261
265
|
# @option opts [String] :source_contract_id
|
@@ -265,6 +269,7 @@ module Sequence
|
|
265
269
|
# ID of the account receiving the asset units. You must specify a
|
266
270
|
# destination account ID or alias.
|
267
271
|
# @option opts [String] :destination_account_alias
|
272
|
+
# Deprecated. Use :destination_account_id instead
|
268
273
|
# Alias of the account receiving the asset units. You must specify a
|
269
274
|
# destination account ID or alias.
|
270
275
|
# @option opts [Hash] :reference_data
|
@@ -317,6 +322,7 @@ module Sequence
|
|
317
322
|
# ID of the account serving as the source of asset units. You must
|
318
323
|
# specify a source account ID, account alias, or contract ID.
|
319
324
|
# @option opts [String] :source_account_alias
|
325
|
+
# Deprecated. Use :source_account_id instead
|
320
326
|
# Alias of the account serving as the source of asset units You must
|
321
327
|
# specify a source account ID, account alias, or contract ID.
|
322
328
|
# @option opts [String] :source_contract_id
|
data/lib/sequence/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequence-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chain Engineering
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -162,7 +162,7 @@ files:
|
|
162
162
|
- lib/sequence/transaction.rb
|
163
163
|
- lib/sequence/validations.rb
|
164
164
|
- lib/sequence/version.rb
|
165
|
-
homepage: https://
|
165
|
+
homepage: https://github.com/sequence/sequence-sdk-ruby
|
166
166
|
licenses:
|
167
167
|
- Apache-2.0
|
168
168
|
metadata: {}
|