bitex-bitstamp 0.9.1

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.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +27 -0
  6. data/Gemfile.lock +126 -0
  7. data/LICENSE.txt +20 -0
  8. data/README.md +96 -0
  9. data/Rakefile +55 -0
  10. data/VERSION +1 -0
  11. data/bitstamp.gemspec +93 -0
  12. data/lib/bitstamp.rb +107 -0
  13. data/lib/bitstamp/collection.rb +30 -0
  14. data/lib/bitstamp/helper.rb +19 -0
  15. data/lib/bitstamp/model.rb +29 -0
  16. data/lib/bitstamp/net.rb +43 -0
  17. data/lib/bitstamp/orders.rb +71 -0
  18. data/lib/bitstamp/ticker.rb +16 -0
  19. data/lib/bitstamp/transactions.rb +43 -0
  20. data/spec/bitstamp_spec.rb +87 -0
  21. data/spec/collection_spec.rb +12 -0
  22. data/spec/fixtures/vcr_cassettes/bitstamp/balance.yml +63 -0
  23. data/spec/fixtures/vcr_cassettes/bitstamp/order_book.yml +1910 -0
  24. data/spec/fixtures/vcr_cassettes/bitstamp/orders/all.yml +62 -0
  25. data/spec/fixtures/vcr_cassettes/bitstamp/orders/buy.yml +62 -0
  26. data/spec/fixtures/vcr_cassettes/bitstamp/orders/sell/failure.yml +60 -0
  27. data/spec/fixtures/vcr_cassettes/bitstamp/ticker.yml +63 -0
  28. data/spec/fixtures/vcr_cassettes/bitstamp/transactions.yml +244 -0
  29. data/spec/fixtures/vcr_cassettes/bitstamp/unconfirmed_user_deposits.yml +72 -0
  30. data/spec/fixtures/vcr_cassettes/bitstamp/user_transactions/all.yml +223 -0
  31. data/spec/fixtures/vcr_cassettes/bitstamp/withdraw_bitcoins/failure.yml +145 -0
  32. data/spec/orders_spec.rb +40 -0
  33. data/spec/spec_helper.rb +31 -0
  34. data/spec/support/bitstamp_setup.rb +19 -0
  35. data/spec/support/vcr.rb +15 -0
  36. data/spec/transactions_spec.rb +32 -0
  37. metadata +178 -0
@@ -0,0 +1,72 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.bitstamp.net/api/unconfirmed_btc/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: key=BITSTAMP_KEY&nonce=13950737097883&signature=EA9ACED64B8F902D9AD63CB7C4D4DF87385A8F4925DCB0445C6A8B75099BE23B
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: !binary |-
14
+ T0s=
15
+ headers:
16
+ !binary "RGF0ZQ==":
17
+ - !binary |-
18
+ TW9uLCAxNyBNYXIgMjAxNCAxNjoyODozMCBHTVQ=
19
+ !binary "U2VydmVy":
20
+ - !binary |-
21
+ QXBhY2hl
22
+ !binary "Q29udGVudC1MYW5ndWFnZQ==":
23
+ - !binary |-
24
+ ZW4=
25
+ !binary "RXhwaXJlcw==":
26
+ - !binary |-
27
+ TW9uLCAxNyBNYXIgMjAxNCAxNjoyODozMCBHTVQ=
28
+ !binary "VmFyeQ==":
29
+ - !binary |-
30
+ QWNjZXB0LUxhbmd1YWdl
31
+ !binary "Q2FjaGUtQ29udHJvbA==":
32
+ - !binary |-
33
+ bWF4LWFnZT0w
34
+ !binary "TGFzdC1Nb2RpZmllZA==":
35
+ - !binary |-
36
+ TW9uLCAxNyBNYXIgMjAxNCAxNjoyODozMCBHTVQ=
37
+ !binary "Q29ubmVjdGlvbg==":
38
+ - !binary |-
39
+ Y2xvc2U=
40
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
41
+ - !binary |-
42
+ Y2h1bmtlZA==
43
+ !binary "Q29udGVudC1UeXBl":
44
+ - !binary |-
45
+ YXBwbGljYXRpb24vanNvbg==
46
+ !binary "U2V0LUNvb2tpZQ==":
47
+ - !binary |-
48
+ aW5jYXBfc2VzXzQ3Xzk5MDI1PWx0SGxLa3RxMnl1KzZBbTJTZnVtQUswaUox
49
+ TUFBQUFBZ0dGV1FRYWFENC90TCt1MlNEdGdvUT09OyBwYXRoPS87IERvbWFp
50
+ bj0uYml0c3RhbXAubmV0
51
+ - !binary |-
52
+ bmxiaV85OTAyNT1nSlJSTHZodVpXOE9KdllsK2RsNnZRQUFBQUNNV1hLZGdR
53
+ RjNSbHhYT2ppcmVZRTg7IHBhdGg9LzsgRG9tYWluPS5iaXRzdGFtcC5uZXQ=
54
+ - !binary |-
55
+ dmlzaWRfaW5jYXBfOTkwMjU9Wkt5c1dqYUJRMkczdU5zamplTGdkcTBpSjFN
56
+ QUFBQUFRVUlQQUFBQUFBQ0xHK2JlYUlRRVRVL2w0VEdTQXRWVzsgZXhwaXJl
57
+ cz1XZWQsIDE2IE1hciAyMDE2IDE0OjE3OjAzIEdNVDsgcGF0aD0vOyBEb21h
58
+ aW49LmJpdHN0YW1wLm5ldA==
59
+ !binary "WC1JaW5mbw==":
60
+ - !binary |-
61
+ NS05NTM1NjgyNC05NTM1Njg5NyBOTk5ZIENUKDQ0IDM3IDApIFJUKDEzOTUw
62
+ NzM3MDk0MDAgMjMwKSBxKDAgMCAxIDApIHIoMSAyKSBVNg==
63
+ !binary "WC1DZG4=":
64
+ - !binary |-
65
+ SW5jYXBzdWxh
66
+ body:
67
+ encoding: ASCII-8BIT
68
+ string: !binary |-
69
+ W10=
70
+ http_version:
71
+ recorded_at: Mon, 17 Mar 2014 16:28:30 GMT
72
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,223 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.bitstamp.net/api/v2/user_transactions/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: key=BITSTAMP_KEY&nonce=1380238185&signature=7CBA96CEB133CF1E40EB223B8EE85696D75FFFB2AF8DFF9052F9F6651F829C2A&timedelta=3600
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: !binary |-
14
+ T0s=
15
+ headers:
16
+ !binary "U2VydmVy":
17
+ - !binary |-
18
+ Y2xvdWRmbGFyZS1uZ2lueA==
19
+ !binary "RGF0ZQ==":
20
+ - !binary |-
21
+ VGh1LCAyNiBTZXAgMjAxMyAyMzoyOTo0NiBHTVQ=
22
+ !binary "Q29udGVudC1UeXBl":
23
+ - !binary |-
24
+ YXBwbGljYXRpb24vanNvbg==
25
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
26
+ - !binary |-
27
+ Y2h1bmtlZA==
28
+ !binary "Q29ubmVjdGlvbg==":
29
+ - !binary |-
30
+ a2VlcC1hbGl2ZQ==
31
+ !binary "U2V0LUNvb2tpZQ==":
32
+ - !binary |-
33
+ X19jZmR1aWQ9ZDg0ODRmMzI3NTJiOTlmMGMzNzI0YWE1YjNkYjczNjA2MTM4
34
+ MDIzODE4NTY4MzsgZXhwaXJlcz1Nb24sIDIzLURlYy0yMDE5IDIzOjUwOjAw
35
+ IEdNVDsgcGF0aD0vOyBkb21haW49LmJpdHN0YW1wLm5ldA==
36
+ !binary "Q29udGVudC1MYW5ndWFnZQ==":
37
+ - !binary |-
38
+ ZW4=
39
+ !binary "RXhwaXJlcw==":
40
+ - !binary |-
41
+ VGh1LCAyNiBTZXAgMjAxMyAyMzoyOTo0NiBHTVQ=
42
+ !binary "VmFyeQ==":
43
+ - !binary |-
44
+ QWNjZXB0LUxhbmd1YWdl
45
+ !binary "Q2FjaGUtQ29udHJvbA==":
46
+ - !binary |-
47
+ bWF4LWFnZT0w
48
+ !binary "TGFzdC1Nb2RpZmllZA==":
49
+ - !binary |-
50
+ VGh1LCAyNiBTZXAgMjAxMyAyMzoyOTo0NiBHTVQ=
51
+ !binary "Q2YtUmF5":
52
+ - !binary |-
53
+ YjQzYmNmNDg0NjQwMzIw
54
+ body:
55
+ encoding: ASCII-8BIT
56
+ string: !binary |-
57
+ W3sidXNkIjogIjAuMDAiLCAiYnRjIjogIi0zLjAwNzgxMTI0IiwgImJ0Y191
58
+ c2QiOiAiMC4wMCIsICJvcmRlcl9pZCI6IG51bGwsICJmZWUiOiAiMC4wMCIs
59
+ ICJ0eXBlIjogMSwgImlkIjogMTQ0NDQ3NiwgImRhdGV0aW1lIjogIjIwMTMt
60
+ MDktMjYgMTM6NDY6NTkifSwgeyJ1c2QiOiAiLTM3My41MSIsICJidGMiOiAi
61
+ My4wMDc4MTEyNCIsICJidGNfdXNkIjogIjEyNC4xOCIsICJvcmRlcl9pZCI6
62
+ IDc2MjM5NDIsICJmZWUiOiAiMS41MCIsICJ0eXBlIjogMiwgImlkIjogMTQ0
63
+ NDQwNCwgImRhdGV0aW1lIjogIjIwMTMtMDktMjYgMTM6Mjg6NTUifSwgeyJ1
64
+ c2QiOiAiNDUwMC4wMCIsICJidGMiOiAiMC4wMDAwMDAwMCIsICJidGNfdXNk
65
+ IjogIjAuMDAiLCAib3JkZXJfaWQiOiBudWxsLCAiZmVlIjogIjE1LjAwIiwg
66
+ InR5cGUiOiAwLCAiaWQiOiAxNDM5ODY0LCAiZGF0ZXRpbWUiOiAiMjAxMy0w
67
+ OS0yNSAxODoxMjoxOCJ9LCB7InVzZCI6ICIwLjAwIiwgImJ0YyI6ICItMy45
68
+ OTcxOTA3OSIsICJidGNfdXNkIjogIjAuMDAiLCAib3JkZXJfaWQiOiBudWxs
69
+ LCAiZmVlIjogIjAuMDAiLCAidHlwZSI6IDEsICJpZCI6IDE0Mzg2MDksICJk
70
+ YXRldGltZSI6ICIyMDEzLTA5LTI1IDEyOjM4OjA0In0sIHsidXNkIjogIi00
71
+ OTguMDEiLCAiYnRjIjogIjMuOTk3MTkwNzkiLCAiYnRjX3VzZCI6ICIxMjQu
72
+ NTkiLCAib3JkZXJfaWQiOiA3NjAxMzExLCAiZmVlIjogIjIuMDAiLCAidHlw
73
+ ZSI6IDIsICJpZCI6IDE0Mzg1MzcsICJkYXRldGltZSI6ICIyMDEzLTA5LTI1
74
+ IDEyOjMwOjIyIn0sIHsidXNkIjogIjAuMDAiLCAiYnRjIjogIi0xMC45MzU4
75
+ OTg0OCIsICJidGNfdXNkIjogIjAuMDAiLCAib3JkZXJfaWQiOiBudWxsLCAi
76
+ ZmVlIjogIjAuMDAiLCAidHlwZSI6IDEsICJpZCI6IDE0MzM4NjAsICJkYXRl
77
+ dGltZSI6ICIyMDEzLTA5LTI0IDE3OjU5OjIxIn0sIHsidXNkIjogIi0yMC4z
78
+ MCIsICJidGMiOiAiMC4xNjUwOTg0OCIsICJidGNfdXNkIjogIjEyMi45MyIs
79
+ ICJvcmRlcl9pZCI6IDc1ODEzOTYsICJmZWUiOiAiMC4wOSIsICJ0eXBlIjog
80
+ MiwgImlkIjogMTQzMzAxMywgImRhdGV0aW1lIjogIjIwMTMtMDktMjQgMTU6
81
+ MDQ6MjAifSwgeyJ1c2QiOiAiLTM2OC43OSIsICJidGMiOiAiMy4wMDAwMDAw
82
+ MCIsICJidGNfdXNkIjogIjEyMi45MyIsICJvcmRlcl9pZCI6IDc1ODEzOTYs
83
+ ICJmZWUiOiAiMS40OCIsICJ0eXBlIjogMiwgImlkIjogMTQzMzAxMSwgImRh
84
+ dGV0aW1lIjogIjIwMTMtMDktMjQgMTU6MDE6MTMifSwgeyJ1c2QiOiAiLTgy
85
+ OS44OCIsICJidGMiOiAiNi43NTA4MDAwMCIsICJidGNfdXNkIjogIjEyMi45
86
+ MyIsICJvcmRlcl9pZCI6IDc1ODEzOTYsICJmZWUiOiAiMy4zMiIsICJ0eXBl
87
+ IjogMiwgImlkIjogMTQzMzAwOCwgImRhdGV0aW1lIjogIjIwMTMtMDktMjQg
88
+ MTU6MDA6MzQifSwgeyJ1c2QiOiAiLTIuNDYiLCAiYnRjIjogIjAuMDIwMDAw
89
+ MDAiLCAiYnRjX3VzZCI6ICIxMjIuOTMiLCAib3JkZXJfaWQiOiA3NTgxMzk2
90
+ LCAiZmVlIjogIjAuMDEiLCAidHlwZSI6IDIsICJpZCI6IDE0MzMwMDcsICJk
91
+ YXRldGltZSI6ICIyMDEzLTA5LTI0IDE1OjAwOjI4In0sIHsidXNkIjogIi0x
92
+ MjIuOTMiLCAiYnRjIjogIjEuMDAwMDAwMDAiLCAiYnRjX3VzZCI6ICIxMjIu
93
+ OTMiLCAib3JkZXJfaWQiOiA3NTgxMzk2LCAiZmVlIjogIjAuNTIiLCAidHlw
94
+ ZSI6IDIsICJpZCI6IDE0MzMwMDYsICJkYXRldGltZSI6ICIyMDEzLTA5LTI0
95
+ IDE1OjAwOjAyIn0sIHsidXNkIjogIjAuMDAiLCAiYnRjIjogIi0xMS45OTk2
96
+ MDg2OSIsICJidGNfdXNkIjogIjAuMDAiLCAib3JkZXJfaWQiOiBudWxsLCAi
97
+ ZmVlIjogIjAuMDAiLCAidHlwZSI6IDEsICJpZCI6IDEzOTM5NDQsICJkYXRl
98
+ dGltZSI6ICIyMDEzLTA5LTE3IDEzOjE2OjA0In0sIHsidXNkIjogIi01Njku
99
+ MjAiLCAiYnRjIjogIjQuNDgwNDc4NTgiLCAiYnRjX3VzZCI6ICIxMjcuMDQi
100
+ LCAib3JkZXJfaWQiOiA3NDI5NjA0LCAiZmVlIjogIjIuMjgiLCAidHlwZSI6
101
+ IDIsICJpZCI6IDEzOTM4MTAsICJkYXRldGltZSI6ICIyMDEzLTA5LTE3IDEy
102
+ OjU3OjIzIn0sIHsidXNkIjogIi05OS4wMCIsICJidGMiOiAiMC43NzkyODIx
103
+ MiIsICJidGNfdXNkIjogIjEyNy4wNCIsICJvcmRlcl9pZCI6IDc0Mjk2MDQs
104
+ ICJmZWUiOiAiMC40MCIsICJ0eXBlIjogMiwgImlkIjogMTM5MzgwOCwgImRh
105
+ dGV0aW1lIjogIjIwMTMtMDktMTcgMTI6NTc6MTYifSwgeyJ1c2QiOiAiLTk5
106
+ LjAwIiwgImJ0YyI6ICIwLjc3OTI4MjEyIiwgImJ0Y191c2QiOiAiMTI3LjA0
107
+ IiwgIm9yZGVyX2lkIjogNzQyOTYwNCwgImZlZSI6ICIwLjQwIiwgInR5cGUi
108
+ OiAyLCAiaWQiOiAxMzkzODA3LCAiZGF0ZXRpbWUiOiAiMjAxMy0wOS0xNyAx
109
+ Mjo1NzoxNCJ9LCB7InVzZCI6ICItNzU2LjQwIiwgImJ0YyI6ICI1Ljk2MDU2
110
+ NTg3IiwgImJ0Y191c2QiOiAiMTI2LjkwIiwgIm9yZGVyX2lkIjogNzQyOTYw
111
+ NCwgImZlZSI6ICIzLjE4IiwgInR5cGUiOiAyLCAiaWQiOiAxMzkzNzU3LCAi
112
+ ZGF0ZXRpbWUiOiAiMjAxMy0wOS0xNyAxMjo0NTo0NSJ9LCB7InVzZCI6ICI0
113
+ MzQ1LjAwIiwgImJ0YyI6ICIwLjAwMDAwMDAwIiwgImJ0Y191c2QiOiAiMC4w
114
+ MCIsICJvcmRlcl9pZCI6IG51bGwsICJmZWUiOiAiMTUuMDAiLCAidHlwZSI6
115
+ IDAsICJpZCI6IDEzOTE5MTIsICJkYXRldGltZSI6ICIyMDEzLTA5LTE3IDA4
116
+ OjI5OjAzIn0sIHsidXNkIjogIjAuMDAiLCAiYnRjIjogIi00LjczOTc4ODky
117
+ IiwgImJ0Y191c2QiOiAiMC4wMCIsICJvcmRlcl9pZCI6IG51bGwsICJmZWUi
118
+ OiAiMC4wMCIsICJ0eXBlIjogMSwgImlkIjogMTM4Nzg5MSwgImRhdGV0aW1l
119
+ IjogIjIwMTMtMDktMTYgMTQ6MTE6MDMifSwgeyJ1c2QiOiAiLTI3LjcyIiwg
120
+ ImJ0YyI6ICIwLjIyMDM2NzI4IiwgImJ0Y191c2QiOiAiMTI1Ljc5IiwgIm9y
121
+ ZGVyX2lkIjogNzQwOTgwNCwgImZlZSI6ICIwLjEyIiwgInR5cGUiOiAyLCAi
122
+ aWQiOiAxMzg3ODgxLCAiZGF0ZXRpbWUiOiAiMjAxMy0wOS0xNiAxNDowNDow
123
+ MiJ9LCB7InVzZCI6ICItOTguMDAiLCAiYnRjIjogIjAuNzc5MDc2MjQiLCAi
124
+ YnRjX3VzZCI6ICIxMjUuNzkiLCAib3JkZXJfaWQiOiA3NDA5ODA0LCAiZmVl
125
+ IjogIjAuNDIiLCAidHlwZSI6IDIsICJpZCI6IDEzODc4NzksICJkYXRldGlt
126
+ ZSI6ICIyMDEzLTA5LTE2IDE0OjAzOjEwIn0sIHsidXNkIjogIi0xMjUuMzYi
127
+ LCAiYnRjIjogIjEuMDAwMDAwMDAiLCAiYnRjX3VzZCI6ICIxMjUuMzYiLCAi
128
+ b3JkZXJfaWQiOiA3Mzk0NzE1LCAiZmVlIjogIjAuNTMiLCAidHlwZSI6IDIs
129
+ ICJpZCI6IDEzODQzNjksICJkYXRldGltZSI6ICIyMDEzLTA5LTE1IDIwOjIw
130
+ OjQzIn0sIHsidXNkIjogIi0zMS44MSIsICJidGMiOiAiMC4yNDgyNzgzMCIs
131
+ ICJidGNfdXNkIjogIjEyOC4xMyIsICJvcmRlcl9pZCI6IDczNDAwOTYsICJm
132
+ ZWUiOiAiMC4xNCIsICJ0eXBlIjogMiwgImlkIjogMTM3NTM1NCwgImRhdGV0
133
+ aW1lIjogIjIwMTMtMDktMTMgMjA6MjQ6MzIifSwgeyJ1c2QiOiAiLTguODMi
134
+ LCAiYnRjIjogIjAuMDY4OTE0MzkiLCAiYnRjX3VzZCI6ICIxMjguMTMiLCAi
135
+ b3JkZXJfaWQiOiA3MzQwMDk2LCAiZmVlIjogIjAuMDQiLCAidHlwZSI6IDIs
136
+ ICJpZCI6IDEzNzUzNDUsICJkYXRldGltZSI6ICIyMDEzLTA5LTEzIDIwOjIw
137
+ OjA4In0sIHsidXNkIjogIi0xNzUuNTQiLCAiYnRjIjogIjEuMzcwMDAwMDAi
138
+ LCAiYnRjX3VzZCI6ICIxMjguMTMiLCAib3JkZXJfaWQiOiA3MzQwMDk2LCAi
139
+ ZmVlIjogIjAuNzQiLCAidHlwZSI6IDIsICJpZCI6IDEzNzUzNDQsICJkYXRl
140
+ dGltZSI6ICIyMDEzLTA5LTEzIDIwOjE5OjUyIn0sIHsidXNkIjogIi0xMDIu
141
+ MDAiLCAiYnRjIjogIjAuNzk2MDY2NDkiLCAiYnRjX3VzZCI6ICIxMjguMTMi
142
+ LCAib3JkZXJfaWQiOiA3MzQwMDk2LCAiZmVlIjogIjAuNDMiLCAidHlwZSI6
143
+ IDIsICJpZCI6IDEzNzUzMjEsICJkYXRldGltZSI6ICIyMDEzLTA5LTEzIDIw
144
+ OjE2OjAzIn0sIHsidXNkIjogIi0zMi45MiIsICJidGMiOiAiMC4yNTcwODYy
145
+ MiIsICJidGNfdXNkIjogIjEyOC4wNiIsICJvcmRlcl9pZCI6IDczNDAwOTYs
146
+ ICJmZWUiOiAiMC4xNCIsICJ0eXBlIjogMiwgImlkIjogMTM3NTI4NCwgImRh
147
+ dGV0aW1lIjogIjIwMTMtMDktMTMgMjA6MDU6MDIifSwgeyJ1c2QiOiAiMC4w
148
+ MCIsICJidGMiOiAiLTMuMjA3MTQ5NjMiLCAiYnRjX3VzZCI6ICIwLjAwIiwg
149
+ Im9yZGVyX2lkIjogbnVsbCwgImZlZSI6ICIwLjAwIiwgInR5cGUiOiAxLCAi
150
+ aWQiOiAxMzc1MjcxLCAiZGF0ZXRpbWUiOiAiMjAxMy0wOS0xMyAyMDowMTow
151
+ MyJ9LCB7InVzZCI6ICItMjA3LjcwIiwgImJ0YyI6ICIxLjYyMTY0MjczIiwg
152
+ ImJ0Y191c2QiOiAiMTI4LjA4IiwgIm9yZGVyX2lkIjogNzM0MDE4OSwgImZl
153
+ ZSI6ICIwLjg4IiwgInR5cGUiOiAyLCAiaWQiOiAxMzc1MjY0LCAiZGF0ZXRp
154
+ bWUiOiAiMjAxMy0wOS0xMyAxOTo1ODo1OCJ9LCB7InVzZCI6ICItMTAxLjAw
155
+ IiwgImJ0YyI6ICIwLjc4ODU2OTY0IiwgImJ0Y191c2QiOiAiMTI4LjA4Iiwg
156
+ Im9yZGVyX2lkIjogNzM0MDE4OSwgImZlZSI6ICIwLjQzIiwgInR5cGUiOiAy
157
+ LCAiaWQiOiAxMzc1MjYzLCAiZGF0ZXRpbWUiOiAiMjAxMy0wOS0xMyAxOTo1
158
+ ODo1NyJ9LCB7InVzZCI6ICItMTAyLjAwIiwgImJ0YyI6ICIwLjc5NjkzNzI2
159
+ IiwgImJ0Y191c2QiOiAiMTI3Ljk5IiwgIm9yZGVyX2lkIjogNzM0MDA5Niwg
160
+ ImZlZSI6ICIwLjQzIiwgInR5cGUiOiAyLCAiaWQiOiAxMzc1MjU1LCAiZGF0
161
+ ZXRpbWUiOiAiMjAxMy0wOS0xMyAxOTo1NDowNCJ9LCB7InVzZCI6ICIwLjAw
162
+ IiwgImJ0YyI6ICItMi4xMTA2MDUyMyIsICJidGNfdXNkIjogIjAuMDAiLCAi
163
+ b3JkZXJfaWQiOiBudWxsLCAiZmVlIjogIjAuMDAiLCAidHlwZSI6IDEsICJp
164
+ ZCI6IDEzNzMyNTAsICJkYXRldGltZSI6ICIyMDEzLTA5LTEzIDEyOjI4OjEz
165
+ In0sIHsidXNkIjogIi0yNjguODciLCAiYnRjIjogIjIuMTEwNjA1MjMiLCAi
166
+ YnRjX3VzZCI6ICIxMjcuMzkiLCAib3JkZXJfaWQiOiA3MzMxNDkyLCAiZmVl
167
+ IjogIjEuMTMiLCAidHlwZSI6IDIsICJpZCI6IDEzNzMxNTMsICJkYXRldGlt
168
+ ZSI6ICIyMDEzLTA5LTEzIDEyOjIwOjM3In0sIHsidXNkIjogIjAuMDAiLCAi
169
+ YnRjIjogIi03LjE0Mjc2NjA0IiwgImJ0Y191c2QiOiAiMC4wMCIsICJvcmRl
170
+ cl9pZCI6IG51bGwsICJmZWUiOiAiMC4wMCIsICJ0eXBlIjogMSwgImlkIjog
171
+ MTM2NTUxNCwgImRhdGV0aW1lIjogIjIwMTMtMDktMTIgMTI6NTc6MDQifSwg
172
+ eyJ1c2QiOiAiLTg5Ni4wNiIsICJidGMiOiAiNy4xNDI3NjYwNCIsICJidGNf
173
+ dXNkIjogIjEyNS40NSIsICJvcmRlcl9pZCI6IDcyOTYzMTcsICJmZWUiOiAi
174
+ My45NSIsICJ0eXBlIjogMiwgImlkIjogMTM2NTQ4MCwgImRhdGV0aW1lIjog
175
+ IjIwMTMtMDktMTIgMTI6NDM6MjkifSwgeyJ1c2QiOiAiMC4wMCIsICJidGMi
176
+ OiAiLTIxLjU2OTYzMjc3IiwgImJ0Y191c2QiOiAiMC4wMCIsICJvcmRlcl9p
177
+ ZCI6IG51bGwsICJmZWUiOiAiMC4wMCIsICJ0eXBlIjogMSwgImlkIjogMTM1
178
+ ODg2MiwgImRhdGV0aW1lIjogIjIwMTMtMDktMTEgMTk6NDk6MDUifSwgeyJ1
179
+ c2QiOiAiMC4wMCIsICJidGMiOiAiLTEuMDAwMDAwMDAiLCAiYnRjX3VzZCI6
180
+ ICIwLjAwIiwgIm9yZGVyX2lkIjogbnVsbCwgImZlZSI6ICIwLjAwIiwgInR5
181
+ cGUiOiAxLCAiaWQiOiAxMzU3Mjc1LCAiZGF0ZXRpbWUiOiAiMjAxMy0wOS0x
182
+ MSAxNToyNzozNCJ9LCB7InVzZCI6ICItNjEuOTAiLCAiYnRjIjogIjAuNTAw
183
+ MDAwMDAiLCAiYnRjX3VzZCI6ICIxMjMuNzkiLCAib3JkZXJfaWQiOiA3MjY0
184
+ MzYyLCAiZmVlIjogIjAuMjgiLCAidHlwZSI6IDIsICJpZCI6IDEzNTcwNDcs
185
+ ICJkYXRldGltZSI6ICIyMDEzLTA5LTExIDE0OjU2OjA1In0sIHsidXNkIjog
186
+ Ii0yMTAyLjQwIiwgImJ0YyI6ICIxNi45NjQzODAwMCIsICJidGNfdXNkIjog
187
+ IjEyMy45MyIsICJvcmRlcl9pZCI6IDcyNjU5NjcsICJmZWUiOiAiOS42OCIs
188
+ ICJ0eXBlIjogMiwgImlkIjogMTM1NzAzNSwgImRhdGV0aW1lIjogIjIwMTMt
189
+ MDktMTEgMTQ6NTU6MDYifSwgeyJ1c2QiOiAiLTI0Ny44NiIsICJidGMiOiAi
190
+ Mi4wMDAwMDAwMCIsICJidGNfdXNkIjogIjEyMy45MyIsICJvcmRlcl9pZCI6
191
+ IDcyNjU5NjcsICJmZWUiOiAiMS4xNSIsICJ0eXBlIjogMiwgImlkIjogMTM1
192
+ NzAzNCwgImRhdGV0aW1lIjogIjIwMTMtMDktMTEgMTQ6NTQ6MzcifSwgeyJ1
193
+ c2QiOiAiLTIzNC44MCIsICJidGMiOiAiMS44OTQ2NTMzMiIsICJidGNfdXNk
194
+ IjogIjEyMy45MyIsICJvcmRlcl9pZCI6IDcyNjU5NjcsICJmZWUiOiAiMS4w
195
+ OSIsICJ0eXBlIjogMiwgImlkIjogMTM1NzAyNywgImRhdGV0aW1lIjogIjIw
196
+ MTMtMDktMTEgMTQ6NTQ6MDkifSwgeyJ1c2QiOiAiLTI1LjkzIiwgImJ0YyI6
197
+ ICIwLjIwOTIzMTAyIiwgImJ0Y191c2QiOiAiMTIzLjkzIiwgIm9yZGVyX2lk
198
+ IjogNzI2NTk2NywgImZlZSI6ICIwLjEyIiwgInR5cGUiOiAyLCAiaWQiOiAx
199
+ MzU3MDIyLCAiZGF0ZXRpbWUiOiAiMjAxMy0wOS0xMSAxNDo1Mjo0NiJ9LCB7
200
+ InVzZCI6ICItMTI0LjI3IiwgImJ0YyI6ICIxLjAwMTM2ODQzIiwgImJ0Y191
201
+ c2QiOiAiMTI0LjEwIiwgIm9yZGVyX2lkIjogNzI2NTIyNCwgImZlZSI6ICIw
202
+ LjYwIiwgInR5cGUiOiAyLCAiaWQiOiAxMzU2ODM0LCAiZGF0ZXRpbWUiOiAi
203
+ MjAxMy0wOS0xMSAxNDoyNzoxMyJ9LCB7InVzZCI6ICI0NDYwLjAwIiwgImJ0
204
+ YyI6ICIwLjAwMDAwMDAwIiwgImJ0Y191c2QiOiAiMC4wMCIsICJvcmRlcl9p
205
+ ZCI6IG51bGwsICJmZWUiOiAiMTUuMDAiLCAidHlwZSI6IDAsICJpZCI6IDEz
206
+ NTUyNDcsICJkYXRldGltZSI6ICIyMDEzLTA5LTExIDEyOjA1OjI2In0sIHsi
207
+ dXNkIjogIjI0NjAuMDAiLCAiYnRjIjogIjAuMDAwMDAwMDAiLCAiYnRjX3Vz
208
+ ZCI6ICIwLjAwIiwgIm9yZGVyX2lkIjogbnVsbCwgImZlZSI6ICIxNS4wMCIs
209
+ ICJ0eXBlIjogMCwgImlkIjogMTMzOTA4NCwgImRhdGV0aW1lIjogIjIwMTMt
210
+ MDktMDkgMTA6NDQ6MzQifSwgeyJ1c2QiOiAiMC4wMCIsICJidGMiOiAiLTku
211
+ NTUyNTM0MTEiLCAiYnRjX3VzZCI6ICIwLjAwIiwgIm9yZGVyX2lkIjogbnVs
212
+ bCwgImZlZSI6ICIwLjAwIiwgInR5cGUiOiAxLCAiaWQiOiAxMjIwOTIwLCAi
213
+ ZGF0ZXRpbWUiOiAiMjAxMy0wOC0xOSAyMjowNTowMyJ9LCB7InVzZCI6ICIt
214
+ OTgwLjA5IiwgImJ0YyI6ICI5LjU1MjUzNDExIiwgImJ0Y191c2QiOiAiMTAy
215
+ LjYwIiwgIm9yZGVyX2lkIjogbnVsbCwgImZlZSI6ICI0LjkxIiwgInR5cGUi
216
+ OiAyLCAiaWQiOiAxMjIwODk2LCAiZGF0ZXRpbWUiOiAiMjAxMy0wOC0xOSAy
217
+ MjowMDowOCJ9LCB7InVzZCI6ICIxMDAwLjAwIiwgImJ0YyI6ICIwLjAwMDAw
218
+ MDAwIiwgImJ0Y191c2QiOiAiMC4wMCIsICJvcmRlcl9pZCI6IG51bGwsICJm
219
+ ZWUiOiAiMTUuMDAiLCAidHlwZSI6IDAsICJpZCI6IDEyMTgzODUsICJkYXRl
220
+ dGltZSI6ICIyMDEzLTA4LTE5IDEzOjA0OjM5In1d
221
+ http_version:
222
+ recorded_at: Thu, 26 Sep 2013 23:29:46 GMT
223
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,145 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.bitstamp.net/api/bitcoin_withdrawal/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: address=17Vr8d1yWrA226QNYZLDwaG4vDMUEaT9t5&amount=100&key=BITSTAMP_KEY&nonce=13950683899510&signature=0644D03D0D4FF3DEA6C2A4DF55C371930A2BC9BCE5D56DD9C151AE2014E2F0EF
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: !binary |-
14
+ T0s=
15
+ headers:
16
+ !binary "RGF0ZQ==":
17
+ - !binary |-
18
+ TW9uLCAxNyBNYXIgMjAxNCAxNDo1OTo1MCBHTVQ=
19
+ !binary "U2VydmVy":
20
+ - !binary |-
21
+ QXBhY2hl
22
+ !binary "Q29udGVudC1MYW5ndWFnZQ==":
23
+ - !binary |-
24
+ ZW4=
25
+ !binary "RXhwaXJlcw==":
26
+ - !binary |-
27
+ TW9uLCAxNyBNYXIgMjAxNCAxNDo1OTo1MSBHTVQ=
28
+ !binary "VmFyeQ==":
29
+ - !binary |-
30
+ QWNjZXB0LUxhbmd1YWdl
31
+ !binary "Q2FjaGUtQ29udHJvbA==":
32
+ - !binary |-
33
+ bWF4LWFnZT0w
34
+ !binary "TGFzdC1Nb2RpZmllZA==":
35
+ - !binary |-
36
+ TW9uLCAxNyBNYXIgMjAxNCAxNDo1OTo1MSBHTVQ=
37
+ !binary "Q29ubmVjdGlvbg==":
38
+ - !binary |-
39
+ Y2xvc2U=
40
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
41
+ - !binary |-
42
+ Y2h1bmtlZA==
43
+ !binary "Q29udGVudC1UeXBl":
44
+ - !binary |-
45
+ YXBwbGljYXRpb24vanNvbg==
46
+ !binary "U2V0LUNvb2tpZQ==":
47
+ - !binary |-
48
+ aW5jYXBfc2VzXzQ3Xzk5MDI1PThwUm5iQUdWZTFPNkpPaTFTZnVtQU9ZTkox
49
+ TUFBQUFBQXFtSkQ1YWpxZkJXQjB4dDBzZlBKZz09OyBwYXRoPS87IERvbWFp
50
+ bj0uYml0c3RhbXAubmV0
51
+ - !binary |-
52
+ bmxiaV85OTAyNT1zSDhvYitnYmtoOFJ5cFByK2RsNnZRQUFBQUFhQXUxMWNL
53
+ T0xodkw1bDFaYnpUZmE7IHBhdGg9LzsgRG9tYWluPS5iaXRzdGFtcC5uZXQ=
54
+ - !binary |-
55
+ dmlzaWRfaW5jYXBfOTkwMjU9L0VpSGtHSnZUQnVzTTBCMnJZMlE4T1lOSjFN
56
+ QUFBQUFRVUlQQUFBQUFBRE1EeEg1VE8ydGVENmlrcmR6b3RqYTsgZXhwaXJl
57
+ cz1XZWQsIDE2IE1hciAyMDE2IDE0OjE3OjAzIEdNVDsgcGF0aD0vOyBEb21h
58
+ aW49LmJpdHN0YW1wLm5ldA==
59
+ !binary "WC1JaW5mbw==":
60
+ - !binary |-
61
+ NS05Mzg1NjE0MC05Mzg1NjIxMiBOTk5ZIENUKDM1IDM1IDApIFJUKDEzOTUw
62
+ NjgzODk5MDkgMjY2KSBxKDAgMCAxIC0xKSByKDEgMikgVTY=
63
+ !binary "WC1DZG4=":
64
+ - !binary |-
65
+ SW5jYXBzdWxh
66
+ body:
67
+ encoding: ASCII-8BIT
68
+ string: !binary |-
69
+ eyJlcnJvciI6IHsiYW1vdW50IjogWyJZb3UgaGF2ZSBvbmx5IDAgQlRDIGF2
70
+ YWlsYWJsZS4gQ2hlY2sgeW91ciBhY2NvdW50IGJhbGFuY2UgZm9yIGRldGFp
71
+ bHMuIl19fQ==
72
+ http_version:
73
+ recorded_at: Mon, 17 Mar 2014 14:59:50 GMT
74
+ - request:
75
+ method: post
76
+ uri: https://www.bitstamp.net/api/bitcoin_withdrawal/
77
+ body:
78
+ encoding: US-ASCII
79
+ string: address=17Vr8d1yWrA226QNYZLDwaG4vDMUEaT9t5&amount=100&key=BITSTAMP_KEY&nonce=13950683908946&signature=3F64B8F96F1CE4CCC76271862FED88A2DEC018D5B54CBC46FDF6521D5C2D4D14
80
+ headers: {}
81
+ response:
82
+ status:
83
+ code: 200
84
+ message: !binary |-
85
+ T0s=
86
+ headers:
87
+ !binary "RGF0ZQ==":
88
+ - !binary |-
89
+ TW9uLCAxNyBNYXIgMjAxNCAxNDo1OTo1MSBHTVQ=
90
+ !binary "U2VydmVy":
91
+ - !binary |-
92
+ QXBhY2hl
93
+ !binary "Q29udGVudC1MYW5ndWFnZQ==":
94
+ - !binary |-
95
+ ZW4=
96
+ !binary "RXhwaXJlcw==":
97
+ - !binary |-
98
+ TW9uLCAxNyBNYXIgMjAxNCAxNDo1OTo1MSBHTVQ=
99
+ !binary "VmFyeQ==":
100
+ - !binary |-
101
+ QWNjZXB0LUxhbmd1YWdl
102
+ !binary "Q2FjaGUtQ29udHJvbA==":
103
+ - !binary |-
104
+ bWF4LWFnZT0w
105
+ !binary "TGFzdC1Nb2RpZmllZA==":
106
+ - !binary |-
107
+ TW9uLCAxNyBNYXIgMjAxNCAxNDo1OTo1MSBHTVQ=
108
+ !binary "Q29ubmVjdGlvbg==":
109
+ - !binary |-
110
+ Y2xvc2U=
111
+ !binary "VHJhbnNmZXItRW5jb2Rpbmc=":
112
+ - !binary |-
113
+ Y2h1bmtlZA==
114
+ !binary "Q29udGVudC1UeXBl":
115
+ - !binary |-
116
+ YXBwbGljYXRpb24vanNvbg==
117
+ !binary "U2V0LUNvb2tpZQ==":
118
+ - !binary |-
119
+ aW5jYXBfc2VzXzQ3Xzk5MDI1PSswY3pOVjJIU2kycEplaTFTZnVtQU9ZTkox
120
+ TUFBQUFBcTZzbkV2Si8rMTRvNkNXU2FwQmdXUT09OyBwYXRoPS87IERvbWFp
121
+ bj0uYml0c3RhbXAubmV0
122
+ - !binary |-
123
+ bmxiaV85OTAyNT1YY2ZXWmJhaHBuWit1WlFjK2RsNnZRQUFBQUJJRE1LNk1k
124
+ Q2RZNURHc3lNNVE2akE7IHBhdGg9LzsgRG9tYWluPS5iaXRzdGFtcC5uZXQ=
125
+ - !binary |-
126
+ dmlzaWRfaW5jYXBfOTkwMjU9T2N1S085a09RaCsvYlVOVUlVSWF5dVlOSjFN
127
+ QUFBQUFRVUlQQUFBQUFBQVM5TE9rSFp2dHQ1UW1HSXVyQjNzbDsgZXhwaXJl
128
+ cz1XZWQsIDE2IE1hciAyMDE2IDE0OjE3OjAwIEdNVDsgcGF0aD0vOyBEb21h
129
+ aW49LmJpdHN0YW1wLm5ldA==
130
+ !binary "WC1JaW5mbw==":
131
+ - !binary |-
132
+ Ni0xNTU2MjAxOTktMTU1NjIwMjc2IE5OTlkgQ1QoMzQgMzYgMCkgUlQoMTM5
133
+ NTA2ODM5MDQwNiAxODkpIHEoMCAwIDEgLTEpIHIoMSAyKSBVNg==
134
+ !binary "WC1DZG4=":
135
+ - !binary |-
136
+ SW5jYXBzdWxh
137
+ body:
138
+ encoding: ASCII-8BIT
139
+ string: !binary |-
140
+ eyJlcnJvciI6IHsiYW1vdW50IjogWyJZb3UgaGF2ZSBvbmx5IDAgQlRDIGF2
141
+ YWlsYWJsZS4gQ2hlY2sgeW91ciBhY2NvdW50IGJhbGFuY2UgZm9yIGRldGFp
142
+ bHMuIl19fQ==
143
+ http_version:
144
+ recorded_at: Mon, 17 Mar 2014 14:59:51 GMT
145
+ recorded_with: VCR 2.6.0
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe Bitstamp::Orders do
4
+ before { setup_bitstamp }
5
+
6
+ describe :all, vcr: {cassette_name: 'bitstamp/orders/all'} do
7
+ subject { Bitstamp.orders.all }
8
+ it { should be_kind_of Array }
9
+ describe "first order" do
10
+ subject { Bitstamp.orders.all.first }
11
+ its(:price) { should == "1.01" }
12
+ its(:amount) { should == "1.00000000" }
13
+ its(:type) { should == 0 }
14
+ its(:datetime) { should == "2013-09-26 23:15:04" }
15
+ end
16
+ end
17
+
18
+ describe :sell do
19
+ context "no permission found", vcr: {cassette_name: 'bitstamp/orders/sell/failure'} do
20
+ subject { Bitstamp.orders.sell(:amount => 1, :price => 1000) }
21
+ it { should be_kind_of Bitstamp::Order }
22
+ its(:error) { should == "No permission found" }
23
+ end
24
+ # context "bitcoins available", vcr: {cassette_name: 'bitstamp/orders/sell/success'} do
25
+ # subject { Bitstamp.orders.sell(:amount => 1, :price => 1000) }
26
+ # xit { should be_kind_of Bitstamp::Order }
27
+ # its(:error) { should be_nil }
28
+ # end
29
+ end
30
+
31
+ describe :buy, vcr: {cassette_name: 'bitstamp/orders/buy'} do
32
+ subject { Bitstamp.orders.buy(:amount => 1, :price => 1.01) }
33
+ it { should be_kind_of Bitstamp::Order }
34
+ its(:price) { should == "1.01" }
35
+ its(:amount) { should == "1" }
36
+ its(:type) { should == 0 }
37
+ its(:datetime) { should == "2013-09-26 23:26:56.849475" }
38
+ its(:error) { should be_nil }
39
+ end
40
+ end