Jude Nelson
effc2d6db3
a NAME_REGISTRATION/NAME_RENEWAL's burn address must go to a v2 namespace's address for the first year (fee collection period) of its existence, starting from its reveal block. after that, fees go to the null burn address (to discourage squatting or gratuitous namespace registration)
2017-10-04 00:03:54 -04:00
Jude Nelson
5d0bcbce19
plug DoS problem whereby a namespace can be preordered by a non-p2pkh script (this is allowed; this fix stops nodes from crashing when it happens)
2017-10-03 13:07:20 -04:00
Jude Nelson
b8f340c3a1
preserve sender_pubkey across renewal
2017-10-01 14:37:45 -04:00
Jude Nelson
4e579bdbed
fix debug output on burn fee
2017-09-29 18:09:58 -04:00
Jude Nelson
65147a144e
print exceptions in test mode
2017-09-29 16:03:27 -04:00
Jude Nelson
5842fed87a
op_fee can be None, if it is not given
2017-09-29 00:49:38 -04:00
Jude Nelson
7145bcfee8
don't allow transfer if we're in the renewal grace period
2017-09-29 00:49:37 -04:00
Jude Nelson
1860edb8f6
don't allow update if we're in the renewal grace period
2017-09-29 00:49:37 -04:00
Jude Nelson
f74e14c033
don't allow revoke if we're in the name renewal grace period
2017-09-29 00:49:37 -04:00
Jude Nelson
6de96721b0
don't clear out sender_pubkey
2017-09-29 00:49:37 -04:00
Jude Nelson
0451d81d92
log renewal fee
2017-09-29 00:49:36 -04:00
Jude Nelson
ba6379df18
After F-day 2017, a NAME_REGISTRATION and NAME_RENEWAL may correspond to a namespace that requires the user pay the namespace creator (a version-2 namespace). Enforce this at the consensus level---a NAME_REGISTRATION and NAME_RENEWAL are only valid in a version-2 namespace if the user paid the namespace creator
2017-09-29 00:49:35 -04:00
Jude Nelson
9caa75e0fd
extract burn address and outputs from the transaction; remember the burn address to validate NAME_REGISTRATIONs and NAME_RENEWALs that follow
2017-09-29 00:49:33 -04:00
Jude Nelson
b3246f9b35
after F-day 2017, allow version-2 namespaces (which allow pay-to-creator for name registration). Update the consensus logic to (1) check for version-2 if we're in the relevant epoch, and if so, require users to send their name fees to the NAMESPACE_PREORDER's payment address
2017-09-29 00:49:32 -04:00
Jude Nelson
97cd614921
back up burn address on NAMESPACE_REVEAL; obtain burn address from outputs; obtain fee from outputs
2017-09-29 00:49:31 -04:00
Jude Nelson
28b2e49c37
allow register to include a zone file hash; allow renew to include a zone file hash and a new recipient.
2017-09-29 00:49:26 -04:00
Aaron Blankstein
c878b62c8a
/usr/bin/env python -> python2. our code is not python3 friendly, we should specify that
2017-08-17 13:40:01 -04:00
Jude Nelson
23e8e69009
TODO notes
2017-06-15 11:19:07 -04:00
Jude Nelson
15bcb452ee
clean up imports
2017-04-27 19:23:15 -04:00
Jude Nelson
eb06526aa4
use generic virtualchain multisig script check
2017-04-20 17:37:17 -04:00
Jude Nelson
9c12126d95
use generic virtualchain multisig script check
2017-04-20 17:37:02 -04:00
Jude Nelson
ff07b90bd1
use keylib base58 instead of pybitcoin base58
2017-04-20 17:36:49 -04:00
Jude Nelson
1a07180041
remove dead code
2017-04-17 15:38:59 -04:00
Jude Nelson
62965d4f00
remove dead code
2017-04-12 17:10:15 -04:00
Jude Nelson
c5ab587523
return false on mismatched sender (backport from master)
2017-03-09 20:02:49 -05:00
Jude Nelson
99810d512a
use the announcement API in the blockstack client
2017-01-30 01:34:43 -05:00
Jude Nelson
66360657c5
remove dead code
2016-10-27 00:03:43 -04:00
Jude Nelson
707e6a9086
move SNV consensus restoration logic to the client
2016-10-24 03:22:47 -04:00
Jude Nelson
22a84cbb78
track 'last_create_op' in the db
2016-10-24 03:22:28 -04:00
Jude Nelson
527e46ad6d
use the new 'last_creation_op' column instead of (expensively)
...
calculating it from the DB.
2016-10-24 03:21:47 -04:00
Jude Nelson
6a2639bc49
do not allow a name to be registered to a p2sh script until the multisig
...
support activates (this is to keep 0.14 consistent with 0.13 until then)
2016-10-04 18:16:50 -04:00
Jude Nelson
488d1ad1d3
do not allow a transfer sender to be a p2sh script until the multisig
...
support activates
2016-10-04 18:16:18 -04:00
Jude Nelson
46abc13e9a
improve error-path log messages a bit
2016-09-28 20:26:18 -04:00
Jude Nelson
22bdb8045c
whitespace
2016-09-25 23:47:38 -04:00
Jude Nelson
c4cf324e1b
register/renew can mutate op_fee, since the epoch can change between
...
preorder/register or register/renew. Also, when considering name
prices, use the preorder's block number (i.e. the epoch the preorder
occurred in determines the price to pay, not the register). For
renewals, however, use the current block height to determine the fee.
2016-09-12 17:59:35 -04:00
Jude Nelson
41c22f172a
remove dead code
2016-09-12 17:59:29 -04:00
Jude Nelson
f6d81c332d
back up op_fee, since it can change due to an epoch change
2016-09-12 17:59:14 -04:00
Jude Nelson
8e7c78f3d3
remove dead code
2016-09-09 16:55:30 -04:00
Jude Nelson
84266a9f2e
if re-revealing an expired namespace of the same name, reconstruct the
...
appropriate history snapshot first (i.e. the previous revealed state)
2016-09-09 16:55:01 -04:00
Jude Nelson
c6c8c9a4f9
API sync
2016-09-09 11:20:16 -04:00
Jude Nelson
f094d3cb1d
WIP: make expired namespace_reveals restorable
2016-09-09 11:19:56 -04:00
Jude Nelson
0143b7cb85
new price_name() API sync
2016-09-09 11:19:38 -04:00
Jude Nelson
60e82529fe
better history index notation in debug output
2016-09-09 11:19:23 -04:00
Jude Nelson
c4abd401e1
pass both the working db and untrusted db when calculating extra
...
consensus fields (since the untrusted db might not have the data we
need when verifying). Also, when calculating consensus quirks, check if
a name operation is the first NAME_IMPORT for a name in order to handle
the NAME_IMPORT fee quirk correctly.
2016-09-07 11:08:06 -04:00
Jude Nelson
fefce0537d
log which code path we take
2016-09-05 20:46:24 -04:00
Jude Nelson
1952b935e4
preserve the *first* preorder name hash when restoring consensus extras
2016-09-05 20:46:00 -04:00
Jude Nelson
51617feead
log the SNV quirks as we apply them
2016-09-05 20:45:45 -04:00
Jude Nelson
b9d46bf0e4
remove dead code; better debug statement
2016-09-04 17:22:53 -04:00
Jude Nelson
692319b263
Merge sqlite3 into develop. Mostly refactoring: move operation
...
parsing, validation, and consensus logic into the individual operation's
.py file.
2016-09-02 00:20:24 -04:00
Jude Nelson
c93390ef0e
sqlite3 merger: add much more rigorous operation-checking:
...
* identify and preserve invariant properties that must hold across name
state-transitions (like no-collisions, or limiting fields that can
change).
* add history validation
* identify consensus-bearing fields, and how each state-creation or
state-transition may affect them (and add runtime checks to see that
they only affect the fields we say they will)
* add decorators that we can apply to name operations to enforce the
above.
2016-09-02 00:16:36 -04:00