stellar_spectrum 1.2.0 → 1.3.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 +4 -4
- data/CHANGELOG.md +7 -0
- data/Gemfile.lock +4 -4
- data/lib/stellar_spectrum.rb +6 -0
- data/lib/stellar_spectrum/services/fibo.rb +15 -0
- data/lib/stellar_spectrum/services/sending_payment/retry.rb +1 -2
- data/lib/stellar_spectrum/services/sending_payment/send_asset.rb +2 -0
- data/lib/stellar_spectrum/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a03e0f25c992788e8b3f4b13713ab69d23331e3194bd5e61f2e53550c3226df9
|
4
|
+
data.tar.gz: cceb241d7e1f988857ee682e81f1a56f41f02af198d200d685f378a7e8c1594a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bac931885f03c9ee063ab57e164c642f707e5d5498eef5ba3db341692f9db17b0aceb161b7f240a3434a5385969d59dfa34d2524cbe0a4087026ae1730ba91a5
|
7
|
+
data.tar.gz: 1aec0f8499eddc6698df89fdf6792a7135d288d30029706bad79a782dac7c1a8bb6dbc81738a01cbeb32cb57de6a5efd6b739af2d117bc705dec1cfb64a26361
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
+
## [1.3.0] - 2019-01-29
|
8
|
+
### Fixed
|
9
|
+
- Do not retry forever (and hitting the stack limit)
|
10
|
+
|
11
|
+
### Added
|
12
|
+
- `max_tries` configuration setting
|
13
|
+
|
7
14
|
## [1.2.0] - 2019-01-18
|
8
15
|
### Added
|
9
16
|
- Retry calls to Stellar horizon API regardless of the type of error code it receives.
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
stellar_spectrum (1.
|
4
|
+
stellar_spectrum (1.3.0)
|
5
5
|
activesupport
|
6
6
|
gem_config
|
7
7
|
light-service
|
@@ -38,7 +38,7 @@ GEM
|
|
38
38
|
net-http-digest_auth (~> 1.4)
|
39
39
|
faraday_hal_middleware (0.1.0)
|
40
40
|
faraday_middleware (~> 0.9)
|
41
|
-
faraday_middleware (0.
|
41
|
+
faraday_middleware (0.13.0)
|
42
42
|
faraday (>= 0.7.4, < 1.0)
|
43
43
|
ffi (1.10.0)
|
44
44
|
gem_config (0.3.1)
|
@@ -50,7 +50,7 @@ GEM
|
|
50
50
|
faraday_middleware
|
51
51
|
net-http-digest_auth
|
52
52
|
uri_template
|
53
|
-
i18n (1.5.
|
53
|
+
i18n (1.5.3)
|
54
54
|
concurrent-ruby (~> 1.0)
|
55
55
|
light-service (0.11.0)
|
56
56
|
activesupport (>= 3.0)
|
@@ -66,7 +66,7 @@ GEM
|
|
66
66
|
pry (~> 0.10)
|
67
67
|
public_suffix (3.0.3)
|
68
68
|
rake (10.5.0)
|
69
|
-
rbnacl (6.0.
|
69
|
+
rbnacl (6.0.1)
|
70
70
|
ffi
|
71
71
|
redis (4.1.0)
|
72
72
|
rspec (3.8.0)
|
data/lib/stellar_spectrum.rb
CHANGED
@@ -7,6 +7,7 @@ require "redis"
|
|
7
7
|
require "active_support/core_ext/hash/except"
|
8
8
|
require "active_support/core_ext/object/blank"
|
9
9
|
require 'active_support/core_ext/integer/inflections'
|
10
|
+
require "stellar_spectrum/services/fibo"
|
10
11
|
require "stellar_spectrum/services/get_available_channels"
|
11
12
|
require "stellar_spectrum/services/get_channel_account_info"
|
12
13
|
require "stellar_spectrum/services/get_channel_accounts"
|
@@ -32,11 +33,16 @@ module StellarSpectrum
|
|
32
33
|
|
33
34
|
include GemConfig::Base
|
34
35
|
|
36
|
+
# 17 tries means this gem will try up to about 17 times before
|
37
|
+
# giving up, and letting the error bubble up
|
38
|
+
DEFAULT_MAX_TRIES = 17.freeze
|
39
|
+
|
35
40
|
with_configuration do
|
36
41
|
has :redis_url, classes: [NilClass, String]
|
37
42
|
has :seeds, classes: [NilClass, Array]
|
38
43
|
has :horizon_url, classes: [NilClass, String]
|
39
44
|
has :logger
|
45
|
+
has :max_tries, classes: [Integer], default: DEFAULT_MAX_TRIES
|
40
46
|
end
|
41
47
|
|
42
48
|
def self.new(*args)
|
@@ -18,10 +18,9 @@ module StellarSpectrum
|
|
18
18
|
]
|
19
19
|
expects *EXPECTS
|
20
20
|
promises :send_asset_response
|
21
|
-
WAIT_TIME_IN_SECONDS = 5
|
22
21
|
|
23
22
|
executed do |c|
|
24
|
-
sleep
|
23
|
+
sleep Fibo.(c.tries)
|
25
24
|
|
26
25
|
args = EXPECTS.each_with_object({}) do |attr, hash|
|
27
26
|
hash[attr] = c.send(attr)
|
@@ -30,6 +30,8 @@ module StellarSpectrum
|
|
30
30
|
sequence: c.next_sequence_number,
|
31
31
|
)
|
32
32
|
rescue Faraday::ClientError => e
|
33
|
+
fail if c.tries >= StellarSpectrum.configuration.max_tries
|
34
|
+
|
33
35
|
Log.warn("Retrying SendingPayment::SendAsset - #{e.inspect}")
|
34
36
|
retry_result = Retry.execute(
|
35
37
|
stellar_client: c.stellar_client,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stellar_spectrum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ramon Tayag
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-01-
|
12
|
+
date: 2019-01-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -175,6 +175,7 @@ files:
|
|
175
175
|
- docker-compose.yml
|
176
176
|
- lib/stellar_spectrum.rb
|
177
177
|
- lib/stellar_spectrum/client.rb
|
178
|
+
- lib/stellar_spectrum/services/fibo.rb
|
178
179
|
- lib/stellar_spectrum/services/get_available_channels.rb
|
179
180
|
- lib/stellar_spectrum/services/get_channel_account_info.rb
|
180
181
|
- lib/stellar_spectrum/services/get_channel_accounts.rb
|
@@ -221,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
221
222
|
version: '0'
|
222
223
|
requirements: []
|
223
224
|
rubyforge_project:
|
224
|
-
rubygems_version: 2.7.
|
225
|
+
rubygems_version: 2.7.7
|
225
226
|
signing_key:
|
226
227
|
specification_version: 4
|
227
228
|
summary: Use Stellar payment channels in Ruby with ease
|