Commit Graph

313 Commits

Author SHA1 Message Date
Jude Nelson
e0ac06e95f get_registration_recipient_from_outputs 2015-08-31 18:11:17 -04:00
Jude Nelson
04bc6df362 Send an unrevealed recipient address in our preorder operations, and
properly price them.
2015-08-31 18:10:49 -04:00
Jude Nelson
0a56359d36 Update costs, burn address, and null namespace information 2015-08-31 18:10:28 -04:00
Jude Nelson
34e419aad5 Optionally include the owner's address in a name hash 2015-08-31 18:10:06 -04:00
Jude Nelson
b11491c1d2 Check name and namespace fees; preserve names that are revoked until
they expire; properly expire namespace preorders; remove dead code.
2015-08-31 18:09:39 -04:00
Jude Nelson
1ad04d8348 Find the burn fee from an operation, and forward it along in the
operation dict so the namedb can verify that names and namespaces are
paid for.
2015-08-31 18:09:09 -04:00
Jude Nelson
e0df57a5e2 Send the NAME_IMPORT fee to the burn address, and expose the update hash
and owner address in the operation.
2015-08-31 18:08:39 -04:00
Jude Nelson
60d6f8143a Use the address of the revealer to construct the NAMESPACE_PREORDER
hash; pay the fee to the burn address.
2015-08-31 18:08:11 -04:00
Jude Nelson
fb2614acbe Embed the blockstore version number in NAMESPACE_REVEAL; reveal the
address of the private key that will perform imports.
2015-08-31 18:07:33 -04:00
Jude Nelson
e4ec0dc16e Embed the name owner's address in the preorder hash; send the
registration fee to the burn address
2015-08-31 18:07:06 -04:00
Jude Nelson
84ee2209db Upon register, reveal the owner's address. Include it as a separate
output.
2015-08-31 18:06:38 -04:00
Jude Nelson
f7fee1a946 Proper fee amount 2015-08-31 18:06:18 -04:00
Jude Nelson
4da96856a0 NAMESPACE_REVEAL import 2015-08-25 17:47:37 -04:00
Jude Nelson
fe5484746a We don't always have a recipient address 2015-08-25 17:15:26 -04:00
Jude Nelson
8364952528 More careful index range queries 2015-08-25 17:15:13 -04:00
Jude Nelson
22bb7c6ba1 Ensure each name has only base-38 characters; ensure we propagate the
appropriate mining fee
2015-08-24 18:12:14 -04:00
Jude Nelson
b094b3099b Export NAME_IMPORT and NAME_TRANSFER methods 2015-08-24 18:11:52 -04:00
Jude Nelson
1904a82336 Parse, log, and commit NAME_IMPORTs 2015-08-24 18:11:38 -04:00
Jude Nelson
32b91045e1 Clearer enumeration of checks on logging operations; allow NAME_IMPORT;
do name and namespace pricing checks
2015-08-24 18:05:30 -04:00
Jude Nelson
e01a8de1a5 Add NAME_IMPORT operation 2015-08-24 18:05:14 -04:00
Jude Nelson
b29a44ad89 Reindex every 30 seconds; use correct op lengths; add NAME_IMPORT op 2015-08-24 18:04:45 -04:00
Jude Nelson
e8f4cac374 Automatically reconnect on transient bitcoind connection failures; add
methods for name pricing; fail early if a name is already registered.
2015-08-24 18:04:10 -04:00
Jude Nelson
37eacd8ed9 Make setup.py executable 2015-08-18 16:54:19 -04:00
Jude Nelson
fb70205b07 Expire old namespace preorders, old name preorders, and old partial
namespace imports.  Check each time we save the database.
2015-08-18 16:53:55 -04:00
Jude Nelson
672960919f Add preorder expiry 2015-08-18 16:53:20 -04:00
Jude Nelson
3f2eea2a47 Add namespace pricing and expiry times 2015-08-18 16:16:38 -04:00
Jude Nelson
35c80f3870 Don't assume that all config items are set. 2015-08-17 18:00:06 -04:00
Jude Nelson
623a349f9c Rename 'namespace define' to 'namespace reveal', and 'namespace begin'
to 'namespace ready'
2015-08-17 16:58:08 -04:00
Jude Nelson
16a255b984 Hexlify the consensus and name hashes 2015-08-17 12:08:20 -04:00
Jude Nelson
2bc915faad A transaction can have multiple recipients (i.e. for transfers), so take
the first non-OP_RETURN one when we have a choice.
2015-08-17 12:07:47 -04:00
Jude Nelson
49996060bf Get transfers and revokes working 2015-08-17 12:07:28 -04:00
Jude Nelson
935a40709e Reload the database periodically, so we see the latest ops. 2015-08-17 02:16:55 -04:00
Jude Nelson
e7e6d014c7 Mask transient network connectivity failures. 2015-08-17 02:16:39 -04:00
Jude Nelson
2d72839c38 Make persistent with flush() 2015-08-14 16:05:25 -04:00
Jude Nelson
d9a3cc8d48 Get the latest block ID when indexing 2015-08-14 16:05:10 -04:00
Jude Nelson
baab17df49 Log where we load the DB from 2015-08-14 15:07:23 -04:00
Jude Nelson
aea5a99bd5 NAME_UPDATE import 2015-08-14 15:07:06 -04:00
Jude Nelson
c5f90172ee Add the option to raise an exception instead of prompt for missing
configuration details.  At the same time, return missing configuration
fields to the caller, so the caller can optionally find some other way
of supplying them.  This is to make it possible for subprocesses of
blockstored to automatically load configuration data, and raise an
exception of there are missing fields (so the user can go enter them
out-of-band).
2015-08-14 15:05:39 -04:00
Jude Nelson
7813a40faf Do not rely on Twisted looping calls, since they block requests to the
RPC server.  Instead, run a subprocess that periodically rebuilds
the database, and have it run asynchronously with respect to the server.
2015-08-14 15:04:53 -04:00
Jude Nelson
63778909b4 Get NAMESPACE_BEGIN ops to work correctly 2015-08-13 16:57:09 -04:00
Jude Nelson
0517ad2cf5 Explicitly denote hex literals when constructing an OP_RETURN name
script.
2015-08-11 17:28:48 -04:00
Jude Nelson
56eb31ea34 Include the revoke operation 2015-08-11 17:28:35 -04:00
Jude Nelson
b6b0b204c9 Parse NAME_REVOKE; print out debugging info when we find an unparseable
nameop.
2015-08-11 17:28:12 -04:00
Jude Nelson
28cbd5c42a Fix typos found during testing 2015-08-11 17:27:54 -04:00
Jude Nelson
4b7a9c76e2 Add NAME_REVOKE op length; correct NAMESPACE_DEFINE op length 2015-08-11 17:27:29 -04:00
Jude Nelson
47f2a86de2 Pass privatekey to namespace_define 2015-08-11 17:27:08 -04:00
Jude Nelson
ce5d574fec Remove dead code. blockstore/client.py and blockstore/blockstore_cli.py
have been rewritten in the blockstore-client project.
2015-08-11 15:06:22 -04:00
Jude Nelson
e0c1d7ab38 Update package URLs and license in setup script 2015-08-11 15:06:11 -04:00
Jude Nelson
f0d69e2089 Remove parsing 2015-08-11 15:06:03 -04:00
Jude Nelson
caf6211a45 Blockstore, not blockstack state engine 2015-08-11 15:05:49 -04:00