Commit Graph

1191 Commits

Author SHA1 Message Date
Jude Nelson
a00a1fbe36 fix bug in getting subdomain history; add method to check if a name created a zone file 2018-09-20 17:26:52 -04:00
Jude Nelson
c3b7ac84ea add method to check if a name created a zone file hash; remove dead code 2018-09-20 17:26:29 -04:00
Jude Nelson
040b2aa4e2 pass through new DB methods 2018-09-20 17:25:25 -04:00
Jude Nelson
7015e486dc fix bugs in getting the history for subdomains; add a method to check if a zone file was created by a name (to speed up the GET /v1/names/:name/zonefile/:hash endpoint) 2018-09-20 17:24:45 -04:00
Jude Nelson
7744b46329 an account address can be c32. add methods to convert to c32 2018-09-20 17:04:53 -04:00
Jude Nelson
91b0615e76 querying an account's history with no page will cause page to be set to 0 2018-09-20 17:04:38 -04:00
Jude Nelson
ab58ef2bbe account API can take a b58 or a c32 address (c32 addresses will be converted to b58) 2018-09-20 17:04:17 -04:00
Jude Nelson
7a437261dc return sorted token types 2018-09-20 17:04:03 -04:00
Jude Nelson
3d2a2fa1b1 implement c32check in Python 2018-09-20 17:03:21 -04:00
Jude Nelson
132bb957ab get subdomain history in reverse chronological order; add method to test if a zone file hash was created by a subdomain 2018-09-19 18:32:50 -04:00
Jude Nelson
7bd6b849b3 have GET /v1/names/:name/zonefile/:hash use the is_name_zonefile_hash() client method, which is considerably faster (both in absolute terms and asymptotic terms) than the status quo 2018-09-19 18:32:06 -04:00
Jude Nelson
559afc5471 fix bug in getting subdomain history; add method to check if a name created a zone file 2018-09-19 18:31:45 -04:00
Jude Nelson
c929e4fa4a add method to check if a name created a zone file hash; remove dead code 2018-09-19 18:31:27 -04:00
Jude Nelson
1d4c05bcd7 pass through new DB methods 2018-09-19 18:30:58 -04:00
Jude Nelson
c157b6c224 fix bugs in getting the history for subdomains; add a method to check if a zone file was created by a name (to speed up the GET /v1/names/:name/zonefile/:hash endpoint) 2018-09-19 18:26:38 -04:00
Jude Nelson
40d06dd447 restructure the epoch data so that we no longer need user-defined sqlite3 functions to select the right namespace lifetime and grace period data. instead, bake them directly into the queries. speeds up lots of queries significantly 2018-09-18 18:52:58 -04:00
Jude Nelson
1302140973 expose getinfo as a RESTful endpoint 2018-09-18 18:52:00 -04:00
Jude Nelson
f0d589ab29 modify the BoundedThreadingMixIn so it will eagerly close client sockets when it has too many outstanding requests. Do some housekeeping so that we can use this in both the backplane RPC server and the API server, and update the relevant integration test to test for this behavior 2018-09-18 17:48:19 -04:00
Jude Nelson
94bcf41cf6 modify the BoundedThreadingMixIn so it will eagerly close client sockets when it has too many outstanding requests. Do some housekeeping so that we can use this in both the backplane RPC server and the API server, and update the relevant integration test to test for this behavior 2018-09-18 17:15:31 -04:00
Jude Nelson
917af62716 get_index_range() should return a tuple; return HTTP status code from RPC 2018-09-17 18:35:03 -04:00
Jude Nelson
ac4ad9dba1 push back f-day 2018 2018-09-17 18:34:24 -04:00
Jude Nelson
419557f7c8 get_index_range() should return a tuple; return HTTP status code from RPC 2018-09-17 18:32:51 -04:00
Jude Nelson
993a8ff68c push back f-day 2018 2018-09-17 18:26:03 -04:00
Jude Nelson
a3b3f92f39 expand check for addresses to include not-distributed address placeholders 2018-09-14 13:37:50 -04:00
Jude Nelson
f59369f4c3 an account address pattern can be a "special" address, and the genesis block as it will be loaded will contain b58 addresses, not c32 addresses 2018-09-14 13:37:23 -04:00
Jude Nelson
015179372b expand expected address length to accomodate "special addresses" like those that are unallocated or not distributed 2018-09-14 13:35:22 -04:00
Jude Nelson
c0859d7bb1 propagating api change -- query account history by page, not block range 2018-09-13 16:20:27 -04:00
Jude Nelson
591a42c787 do not require a block range when getting an account's history; also, update the genesis block ingestion code to allow an arbitrary string to be an address *so long as it cannot receive tokens*. This is used to add "owned-by-contract" token allocations 2018-09-13 16:19:30 -04:00
Jude Nelson
51fcc92f4f use get_name_history_page for getting pages of a name's history. do not rely on start_block or end_block, since we have the power to paginate directly 2018-09-13 16:19:10 -04:00
Jude Nelson
0a6376a5ff use check_account_address() for account addresses; stop coercing mainnet addresses for on-chain name records 2018-09-13 16:18:51 -04:00
Jude Nelson
442e26a4be take only a page number for querying account history 2018-09-13 16:18:26 -04:00
Jude Nelson
2f025ef303 fix a race condition that would cause the node to deadlock if it could not bind on a particular port when starting up; also, simplify the name history query interface so it only requires a page 2018-09-13 16:18:08 -04:00
Jude Nelson
9becfef5b9 use check_account_address() for account addresses; change API for getting account histories so we can query only by page (not the block range) 2018-09-13 16:16:14 -04:00
Jude Nelson
9960098beb an "account address" is a b58 address, or "treasury", or "unallocated" 2018-09-13 16:15:47 -04:00
Jude Nelson
c7c8ea188f use get_name_history_page for getting pages of a name's history. do not rely on start_block or end_block, since we have the power to paginate directly 2018-09-13 16:14:25 -04:00
Jude Nelson
6390ee3476 fix a race condition that would cause the node to deadlock if it could not bind on a particular port when starting up; also, simplify the name history query interface so it only requires a page 2018-09-13 16:13:18 -04:00
Aaron Blankstein
65d294ef5a add environment variable for overriding atlas_seed_peers setting (BLOCKSTACK_ATLAS_SEEDS) 2018-09-13 11:09:29 -04:00
Aaron Blankstein
ac6dc486f9 add environment variable for overriding atlas_seed_peers setting (BLOCKSTACK_ATLAS_SEEDS) 2018-09-13 07:51:20 -05:00
Jude Nelson
1fe1bba224 make API endpoint match master better, except where appropriate (e.g. return 400 instead of 401 and 502 instead of 500 in a few cases) 2018-08-23 16:14:28 -04:00
Jude Nelson
3d8378de75 use the right public key that matches the owner address 2018-08-23 16:14:27 -04:00
Jude Nelson
057d83b9ea store fast-sync snapshot to ~/.blockstack-server 2018-08-23 16:14:26 -04:00
Jude Nelson
19a1d7f9b3 make API endpoint match master better, except where appropriate (e.g. return 400 instead of 401 and 502 instead of 500 in a few cases) 2018-08-23 15:59:15 -04:00
Jude Nelson
4bbae859fb use the right public key that matches the owner address 2018-08-23 15:58:55 -04:00
Jude Nelson
16d4d131f2 store fast-sync snapshot to ~/.blockstack-server 2018-08-23 15:58:39 -04:00
Jude Nelson
b8caeb2044 serialize all calls to enqueue zone files 2018-08-13 16:02:10 -04:00
Jude Nelson
f1bf6ee5ea dead comment 2018-08-13 16:02:04 -04:00
Jude Nelson
25491164ed when synchronizing the atlasdb with the namedb, call the storage callback for each zone file we already have. That way, if a zone file hash is re-announced, it will be processed by the storage callback again (as desired) 2018-08-13 16:01:57 -04:00
Jude Nelson
c99e7947f6 api tweak: pass the server state to the virtualchain hooks (including the atlas state) 2018-08-13 16:01:51 -04:00
Jude Nelson
d1bb179f4c check virtualchain for unclean shutdown and handle accordingly 2018-08-13 16:01:36 -04:00
Jude Nelson
0ebb91a82b pass through fsync 2018-08-13 16:01:09 -04:00