mirror of
https://github.com/alexgo-io/stacks-puppet-node.git
synced 2026-04-23 03:20:19 +08:00
remvoe dead code; patch in TOKEN_TRANSFER callbacks
This commit is contained in:
@@ -31,6 +31,7 @@ import namespacepreorder
|
||||
import namespacereveal
|
||||
import namespaceready
|
||||
import announce
|
||||
import tokentransfer
|
||||
|
||||
import binascii
|
||||
import copy
|
||||
@@ -52,6 +53,7 @@ from .namespacepreorder import tx_extract as extract_namespace_preorder, check a
|
||||
from .namespacereveal import tx_extract as extract_namespace_reveal, check as check_namespace_reveal, canonicalize as canonicalize_namespace_reveal, decanonicalize as decanonicalize_namespace_reveal
|
||||
from .namespaceready import tx_extract as extract_namespace_ready, check as check_namespace_ready, canonicalize as canonicalize_namespace_ready, decanonicalize as decanonicalize_namespace_ready
|
||||
from .announce import tx_extract as extract_announce, check as check_announce
|
||||
from .tokentransfer import tx_extract as extract_token_transfer, check as check_token_transfer
|
||||
|
||||
SERIALIZE_FIELDS = {
|
||||
"NAME_PREORDER": preorder.FIELDS,
|
||||
@@ -64,7 +66,8 @@ SERIALIZE_FIELDS = {
|
||||
"NAMESPACE_PREORDER": namespacepreorder.FIELDS,
|
||||
"NAMESPACE_REVEAL": namespacereveal.FIELDS,
|
||||
"NAMESPACE_READY": namespaceready.FIELDS,
|
||||
"ANNOUNCE": announce.FIELDS
|
||||
"ANNOUNCE": announce.FIELDS,
|
||||
"TOKEN_TRANSFER": tokentransfer.FIELDS
|
||||
}
|
||||
|
||||
MUTATE_FIELDS = {
|
||||
@@ -78,7 +81,8 @@ MUTATE_FIELDS = {
|
||||
"NAMESPACE_PREORDER": namespacepreorder.MUTATE_FIELDS,
|
||||
"NAMESPACE_REVEAL": namespacereveal.MUTATE_FIELDS,
|
||||
"NAMESPACE_READY": namespaceready.MUTATE_FIELDS,
|
||||
"ANNOUNCE": announce.MUTATE_FIELDS
|
||||
"ANNOUNCE": announce.MUTATE_FIELDS,
|
||||
"TOKEN_TRANSFER": tokentransfer.MUTATE_FIELDS,
|
||||
}
|
||||
|
||||
# fields that do not have columns in the db schema, but are part of this operation's consensus ops hash
|
||||
@@ -93,7 +97,8 @@ UNSTORED_CANONICAL_FIELDS = {
|
||||
'NAMESPACE_PREORDER': [],
|
||||
'NAMESPACE_REVEAL': [],
|
||||
'NAMESPACE_READY': [],
|
||||
'ANNOUNCE': []
|
||||
'ANNOUNCE': [],
|
||||
'TOKEN_TRANSFER': [],
|
||||
}
|
||||
|
||||
# NOTE: these all have the same signatures
|
||||
@@ -108,7 +113,8 @@ EXTRACT_METHODS = {
|
||||
"NAMESPACE_PREORDER": extract_namespace_preorder,
|
||||
"NAMESPACE_REVEAL": extract_namespace_reveal,
|
||||
"NAMESPACE_READY": extract_namespace_ready,
|
||||
"ANNOUNCE": extract_announce
|
||||
"ANNOUNCE": extract_announce,
|
||||
"TOKEN_TRANSFER": extract_token_transfer,
|
||||
}
|
||||
|
||||
# NOTE: these all have the same signature
|
||||
@@ -123,7 +129,8 @@ CHECK_METHODS = {
|
||||
"NAMESPACE_PREORDER": check_namespace_preorder,
|
||||
"NAMESPACE_REVEAL": check_namespace_reveal,
|
||||
"NAMESPACE_READY": check_namespace_ready,
|
||||
"ANNOUNCE": check_announce
|
||||
"ANNOUNCE": check_announce,
|
||||
"TOKEN_TRANSFER": check_token_transfer,
|
||||
}
|
||||
|
||||
# NOTE: these all have the same signature
|
||||
@@ -329,79 +336,6 @@ def op_check( state_engine, nameop, block_id, checked_ops ):
|
||||
|
||||
return rc
|
||||
|
||||
'''
|
||||
global CHECK_METHODS, MUTATE_FIELDS
|
||||
|
||||
count = 0
|
||||
while count < 3:
|
||||
|
||||
count += 1
|
||||
|
||||
nameop_clone = copy.deepcopy( nameop )
|
||||
opcode = None
|
||||
|
||||
if 'opcode' not in nameop_clone.keys():
|
||||
op = nameop_clone.get('op', None)
|
||||
try:
|
||||
assert op is not None, "BUG: no op defined"
|
||||
opcode = op_get_opcode_name( op )
|
||||
assert opcode is not None, "BUG: op '%s' undefined" % op
|
||||
except Exception, e:
|
||||
log.exception(e)
|
||||
log.error("FATAL: BUG: no 'op' defined")
|
||||
sys.exit(1)
|
||||
|
||||
else:
|
||||
opcode = nameop_clone['opcode']
|
||||
|
||||
check_method = CHECK_METHODS.get( opcode, None )
|
||||
try:
|
||||
assert check_method is not None, "BUG: no check-method for '%s'" % opcode
|
||||
except Exception, e:
|
||||
log.exception(e)
|
||||
log.error("FATAL: BUG: no check-method for '%s'" % opcode )
|
||||
sys.exit(1)
|
||||
|
||||
rc = check_method( state_engine, nameop_clone, block_id, checked_ops )
|
||||
if not rc:
|
||||
# rejected
|
||||
break
|
||||
|
||||
# was this type-cast to a new operation?
|
||||
new_opcode = nameop_clone.get('opcode', None)
|
||||
if new_opcode is None or new_opcode == opcode:
|
||||
# we're done
|
||||
nameop.clear()
|
||||
nameop.update( nameop_clone )
|
||||
break
|
||||
|
||||
else:
|
||||
# try again
|
||||
log.debug("Nameop re-interpreted from '%s' to '%s' (%s)" % (opcode, new_opcode, count))
|
||||
nameop['opcode'] = new_opcode
|
||||
continue
|
||||
|
||||
try:
|
||||
assert count < 3, "BUG: multiple opcode type-casts detected"
|
||||
except Exception, e:
|
||||
log.exception(e)
|
||||
log.error("FATAL: BUG: multiple opcode type-casts detected")
|
||||
sys.exit(1)
|
||||
|
||||
if rc:
|
||||
nameop = op_canonicalize(nameop['opcode'], nameop)
|
||||
|
||||
# make sure we don't send unstored fields to the db that are otherwise canonical
|
||||
unstored_canonical_fields = UNSTORED_CANONICAL_FIELDS.get(nameop['opcode'])
|
||||
assert unstored_canonical_fields is not None, "BUG: no UNSTORED_CANONICAL_FIELDS entry for {}".format(nameop['opcode'])
|
||||
|
||||
for f in unstored_canonical_fields:
|
||||
if f in nameop:
|
||||
del nameop[f]
|
||||
|
||||
return rc
|
||||
'''
|
||||
|
||||
|
||||
def op_get_mutate_fields( op_name ):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user