OSDN Git Service

update
[bytom/bytom-kit.git] / app / api / resources.py
index c0cfe27..b97ceb3 100644 (file)
@@ -1,3 +1,5 @@
+# from flask_restplus import inputs
+from flask_restful import inputs
 from flask_restful import Resource
 from flask_restful import reqparse
 from app.model.hello import get_hello_result
@@ -13,6 +15,9 @@ from app.model.key import xpub_verify
 from app.model.key import xprv_sign
 from app.model.key import xprv_to_xpub
 from app.model.key import xprv_sign
+from app.model.key import xprv_to_child_xprv
+from app.model.key import xpub_to_child_xpub
+from app.model.receiver import create_P2WPKH_program
 
 parser = reqparse.RequestParser()
 parser.add_argument('private_key_str', type=str)
@@ -24,6 +29,10 @@ parser.add_argument('mnemonic_str', type=str)
 parser.add_argument('seed_str', type=str)
 parser.add_argument('xprv_str', type=str)
 parser.add_argument('xpub_str', type=str)
+parser.add_argument('path_list', type=str, action='append')
+parser.add_argument('account_index_int', type=int)
+parser.add_argument('address_index_int', type=int)
+parser.add_argument('change_bool', type=inputs.boolean)
 
 class Hello(Resource):
 
@@ -121,3 +130,32 @@ class Xprv_To_Xpub(Resource):
         xprv = args.get('xprv_str')
         xpub = xprv_to_xpub(xprv)
         return xpub
+
+class Xprv_To_Child_Xprv(Resource):
+
+    def post(self):
+        args = parser.parse_args()
+        xprv = args.get('xprv_str')
+        path = args.get('path_list')
+        child_xprv = xprv_to_child_xprv(xprv, path)
+        return child_xprv
+
+class Xpub_To_Child_Xpub(Resource):
+
+    def post(self):
+        args = parser.parse_args()
+        xpub = args.get('xpub_str')
+        path = args.get('path_list')
+        child_xpub = xpub_to_child_xpub(xpub, path)
+        return child_xpub
+
+class Create_P2WPKH_Program(Resource):
+
+    def post(self):
+        args = parser.parse_args()
+        account_index = args.get('account_index_int')
+        address_index = args.get('address_index_int')
+        change = args.get('change_bool')
+        xpub = args.get('xpub_str')
+        control_program = create_P2WPKH_program(account_index, address_index, change, xpub)
+        return control_program
\ No newline at end of file