dropzone_ruby 0.1.2 → 0.1.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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +4 -0
- data/bin/dropzone +10 -10
- data/lib/dropzone/command.rb +10 -3
- data/lib/dropzone/item.rb +1 -1
- data/lib/dropzone/version.rb +1 -1
- data/spec/bitcoin_spec.rb +2 -2
- data/spec/item_spec.rb +40 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e1b7b2c5315e091f51cac362b232d3c3512fc746
|
|
4
|
+
data.tar.gz: 5030f97c3474a1a7646ccf478d651cd053594fcd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4475a7296863b5ba323521176845709eb98edabcb2df7a33c1e37dd76e31e23a8ae64c93e1216022e57649733c8743ad2ae083dfa3d0e84662a07903c7d8eedf
|
|
7
|
+
data.tar.gz: 36bbddc69a5f483be6c7b5d42956bb01cf73deca38346bdf669cac09a2fdde229418f3729c99cd577db082d47fe0996c61eb156e369a0c90b7872e11f3cbef68
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -19,6 +19,10 @@ Find a list of commands with:
|
|
|
19
19
|
|
|
20
20
|
$ dropzone help
|
|
21
21
|
|
|
22
|
+
Online help for individual commands can be obtained like so (example for `chat list`):
|
|
23
|
+
|
|
24
|
+
$ dropzone help chat list
|
|
25
|
+
|
|
22
26
|
Fund a testnet key with tBTC or a mainnet key with BTC
|
|
23
27
|
|
|
24
28
|
Create a seller or buyer profile
|
data/bin/dropzone
CHANGED
|
@@ -133,16 +133,16 @@ command 'listing find' do |c|
|
|
|
133
133
|
c.example 'Find listings in block 371812',
|
|
134
134
|
'dropzone listing find 0 --start_at 371812'
|
|
135
135
|
|
|
136
|
-
c.option '--latitude LAT
|
|
136
|
+
c.option '--latitude LAT', Float,
|
|
137
137
|
'The approximate latitude of your location.'
|
|
138
|
-
c.option '--longitude LON
|
|
138
|
+
c.option '--longitude LON', Float,
|
|
139
139
|
'The approximate longitude of your location.'
|
|
140
|
-
c.option '--radius METERS
|
|
140
|
+
c.option '--radius METERS', Integer, multi(<<-eos)
|
|
141
141
|
The approximate diameter you wish to search around the provided
|
|
142
142
|
latitude and longitude. The expected unit of distance is in meters.
|
|
143
143
|
eos
|
|
144
144
|
|
|
145
|
-
c.option '--start_at BLOCKHEIGHT
|
|
145
|
+
c.option '--start_at BLOCKHEIGHT', Integer, multi(<<-eos)
|
|
146
146
|
Start searching from the specified block height until <block_depth>
|
|
147
147
|
'blocks down'. The default behavior is to start at the current blockchain
|
|
148
148
|
height.
|
|
@@ -164,9 +164,9 @@ def listing_create_update_options(cmd)
|
|
|
164
164
|
A three or four digit currency identifier. Common values would include
|
|
165
165
|
'BTC' or 'USD', though any identifier can be specified
|
|
166
166
|
eos
|
|
167
|
-
cmd.option '--price_in_units PRICE
|
|
167
|
+
cmd.option '--price_in_units PRICE', Integer,
|
|
168
168
|
'The price of the specified item denominated in cents, or satoshis, etc.'
|
|
169
|
-
cmd.option '--expiration_in NBLOCKS
|
|
169
|
+
cmd.option '--expiration_in NBLOCKS', Integer, multi(<<-eos)
|
|
170
170
|
The expiration time of the item. "Times" are to be indicated in the number
|
|
171
171
|
of blocks that this listing is available for. Omitting this field indicates
|
|
172
172
|
no expiration. Note that clients will likely override the seller's
|
|
@@ -349,7 +349,7 @@ command 'invoice create' do |c|
|
|
|
349
349
|
|
|
350
350
|
c.option '--amount_due BTC', String,
|
|
351
351
|
'Amount due, denominated in Bitcoin (ie "0.5")'
|
|
352
|
-
c.option '--expiration_in NBLOCKS
|
|
352
|
+
c.option '--expiration_in NBLOCKS', Integer, multi(<<-eos)
|
|
353
353
|
The expiration time of the invoice. "Times" are to be indicated in the number
|
|
354
354
|
of blocks that this listing is available for. Omitting this field indicates
|
|
355
355
|
no expiration. Specifying an expiration is useful for locking in an exchange
|
|
@@ -380,7 +380,7 @@ command 'review create' do |c|
|
|
|
380
380
|
|
|
381
381
|
c.example 'Review a purchase:', multi(<<-eos) % [RANDOM_TXID]
|
|
382
382
|
dropzone review create
|
|
383
|
-
--description:
|
|
383
|
+
--description: "Fair exchange"
|
|
384
384
|
--delivery_quality 8,
|
|
385
385
|
--product_quality 8
|
|
386
386
|
--communications_quality 4
|
|
@@ -394,7 +394,7 @@ command 'review create' do |c|
|
|
|
394
394
|
'The quality of the delivery itself. Between 0 (worst) to 8 (best)'
|
|
395
395
|
|
|
396
396
|
c.option '--product_quality N', Integer,
|
|
397
|
-
'The quality of the product.
|
|
397
|
+
'The quality of the product. Between 0 (worst) to 8 (best)'
|
|
398
398
|
|
|
399
399
|
c.option '--communications_quality N', Integer,
|
|
400
400
|
"The seller's communications skill. Between 0 (worst) to 8 (best)"
|
|
@@ -443,7 +443,7 @@ command 'chat say' do |c|
|
|
|
443
443
|
|
|
444
444
|
c.syntax, c.summary, c.description =
|
|
445
445
|
'dropzone chat say <private_key> <tx_id> <message>',
|
|
446
|
-
'Communicate to another party in a private/encrypted conversation over testnet
|
|
446
|
+
'Communicate to another party in a private/encrypted conversation over testnet',
|
|
447
447
|
multi(<<-eos)
|
|
448
448
|
Append to the conversation <tx_id> at your testnet address <private> key
|
|
449
449
|
say the provided <message> to a receiving party.
|
data/lib/dropzone/command.rb
CHANGED
|
@@ -108,10 +108,17 @@ class DropZoneCommand
|
|
|
108
108
|
|
|
109
109
|
message = klass.new params
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
if (message.valid?)
|
|
112
|
+
txid = message.save! privkey.to_base58
|
|
112
113
|
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
puts_object '%s: %s' % [label, message.receiver_addr],
|
|
115
|
+
'Tx: %s' % txid, attributes, message
|
|
116
|
+
else
|
|
117
|
+
puts "Errors Found in %s:" % label
|
|
118
|
+
message.errors.each_pair do |attr, reasons|
|
|
119
|
+
puts ' * "%s": %s' % [attr, reasons.join(', ')]
|
|
120
|
+
end
|
|
121
|
+
end
|
|
115
122
|
end
|
|
116
123
|
end
|
|
117
124
|
|
data/lib/dropzone/item.rb
CHANGED
|
@@ -115,7 +115,7 @@ module Dropzone
|
|
|
115
115
|
|
|
116
116
|
def address_parts(addr, part)
|
|
117
117
|
parts = HASH_160_PARTS.match(addr)
|
|
118
|
-
(parts.length > 0) ? parts[part+1].tr('X','0').to_i : nil
|
|
118
|
+
(parts && parts.length > 0) ? parts[part+1].tr('X','0').to_i : nil
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
def latlon_to_integer(lat_or_lon, unsigned_offset = 90)
|
data/lib/dropzone/version.rb
CHANGED
data/spec/bitcoin_spec.rb
CHANGED
|
@@ -9,8 +9,8 @@ describe Dropzone do
|
|
|
9
9
|
|
|
10
10
|
before(:all) do
|
|
11
11
|
Bitcoin.network = :testnet3
|
|
12
|
-
TCPSocket::socks_server = "127.0.0.1"
|
|
13
|
-
TCPSocket::socks_port = 9050
|
|
12
|
+
#TCPSocket::socks_server = "127.0.0.1"
|
|
13
|
+
#TCPSocket::socks_port = 9050
|
|
14
14
|
# Socksify::debug = true
|
|
15
15
|
#RestClient.log = Logger.new STDOUT
|
|
16
16
|
|
data/spec/item_spec.rb
CHANGED
|
@@ -290,5 +290,45 @@ describe Dropzone::Item do
|
|
|
290
290
|
end
|
|
291
291
|
end
|
|
292
292
|
|
|
293
|
+
describe "problematic decodes" do
|
|
294
|
+
# @Junseth Issue #18:
|
|
295
|
+
# txid: 73cfb35e1e6bb31b3ddffb41322c46f155970bfae3c40385b171ba02f88985a0
|
|
296
|
+
it "Fails to decode invalid radius transaction" do
|
|
297
|
+
tx_id = '73cfb35e1e6bb31b3ddffb41322c46f155970bfae3c40385b171ba02f88985a0'
|
|
298
|
+
tx_hex = '01000000017ecf3bcdd734881a466b2fcb8ff9c602ff96190ecbda86fadd2'+
|
|
299
|
+
'f907bfeb7f22a020000006b4830450221008b343292dbc140379bdcdad613fd8bd2b'+
|
|
300
|
+
'e739147a10f57b5dd3f6c23afe818e402201edbe946b27a0183a3d98ce61f0f88872'+
|
|
301
|
+
'1330c8694f8b700448d8c902317db4c0121031bf0b235cb0cefcf8c9c299f3009257'+
|
|
302
|
+
'04d6da7e6b448bd185c80d28f1216ef44ffffffff0536150000000000001976a9141'+
|
|
303
|
+
'f319c85b0cb2667e09fc4388dc209b0c4a240d388ac3615000000000000695121039'+
|
|
304
|
+
'fb679314a062d887537ad75b6e056bd4020807e56d742cd0aa77bf890aea5e121027'+
|
|
305
|
+
'fdb01ce03a72c67551b80e18a612a4789a6b3d168e4ca883dd7236d2c19b60f21031'+
|
|
306
|
+
'bf0b235cb0cefcf8c9c299f300925704d6da7e6b448bd185c80d28f1216ef4453ae3'+
|
|
307
|
+
'615000000000000695121039fb679166a6b5f8f5951a77ef1a258a50368c22f5dd15'+
|
|
308
|
+
'9dc07a824a29dacaa0a21026bdb01e004a62f2f7b1cceecde622814d2fdb4d63ca5c'+
|
|
309
|
+
'8d1668e2d78263defb421031bf0b235cb0cefcf8c9c299f300925704d6da7e6b448b'+
|
|
310
|
+
'd185c80d28f1216ef4453ae361500000000000069512103aeb679311f267c896372c'+
|
|
311
|
+
'86b8b823adc234ba05d34b631a868c61794bdcdc48221030ffb228a71c85c4a0f74e'+
|
|
312
|
+
'e84aa16582efdd2d6bf488ba4a849bf464d4a6bd93021031bf0b235cb0cefcf8c9c2'+
|
|
313
|
+
'99f300925704d6da7e6b448bd185c80d28f1216ef4453ae2cf41100000000001976a'+
|
|
314
|
+
'9142bb8d14d65d316483e24da5512bfd2a977da85ea88ac00000000'
|
|
315
|
+
|
|
316
|
+
tx = Bitcoin::P::Tx.new [tx_hex].pack('H*')
|
|
317
|
+
|
|
318
|
+
record = Counterparty::TxDecode.new tx,
|
|
319
|
+
prefix: Dropzone::BitcoinConnection::PREFIX
|
|
320
|
+
|
|
321
|
+
item = Dropzone::Item.new(data: record.data,
|
|
322
|
+
receiver_addr: record.receiver_addr,
|
|
323
|
+
txid: tx_id, sender_addr: record.sender_addr)
|
|
293
324
|
|
|
325
|
+
expect(item.valid?).to eq(false)
|
|
326
|
+
expect(item.errors.count).to eq(3)
|
|
327
|
+
expect(item.errors.on(:latitude)).to eq(['is not a number'])
|
|
328
|
+
expect(item.errors.on(:longitude)).to eq(['is not a number'])
|
|
329
|
+
expect(item.errors.on(:radius)).to eq(['is not a number'])
|
|
330
|
+
|
|
331
|
+
end
|
|
332
|
+
|
|
333
|
+
end
|
|
294
334
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dropzone_ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Miracle Max
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-12-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: counterparty_ruby
|