stellar-sdk 0.7.0 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/{LICENSE.txt → LICENSE} +0 -0
- data/README.md +12 -12
- data/lib/stellar-sdk.rb +3 -4
- data/lib/stellar/account.rb +16 -18
- data/lib/stellar/amount.rb +9 -13
- data/lib/stellar/client.rb +201 -93
- data/lib/stellar/horizon/problem.rb +14 -16
- data/lib/stellar/sep10.rb +347 -0
- data/lib/stellar/transaction_page.rb +4 -6
- data/lib/stellar/version.rb +1 -1
- metadata +18 -217
- data/.github/CODEOWNERS +0 -2
- data/.gitignore +0 -16
- data/.travis.yml +0 -19
- data/.yardopts +0 -7
- data/CONTRIBUTING.md +0 -48
- data/Gemfile +0 -14
- data/Guardfile +0 -5
- data/Rakefile +0 -3
- data/examples/01_get_funded.rb +0 -37
- data/examples/02_payment.rb +0 -15
- data/examples/03_transaction_history.rb +0 -21
- data/examples/04_setting_trust.rb +0 -1
- data/examples/05_fiat_payment.rb +0 -13
- data/examples/06_fund_testnet_friendbot.rb +0 -15
- data/ruby-stellar-sdk.gemspec +0 -36
- data/spec/config.yml.sample +0 -12
- data/spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_handle_404_request_when_performing_federation_lookup.yml +0 -133
- data/spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_handle_domains_that_are_not_federation_servers.yml +0 -44
- data/spec/fixtures/vcr_cassettes/Stellar_Account/_lookup/should_peforms_federation_lookup.yml +0 -85
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_account_info/returns_the_current_details_for_the_account.yml +0 -190
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_account_merge/merges_source_account_into_destination.yml +0 -714
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_change_trust/given_an_asset_described_as_an_array/creates_updates_or_deletes_a_trustline.yml +0 -1156
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_create_account/creates_the_account.yml +0 -323
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_friendbot/requests_for_XLM_from_a_friendbot.yml +0 -246
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/alphanum12_asset/sends_a_alphanum12_asset_to_the_destination.yml +0 -747
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/alphanum4_asset/sends_a_alphanum4_asset_to_the_destination.yml +0 -747
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/memo/accepts_the_memo_attribute.yml +0 -716
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/native_asset/sends_a_native_payment_to_the_account.yml +0 -562
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/using_a_payment_channel/sends_a_payment_account_through_a_channel_account.yml +0 -694
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_send_payment/using_a_payment_channel/sends_a_payment_when_the_channel_is_the_same_as_from_.yml +0 -586
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/account_transactions/accepts_a_cursor_to_return_less_data.yml +0 -94
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/account_transactions/returns_a_list_of_transaction_for_an_account.yml +0 -94
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/all_transactions/accepts_a_cursor_to_return_less_data.yml +0 -94
- data/spec/fixtures/vcr_cassettes/Stellar_Client/_transactions/all_transactions/returns_a_list_of_transactions.yml +0 -94
- data/spec/lib/stellar/account_spec.rb +0 -59
- data/spec/lib/stellar/amount_spec.rb +0 -70
- data/spec/lib/stellar/client_spec.rb +0 -413
- data/spec/spec_helper.rb +0 -14
- data/spec/support/config.rb +0 -3
- data/spec/support/vcr.rb +0 -10
- data/tasks/rspec.rake +0 -6
- data/tasks/travis.rake +0 -1
@@ -1,94 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: https://horizon-testnet.stellar.org/
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Faraday v0.15.1
|
12
|
-
Accept:
|
13
|
-
- application/hal+json,application/problem+json,application/json
|
14
|
-
response:
|
15
|
-
status:
|
16
|
-
code: 200
|
17
|
-
message: OK
|
18
|
-
headers:
|
19
|
-
Date:
|
20
|
-
- Fri, 18 May 2018 21:08:21 GMT
|
21
|
-
Content-Type:
|
22
|
-
- application/hal+json; charset=utf-8
|
23
|
-
Connection:
|
24
|
-
- keep-alive
|
25
|
-
Set-Cookie:
|
26
|
-
- __cfduid=d1358cdcd615404d320c3085a816645201526677701; expires=Sat, 18-May-19
|
27
|
-
21:08:21 GMT; path=/; domain=.stellar.org; HttpOnly
|
28
|
-
Content-Disposition:
|
29
|
-
- inline
|
30
|
-
Vary:
|
31
|
-
- Origin
|
32
|
-
X-Ratelimit-Limit:
|
33
|
-
- '17200'
|
34
|
-
X-Ratelimit-Remaining:
|
35
|
-
- '17176'
|
36
|
-
X-Ratelimit-Reset:
|
37
|
-
- '1685'
|
38
|
-
Expect-Ct:
|
39
|
-
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
40
|
-
Server:
|
41
|
-
- cloudflare
|
42
|
-
Cf-Ray:
|
43
|
-
- 41d14c719b01b9f4-ATL
|
44
|
-
body:
|
45
|
-
encoding: UTF-8
|
46
|
-
string: |-
|
47
|
-
{
|
48
|
-
"_links": {
|
49
|
-
"account": {
|
50
|
-
"href": "https://horizon-testnet.stellar.org/accounts/{account_id}",
|
51
|
-
"templated": true
|
52
|
-
},
|
53
|
-
"account_transactions": {
|
54
|
-
"href": "https://horizon-testnet.stellar.org/accounts/{account_id}/transactions{?cursor,limit,order}",
|
55
|
-
"templated": true
|
56
|
-
},
|
57
|
-
"assets": {
|
58
|
-
"href": "https://horizon-testnet.stellar.org/assets{?asset_code,asset_issuer,cursor,limit,order}",
|
59
|
-
"templated": true
|
60
|
-
},
|
61
|
-
"friendbot": {
|
62
|
-
"href": "https://horizon-testnet.stellar.org/friendbot{?addr}",
|
63
|
-
"templated": true
|
64
|
-
},
|
65
|
-
"metrics": {
|
66
|
-
"href": "https://horizon-testnet.stellar.org/metrics"
|
67
|
-
},
|
68
|
-
"order_book": {
|
69
|
-
"href": "https://horizon-testnet.stellar.org/order_book{?selling_asset_type,selling_asset_code,selling_issuer,buying_asset_type,buying_asset_code,buying_issuer,limit}",
|
70
|
-
"templated": true
|
71
|
-
},
|
72
|
-
"self": {
|
73
|
-
"href": "https://horizon-testnet.stellar.org/"
|
74
|
-
},
|
75
|
-
"transaction": {
|
76
|
-
"href": "https://horizon-testnet.stellar.org/transactions/{hash}",
|
77
|
-
"templated": true
|
78
|
-
},
|
79
|
-
"transactions": {
|
80
|
-
"href": "https://horizon-testnet.stellar.org/transactions{?cursor,limit,order}",
|
81
|
-
"templated": true
|
82
|
-
}
|
83
|
-
},
|
84
|
-
"horizon_version": "snapshot-snapshots-2-g99e33f0",
|
85
|
-
"core_version": "stellar-core 9.2.0rc6 (b0923f153b86d394a83b2a619db6b23f07ed0700)",
|
86
|
-
"history_latest_ledger": 9034899,
|
87
|
-
"history_elder_ledger": 1,
|
88
|
-
"core_latest_ledger": 9034899,
|
89
|
-
"network_passphrase": "Test SDF Network ; September 2015",
|
90
|
-
"protocol_version": 9
|
91
|
-
}
|
92
|
-
http_version:
|
93
|
-
recorded_at: Fri, 18 May 2018 21:08:21 GMT
|
94
|
-
recorded_with: VCR 3.0.3
|
@@ -1,94 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: https://horizon-testnet.stellar.org/
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Faraday v0.15.1
|
12
|
-
Accept:
|
13
|
-
- application/hal+json,application/problem+json,application/json
|
14
|
-
response:
|
15
|
-
status:
|
16
|
-
code: 200
|
17
|
-
message: OK
|
18
|
-
headers:
|
19
|
-
Date:
|
20
|
-
- Fri, 18 May 2018 21:05:24 GMT
|
21
|
-
Content-Type:
|
22
|
-
- application/hal+json; charset=utf-8
|
23
|
-
Connection:
|
24
|
-
- keep-alive
|
25
|
-
Set-Cookie:
|
26
|
-
- __cfduid=dd9cd962f0940437aacf5ef980a3ccb091526677524; expires=Sat, 18-May-19
|
27
|
-
21:05:24 GMT; path=/; domain=.stellar.org; HttpOnly
|
28
|
-
Content-Disposition:
|
29
|
-
- inline
|
30
|
-
Vary:
|
31
|
-
- Origin
|
32
|
-
X-Ratelimit-Limit:
|
33
|
-
- '17200'
|
34
|
-
X-Ratelimit-Remaining:
|
35
|
-
- '17177'
|
36
|
-
X-Ratelimit-Reset:
|
37
|
-
- '1861'
|
38
|
-
Expect-Ct:
|
39
|
-
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
40
|
-
Server:
|
41
|
-
- cloudflare
|
42
|
-
Cf-Ray:
|
43
|
-
- 41d1482239c1b9e8-ATL
|
44
|
-
body:
|
45
|
-
encoding: UTF-8
|
46
|
-
string: |-
|
47
|
-
{
|
48
|
-
"_links": {
|
49
|
-
"account": {
|
50
|
-
"href": "https://horizon-testnet.stellar.org/accounts/{account_id}",
|
51
|
-
"templated": true
|
52
|
-
},
|
53
|
-
"account_transactions": {
|
54
|
-
"href": "https://horizon-testnet.stellar.org/accounts/{account_id}/transactions{?cursor,limit,order}",
|
55
|
-
"templated": true
|
56
|
-
},
|
57
|
-
"assets": {
|
58
|
-
"href": "https://horizon-testnet.stellar.org/assets{?asset_code,asset_issuer,cursor,limit,order}",
|
59
|
-
"templated": true
|
60
|
-
},
|
61
|
-
"friendbot": {
|
62
|
-
"href": "https://horizon-testnet.stellar.org/friendbot{?addr}",
|
63
|
-
"templated": true
|
64
|
-
},
|
65
|
-
"metrics": {
|
66
|
-
"href": "https://horizon-testnet.stellar.org/metrics"
|
67
|
-
},
|
68
|
-
"order_book": {
|
69
|
-
"href": "https://horizon-testnet.stellar.org/order_book{?selling_asset_type,selling_asset_code,selling_issuer,buying_asset_type,buying_asset_code,buying_issuer,limit}",
|
70
|
-
"templated": true
|
71
|
-
},
|
72
|
-
"self": {
|
73
|
-
"href": "https://horizon-testnet.stellar.org/"
|
74
|
-
},
|
75
|
-
"transaction": {
|
76
|
-
"href": "https://horizon-testnet.stellar.org/transactions/{hash}",
|
77
|
-
"templated": true
|
78
|
-
},
|
79
|
-
"transactions": {
|
80
|
-
"href": "https://horizon-testnet.stellar.org/transactions{?cursor,limit,order}",
|
81
|
-
"templated": true
|
82
|
-
}
|
83
|
-
},
|
84
|
-
"horizon_version": "snapshot-snapshots-2-g99e33f0",
|
85
|
-
"core_version": "stellar-core 9.2.0rc6 (b0923f153b86d394a83b2a619db6b23f07ed0700)",
|
86
|
-
"history_latest_ledger": 9034864,
|
87
|
-
"history_elder_ledger": 1,
|
88
|
-
"core_latest_ledger": 9034864,
|
89
|
-
"network_passphrase": "Test SDF Network ; September 2015",
|
90
|
-
"protocol_version": 9
|
91
|
-
}
|
92
|
-
http_version:
|
93
|
-
recorded_at: Fri, 18 May 2018 21:05:24 GMT
|
94
|
-
recorded_with: VCR 3.0.3
|
@@ -1,94 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: https://horizon-testnet.stellar.org/
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Faraday v0.15.1
|
12
|
-
Accept:
|
13
|
-
- application/hal+json,application/problem+json,application/json
|
14
|
-
response:
|
15
|
-
status:
|
16
|
-
code: 200
|
17
|
-
message: OK
|
18
|
-
headers:
|
19
|
-
Date:
|
20
|
-
- Fri, 18 May 2018 21:32:24 GMT
|
21
|
-
Content-Type:
|
22
|
-
- application/hal+json; charset=utf-8
|
23
|
-
Connection:
|
24
|
-
- keep-alive
|
25
|
-
Set-Cookie:
|
26
|
-
- __cfduid=d9519f3eef6e4e8eb00700cd062f9854a1526679144; expires=Sat, 18-May-19
|
27
|
-
21:32:24 GMT; path=/; domain=.stellar.org; HttpOnly
|
28
|
-
Content-Disposition:
|
29
|
-
- inline
|
30
|
-
Vary:
|
31
|
-
- Origin
|
32
|
-
X-Ratelimit-Limit:
|
33
|
-
- '17200'
|
34
|
-
X-Ratelimit-Remaining:
|
35
|
-
- '17170'
|
36
|
-
X-Ratelimit-Reset:
|
37
|
-
- '242'
|
38
|
-
Expect-Ct:
|
39
|
-
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
40
|
-
Server:
|
41
|
-
- cloudflare
|
42
|
-
Cf-Ray:
|
43
|
-
- 41d16fae3d85b9d0-ATL
|
44
|
-
body:
|
45
|
-
encoding: UTF-8
|
46
|
-
string: |-
|
47
|
-
{
|
48
|
-
"_links": {
|
49
|
-
"account": {
|
50
|
-
"href": "https://horizon-testnet.stellar.org/accounts/{account_id}",
|
51
|
-
"templated": true
|
52
|
-
},
|
53
|
-
"account_transactions": {
|
54
|
-
"href": "https://horizon-testnet.stellar.org/accounts/{account_id}/transactions{?cursor,limit,order}",
|
55
|
-
"templated": true
|
56
|
-
},
|
57
|
-
"assets": {
|
58
|
-
"href": "https://horizon-testnet.stellar.org/assets{?asset_code,asset_issuer,cursor,limit,order}",
|
59
|
-
"templated": true
|
60
|
-
},
|
61
|
-
"friendbot": {
|
62
|
-
"href": "https://horizon-testnet.stellar.org/friendbot{?addr}",
|
63
|
-
"templated": true
|
64
|
-
},
|
65
|
-
"metrics": {
|
66
|
-
"href": "https://horizon-testnet.stellar.org/metrics"
|
67
|
-
},
|
68
|
-
"order_book": {
|
69
|
-
"href": "https://horizon-testnet.stellar.org/order_book{?selling_asset_type,selling_asset_code,selling_issuer,buying_asset_type,buying_asset_code,buying_issuer,limit}",
|
70
|
-
"templated": true
|
71
|
-
},
|
72
|
-
"self": {
|
73
|
-
"href": "https://horizon-testnet.stellar.org/"
|
74
|
-
},
|
75
|
-
"transaction": {
|
76
|
-
"href": "https://horizon-testnet.stellar.org/transactions/{hash}",
|
77
|
-
"templated": true
|
78
|
-
},
|
79
|
-
"transactions": {
|
80
|
-
"href": "https://horizon-testnet.stellar.org/transactions{?cursor,limit,order}",
|
81
|
-
"templated": true
|
82
|
-
}
|
83
|
-
},
|
84
|
-
"horizon_version": "snapshot-snapshots-2-g99e33f0",
|
85
|
-
"core_version": "stellar-core 9.2.0rc6 (b0923f153b86d394a83b2a619db6b23f07ed0700)",
|
86
|
-
"history_latest_ledger": 9035188,
|
87
|
-
"history_elder_ledger": 1,
|
88
|
-
"core_latest_ledger": 9035188,
|
89
|
-
"network_passphrase": "Test SDF Network ; September 2015",
|
90
|
-
"protocol_version": 9
|
91
|
-
}
|
92
|
-
http_version:
|
93
|
-
recorded_at: Fri, 18 May 2018 21:32:24 GMT
|
94
|
-
recorded_with: VCR 3.0.3
|
@@ -1,94 +0,0 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
4
|
-
method: get
|
5
|
-
uri: https://horizon-testnet.stellar.org/
|
6
|
-
body:
|
7
|
-
encoding: US-ASCII
|
8
|
-
string: ''
|
9
|
-
headers:
|
10
|
-
User-Agent:
|
11
|
-
- Faraday v0.15.1
|
12
|
-
Accept:
|
13
|
-
- application/hal+json,application/problem+json,application/json
|
14
|
-
response:
|
15
|
-
status:
|
16
|
-
code: 200
|
17
|
-
message: OK
|
18
|
-
headers:
|
19
|
-
Date:
|
20
|
-
- Fri, 18 May 2018 21:32:24 GMT
|
21
|
-
Content-Type:
|
22
|
-
- application/hal+json; charset=utf-8
|
23
|
-
Connection:
|
24
|
-
- keep-alive
|
25
|
-
Set-Cookie:
|
26
|
-
- __cfduid=d64b3b4f7b1e989c1cb221b3ba0ca543e1526679144; expires=Sat, 18-May-19
|
27
|
-
21:32:24 GMT; path=/; domain=.stellar.org; HttpOnly
|
28
|
-
Content-Disposition:
|
29
|
-
- inline
|
30
|
-
Vary:
|
31
|
-
- Origin
|
32
|
-
X-Ratelimit-Limit:
|
33
|
-
- '17200'
|
34
|
-
X-Ratelimit-Remaining:
|
35
|
-
- '17177'
|
36
|
-
X-Ratelimit-Reset:
|
37
|
-
- '525'
|
38
|
-
Expect-Ct:
|
39
|
-
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
40
|
-
Server:
|
41
|
-
- cloudflare
|
42
|
-
Cf-Ray:
|
43
|
-
- 41d16fac6868b9d6-ATL
|
44
|
-
body:
|
45
|
-
encoding: UTF-8
|
46
|
-
string: |-
|
47
|
-
{
|
48
|
-
"_links": {
|
49
|
-
"account": {
|
50
|
-
"href": "https://horizon-testnet.stellar.org/accounts/{account_id}",
|
51
|
-
"templated": true
|
52
|
-
},
|
53
|
-
"account_transactions": {
|
54
|
-
"href": "https://horizon-testnet.stellar.org/accounts/{account_id}/transactions{?cursor,limit,order}",
|
55
|
-
"templated": true
|
56
|
-
},
|
57
|
-
"assets": {
|
58
|
-
"href": "https://horizon-testnet.stellar.org/assets{?asset_code,asset_issuer,cursor,limit,order}",
|
59
|
-
"templated": true
|
60
|
-
},
|
61
|
-
"friendbot": {
|
62
|
-
"href": "https://horizon-testnet.stellar.org/friendbot{?addr}",
|
63
|
-
"templated": true
|
64
|
-
},
|
65
|
-
"metrics": {
|
66
|
-
"href": "https://horizon-testnet.stellar.org/metrics"
|
67
|
-
},
|
68
|
-
"order_book": {
|
69
|
-
"href": "https://horizon-testnet.stellar.org/order_book{?selling_asset_type,selling_asset_code,selling_issuer,buying_asset_type,buying_asset_code,buying_issuer,limit}",
|
70
|
-
"templated": true
|
71
|
-
},
|
72
|
-
"self": {
|
73
|
-
"href": "https://horizon-testnet.stellar.org/"
|
74
|
-
},
|
75
|
-
"transaction": {
|
76
|
-
"href": "https://horizon-testnet.stellar.org/transactions/{hash}",
|
77
|
-
"templated": true
|
78
|
-
},
|
79
|
-
"transactions": {
|
80
|
-
"href": "https://horizon-testnet.stellar.org/transactions{?cursor,limit,order}",
|
81
|
-
"templated": true
|
82
|
-
}
|
83
|
-
},
|
84
|
-
"horizon_version": "snapshot-snapshots-2-g99e33f0",
|
85
|
-
"core_version": "stellar-core 9.2.0rc6 (b0923f153b86d394a83b2a619db6b23f07ed0700)",
|
86
|
-
"history_latest_ledger": 9035188,
|
87
|
-
"history_elder_ledger": 1,
|
88
|
-
"core_latest_ledger": 9035188,
|
89
|
-
"network_passphrase": "Test SDF Network ; September 2015",
|
90
|
-
"protocol_version": 9
|
91
|
-
}
|
92
|
-
http_version:
|
93
|
-
recorded_at: Fri, 18 May 2018 21:32:24 GMT
|
94
|
-
recorded_with: VCR 3.0.3
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Stellar
|
4
|
-
RSpec.describe Account do
|
5
|
-
|
6
|
-
describe ".random" do
|
7
|
-
it "generates a Stellar account with a random keypair" do
|
8
|
-
account = described_class.random
|
9
|
-
expect(account.address).to match account.keypair.address
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
describe ".from_seed" do
|
14
|
-
let(:random_account) { described_class.random }
|
15
|
-
subject(:account) do
|
16
|
-
described_class.from_seed(random_account.keypair.seed)
|
17
|
-
end
|
18
|
-
|
19
|
-
it "generates an account from a seed" do
|
20
|
-
expect(account.keypair.seed).to eq random_account.keypair.seed
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
describe ".from_address" do
|
25
|
-
let(:random_account) { described_class.random }
|
26
|
-
subject(:account) do
|
27
|
-
described_class.from_address(random_account.address)
|
28
|
-
end
|
29
|
-
|
30
|
-
it "generates an account from an address" do
|
31
|
-
expect(account.address).to eq random_account.address
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe ".lookup" do
|
36
|
-
it "should peforms federation lookup", vcr: {record: :once, match_requests_on: [:method]} do
|
37
|
-
account_id = described_class.lookup('john@email.com*stellarfed.org')
|
38
|
-
expect(account_id).to eq 'GDSRO6H2YM6MC6ZO7KORPJXSTUMBMT3E7MZ66CFVNMUAULFG6G2OP32I'
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should handle 404 request when performing federation lookup", vcr: {record: :once, match_requests_on: [:method]} do
|
42
|
-
expect { described_class.lookup('jane@email.com*stellarfed.org') }.to raise_error(AccountNotFound)
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should handle domains that are not federation servers", vcr: {record: :once, match_requests_on: [:method]} do
|
46
|
-
expect { described_class.lookup('john*stellar.org') }.to raise_error(InvalidStellarDomain)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
|
51
|
-
describe "#keypair" do
|
52
|
-
it "generates a Stellar account with a random keypair" do
|
53
|
-
account = described_class.random
|
54
|
-
expect(account.keypair).to be_a KeyPair
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
end
|
59
|
-
end
|
@@ -1,70 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module Stellar
|
4
|
-
RSpec.describe Amount do
|
5
|
-
|
6
|
-
describe "#to_payment" do
|
7
|
-
context "when asset is the native type" do
|
8
|
-
it "returns an array of values" do
|
9
|
-
amount = described_class.new(100)
|
10
|
-
payment = amount.to_payment
|
11
|
-
expect(payment[0]).to eq :native
|
12
|
-
expect(payment[1]).to eq 100
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
context "when asset is alphanum4" do
|
17
|
-
let(:issuer_account) { Stellar::Account.random }
|
18
|
-
|
19
|
-
it "returns an array of values" do
|
20
|
-
asset = Stellar::Asset.alphanum4("BTC", issuer_account.keypair)
|
21
|
-
amount = described_class.new(100, asset)
|
22
|
-
|
23
|
-
payment = amount.to_payment
|
24
|
-
expect(payment[0]).to eq :alphanum4
|
25
|
-
expect(payment[1]).to include "BTC"
|
26
|
-
expect(payment[2].public_key.value).
|
27
|
-
to eq issuer_account.keypair.public_key.value
|
28
|
-
expect(payment[3]).to eq 100
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
context "when asset is alphanum12" do
|
33
|
-
let(:issuer_account) { Stellar::Account.random }
|
34
|
-
|
35
|
-
it "returns an array of values" do
|
36
|
-
asset = Stellar::Asset.alphanum12("LONGNAME", issuer_account.keypair)
|
37
|
-
amount = described_class.new(100, asset)
|
38
|
-
|
39
|
-
payment = amount.to_payment
|
40
|
-
expect(payment[0]).to eq :alphanum12
|
41
|
-
expect(payment[1]).to include "LONGNAME"
|
42
|
-
expect(payment[2].public_key.value).
|
43
|
-
to eq issuer_account.keypair.public_key.value
|
44
|
-
expect(payment[3]).to eq 100
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
describe "#inspect" do
|
50
|
-
context "when asset is not explicitly supplied" do
|
51
|
-
it "uses the native asset type" do
|
52
|
-
amount = described_class.new(200)
|
53
|
-
expect(amount.inspect).to eq "#<Stellar::Amount native(200)>"
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
context "when asset is supplied" do
|
58
|
-
let(:issuer_account) { Stellar::Account.random }
|
59
|
-
|
60
|
-
it "uses the supplied asset type" do
|
61
|
-
asset = Stellar::Asset.alphanum4("BTC", issuer_account.keypair)
|
62
|
-
address = issuer_account.address
|
63
|
-
amount = described_class.new(1_000000, asset)
|
64
|
-
expect(amount.inspect).to eq "#<Stellar::Amount #{asset}(1000000)>"
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
end
|
70
|
-
end
|