def check( state_engine ): global wallet_keys, dataset_1, data_hash_1, dataset_2, data_hash_2 # not revealed, but ready ns = state_engine.get_namespace_reveal( "test" ) if ns is not None: print "namespace not ready" return False ns = state_engine.get_namespace( "test" ) if ns is None: print "no namespace" return False if ns['namespace_id'] != 'test': print "wrong namespace" return False # not preordered preorder = state_engine.get_name_preorder( "foo.test", pybitcoin.make_pay_to_address_script(wallets[2].addr), wallets[3].addr ) if preorder is not None: print "still have preorder" return False # registered name_rec = state_engine.get_name( "foo.test" ) if name_rec is None: print "name does not exist" return False # owned if name_rec['address'] != wallets[3].addr or name_rec['sender'] != pybitcoin.make_pay_to_address_script(wallets[3].addr): print "name has wrong owner" return False # have right hash if name_rec['value_hash'] != last_hash: print "Invalid zonefile hash (%s != %s)" % (name_rec['value_hash'], last_hash) return False # have no data test_proxy = testlib.TestAPIProxy() blockstack_client.set_default_proxy( test_proxy ) for i in xrange(0, len(datasets)): immutable_data = blockstack_client.get_immutable( "foo.test", zonefile_hashes[i] ) if immutable_data is not None and 'error' not in immutable_data: print "still have data for dataset %s\n%s" % (i, json.dumps(immutable_data,indent=4,sort_keys=True)) return False if immutable_data['error'] != 'No such immutable datum': print json.dumps(immutable_data,indent=4,sort_keys=True) return False immutable_data_by_name = blockstack_client.get_immutable_by_name( "foo.test", "hello_world_%s" % (i+1) ) if immutable_data_by_name is not None and 'error' not in immutable_data: print "still have data for dataset hello_world_%s\n%s" % (i, json.dumps(immutable_data,indent=4,sort_keys=True)) return False if immutable_data['error'] != 'No such immutable datum': print json.dumps(immutable_data,indent=4,sort_keys=True) return False return True
def check(state_engine): global wallet_keys, dataset_1, data_hash_1, dataset_2, data_hash_2 # not revealed, but ready ns = state_engine.get_namespace_reveal("test") if ns is not None: print "namespace not ready" return False ns = state_engine.get_namespace("test") if ns is None: print "no namespace" return False if ns['namespace_id'] != 'test': print "wrong namespace" return False # not preordered preorder = state_engine.get_name_preorder( "foo.test", pybitcoin.make_pay_to_address_script(wallets[2].addr), wallets[3].addr) if preorder is not None: print "still have preorder" return False # registered name_rec = state_engine.get_name("foo.test") if name_rec is None: print "name does not exist" return False # owned if name_rec['address'] != wallets[3].addr or name_rec[ 'sender'] != pybitcoin.make_pay_to_address_script(wallets[3].addr): print "name has wrong owner" return False # have right hash if name_rec['value_hash'] != last_hash: print "Invalid zonefile hash (%s != %s)" % (name_rec['value_hash'], last_hash) return False # have no data test_proxy = testlib.TestAPIProxy() blockstack_client.set_default_proxy(test_proxy) for i in xrange(0, len(datasets)): immutable_data = blockstack_client.get_immutable( "foo.test", zonefile_hashes[i]) if immutable_data is not None and 'error' not in immutable_data: print "still have data for dataset %s\n%s" % ( i, json.dumps(immutable_data, indent=4, sort_keys=True)) return False if immutable_data['error'] != 'No such immutable datum': print json.dumps(immutable_data, indent=4, sort_keys=True) return False immutable_data_by_name = blockstack_client.get_immutable_by_name( "foo.test", "hello_world_%s" % (i + 1)) if immutable_data_by_name is not None and 'error' not in immutable_data: print "still have data for dataset hello_world_%s\n%s" % ( i, json.dumps(immutable_data, indent=4, sort_keys=True)) return False if immutable_data['error'] != 'No such immutable datum': print json.dumps(immutable_data, indent=4, sort_keys=True) return False return True