def check(state_engine): # not revealed, but ready ns = state_engine.get_namespace_reveal("test") if ns is not None: return False ns = state_engine.get_namespace("test") if ns is None: return False if ns['namespace_id'] != 'test': return False # preordered preorder = state_engine.get_name_preorder( "foo.test", pybitcoin.make_pay_to_address_script(wallets[2].addr), wallets[3].addr) if preorder is None: return False # paid fee if preorder['op_fee'] < blockstackd.get_name_cost('foo.test'): print "Insufficient fee" return False return True
def check( state_engine ): # not revealed, but ready ns = state_engine.get_namespace_reveal( "test" ) if ns is not None: return False ns = state_engine.get_namespace( "test" ) if ns is None: return False if ns['namespace_id'] != 'test': return False # preordered preorder = state_engine.get_name_preorder( "foo.test", pybitcoin.make_pay_to_address_script(wallets[2].addr), wallets[3].addr ) if preorder is None: return False # paid fee if preorder['op_fee'] < blockstackd.get_name_cost( 'foo.test' ): print "Insufficient fee" return False return True
def check(state_engine): global preorder_consensus # not revealed, but ready ns = state_engine.get_namespace_reveal("test") if ns is not None: return False ns = state_engine.get_namespace("test") if ns is None: return False if ns['namespace_id'] != 'test': return False # there will be a multi-preorder preorder = state_engine.get_name_preorder_multi( ['foo.test', 'bar.test', 'baz.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[3].addr, wallets[4].addr, wallets[5].addr]) if preorder is None: print "no preorder found for foo.test, bar.test, baz.test" return False if preorder['op_fee'] < blockstackd.get_name_cost( 'foo.test') + blockstackd.get_name_cost( 'bar.test') + blockstackd.get_name_cost('baz.test'): print "Insufficient fee" return False if not state_engine.is_sender_multi_preordering( pybitcoin.make_pay_to_address_script(wallets[2].addr)): print "Inconsistent state: preorder exists, but not preordering" return False # our names should not be registered for n in ['foo.test', 'bar.test', 'baz.test']: name_rec = state_engine.get_name(n) if name_rec is not None: print "Name registered: %s" % n return False return True
def check( state_engine ): global preorder_consensus # not revealed, but ready ns = state_engine.get_namespace_reveal( "test" ) if ns is not None: return False ns = state_engine.get_namespace( "test" ) if ns is None: return False if ns['namespace_id'] != 'test': return False # there will be a multi-preorder preorder = state_engine.get_name_preorder_multi( ['foo.test', 'bar.test', 'baz.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[3].addr, wallets[4].addr, wallets[5].addr]) if preorder is None: print "no preorder found for foo.test, bar.test, baz.test" return False if preorder['op_fee'] < blockstackd.get_name_cost( 'foo.test' ) + blockstackd.get_name_cost( 'bar.test' ) + blockstackd.get_name_cost( 'baz.test' ): print "Insufficient fee" return False if not state_engine.is_sender_multi_preordering( pybitcoin.make_pay_to_address_script(wallets[2].addr) ): print "Inconsistent state: preorder exists, but not preordering" return False # our names should not be registered for n in ['foo.test', 'bar.test', 'baz.test']: name_rec = state_engine.get_name( n ) if name_rec is not None: print "Name registered: %s" % n return False return True
def check( state_engine ): # not revealed, but ready ns = state_engine.get_namespace_reveal( "test" ) if ns is not None: return False ns = state_engine.get_namespace( "test" ) if ns is None: return False if ns['namespace_id'] != 'test': return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo2.test', 'bar2.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[3].addr, wallets[4].addr]) if preorder is None: print "no preorder found for 2-name preorder" return False if preorder['op_fee'] < blockstackd.get_name_cost( 'foo2.test' ) + blockstackd.get_name_cost( 'bar2.test' ): print "Insufficient fee" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo4.test', 'bar4.test', 'baz4.test', 'goo4.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[3].addr, wallets[4].addr, wallets[5].addr, wallets[6].addr]) if preorder is None: print "no preorder found for 4-name preorder" return False if preorder['op_fee'] < blockstackd.get_name_cost( 'foo4.test' ) + blockstackd.get_name_cost( 'bar4.test' ) + \ blockstackd.get_name_cost( 'baz4.test' ) + blockstackd.get_name_cost( 'goo4.test' ): print "Insufficient fee" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo6.test', 'bar6.test', 'baz6.test', 'goo6.test', 'quux6.test', 'norf6.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[0].addr, wallets[1].addr, wallets[2].addr, wallets[3].addr, wallets[4].addr, wallets[5].addr]) if preorder is None: print "no preorder found for 6-name preorder" return False # order of addresses to names must match preorder = state_engine.get_name_preorder_multi( ['foo2.test', 'bar2.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[4].addr, wallets[3].addr]) if preorder is not None: print "stealing is possible in 2-name preorder" return False if preorder['op_fee'] < blockstackd.get_name_cost( 'foo6.test' ) + blockstackd.get_name_cost( 'bar6.test' ) + \ blockstackd.get_name_cost( 'baz6.test' ) + blockstackd.get_name_cost( 'goo6.test' ) + \ blockstackd.get_name_cost( 'quux6.test') + blockstackd.get_name_cost( 'norf6.test' ): print "Insufficient fee" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo6.test', 'bar6.test', 'baz6.test', 'goo6.test', 'quux6.test', 'norf6.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[1].addr, wallets[0].addr, wallets[2].addr, wallets[3].addr, wallets[4].addr, wallets[5].addr]) if preorder is not None: print "stealing is possible in 4-name preorder" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo6.test', 'bar6.test', 'baz6.test', 'goo6.test', 'quux6.test', 'norf6.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[0].addr, wallets[1].addr, wallets[3].addr, wallets[2].addr, wallets[4].addr, wallets[5].addr]) if preorder is not None: print "stealing is possible in 4-name preorder" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo6.test', 'bar6.test', 'baz6.test', 'goo6.test', 'quux6.test', 'norf6.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[0].addr, wallets[1].addr, wallets[2].addr, wallets[4].addr, wallets[3].addr, wallets[5].addr]) if preorder is not None: print "stealing is possible in 6-name preorder" return False return True
def check(state_engine): # not revealed, but ready ns = state_engine.get_namespace_reveal("test") if ns is not None: return False ns = state_engine.get_namespace("test") if ns is None: return False if ns['namespace_id'] != 'test': return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo2.test', 'bar2.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[3].addr, wallets[4].addr]) if preorder is None: print "no preorder found for 2-name preorder" return False if preorder['op_fee'] < blockstackd.get_name_cost( 'foo2.test') + blockstackd.get_name_cost('bar2.test'): print "Insufficient fee" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo4.test', 'bar4.test', 'baz4.test', 'goo4.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[3].addr, wallets[4].addr, wallets[5].addr, wallets[6].addr]) if preorder is None: print "no preorder found for 4-name preorder" return False if preorder['op_fee'] < blockstackd.get_name_cost( 'foo4.test' ) + blockstackd.get_name_cost( 'bar4.test' ) + \ blockstackd.get_name_cost( 'baz4.test' ) + blockstackd.get_name_cost( 'goo4.test' ): print "Insufficient fee" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo6.test', 'bar6.test', 'baz6.test', 'goo6.test', 'quux6.test', 'norf6.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[0].addr, wallets[1].addr, wallets[2].addr, wallets[3].addr, wallets[4].addr, wallets[5].addr]) if preorder is None: print "no preorder found for 6-name preorder" return False # order of addresses to names must match preorder = state_engine.get_name_preorder_multi( ['foo2.test', 'bar2.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[4].addr, wallets[3].addr]) if preorder is not None: print "stealing is possible in 2-name preorder" return False if preorder['op_fee'] < blockstackd.get_name_cost( 'foo6.test' ) + blockstackd.get_name_cost( 'bar6.test' ) + \ blockstackd.get_name_cost( 'baz6.test' ) + blockstackd.get_name_cost( 'goo6.test' ) + \ blockstackd.get_name_cost( 'quux6.test') + blockstackd.get_name_cost( 'norf6.test' ): print "Insufficient fee" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo6.test', 'bar6.test', 'baz6.test', 'goo6.test', 'quux6.test', 'norf6.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[1].addr, wallets[0].addr, wallets[2].addr, wallets[3].addr, wallets[4].addr, wallets[5].addr]) if preorder is not None: print "stealing is possible in 4-name preorder" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo6.test', 'bar6.test', 'baz6.test', 'goo6.test', 'quux6.test', 'norf6.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[0].addr, wallets[1].addr, wallets[3].addr, wallets[2].addr, wallets[4].addr, wallets[5].addr]) if preorder is not None: print "stealing is possible in 4-name preorder" return False # preorders for an even number of names all work preorder = state_engine.get_name_preorder_multi( ['foo6.test', 'bar6.test', 'baz6.test', 'goo6.test', 'quux6.test', 'norf6.test'], \ pybitcoin.make_pay_to_address_script(wallets[2].addr), \ [wallets[0].addr, wallets[1].addr, wallets[2].addr, wallets[4].addr, wallets[3].addr, wallets[5].addr]) if preorder is not None: print "stealing is possible in 6-name preorder" return False return True