wip
This commit is contained in:
parent
0db4fec559
commit
a6f89fe424
50
eth.py
50
eth.py
|
@ -8,12 +8,20 @@ def Zcash_getaddr():
|
|||
return zXcat.zcashd.getnewaddress()
|
||||
|
||||
|
||||
def Zcash_fund(p2sh,amount):
|
||||
def Zcash_fund(contract,amount):
|
||||
p2sh = contract['p2sh']
|
||||
fund_txid = zXcat.zcashd.sendtoaddress(p2sh,amount)
|
||||
return fund_txid
|
||||
contract['fund_tx'] = fund_txid
|
||||
return contract
|
||||
|
||||
def Zcash_make_contract(funder, redeemer, hash_of_secret, lock_increment):
|
||||
return zXcat.make_hashtimelockcontract(funder, redeemer, hash_of_secret, lock_increment)
|
||||
contract = zXcat.make_hashtimelockcontract(funder, redeemer, hash_of_secret, lock_increment)
|
||||
return contract
|
||||
|
||||
'''def Zcash_make_contract_random(funder, redeemer, hash_of_secret, lock_increment):
|
||||
contract = zXcat.make_hashtimelockcontract(funder, redeemer, hash_of_secret, lock_increment)
|
||||
return contract
|
||||
'''
|
||||
|
||||
# finds seller's redeem tx and gets secret from it
|
||||
def Zcash_get_secret(p2sh,fund_txid):
|
||||
|
@ -26,39 +34,3 @@ def Zcash_refund(contract):
|
|||
def Zcash_redeem(contract,secret):
|
||||
txid = zXcat.redeem_with_secret(contract,secret)
|
||||
return txid
|
||||
|
||||
def redeem_buyer():
|
||||
print("BUYER REDEEMING SELL CONTRACT")
|
||||
print("=============================")
|
||||
trade = get_trade()
|
||||
buyContract = trade.buyContract
|
||||
sellContract = trade.sellContract
|
||||
secret = ""
|
||||
# if sellContract.get_status() == 'redeemed':
|
||||
# raise RuntimeError("Sell contract was redeemed before buyer could retrieve funds")
|
||||
# elif buyContract.get_status() == 'refunded':
|
||||
# print("buyContract was refunded to buyer")
|
||||
# else:
|
||||
# Buy contract is where seller disclosed secret in redeeming
|
||||
if buyContract.currency == 'bitcoin':
|
||||
if (bXcat.still_locked(buyContract)):
|
||||
if(not hasattr(buyContract,'fund_tx')):
|
||||
print("Seems address has not been funded yet. Aborting.")
|
||||
quit()
|
||||
secret = bXcat.find_secret(buyContract.p2sh,buyContract.fund_tx)
|
||||
if(secret != ""):
|
||||
print("Found secret in seller's redeem tx on bitcoin chain:", secret)
|
||||
else:
|
||||
if zXcat.still_locked(buyContract):
|
||||
secret = zXcat.find_secret(buyContract.p2sh,buyContract.fund_tx)
|
||||
if(secret != ""):
|
||||
print("Found secret in seller's redeem tx on zcash chain:", secret)
|
||||
redeem_tx = redeem_p2sh(sellContract, secret, buyContract)
|
||||
setattr(trade.sellContract, 'redeem_tx', redeem_tx)
|
||||
save(trade)
|
||||
|
||||
|
||||
def generate_blocks(num):
|
||||
bXcat.generate(num)
|
||||
zXcat.generate(num)
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
4tqcS72n
|
||||
5Afk90Vi
|
|
@ -1 +1 @@
|
|||
{"sell": {"fulfiller": "tmP3jJoyhBzAxeqpTYW9HrAt1XvJFg9gttc", "amount": "0.01", "redeemScript": "63a82044ddae444a583f19d0ebdd539cc7abb7e1aa4e54fac042486a5c1b935c4a0bf88876a9149243e230812261371e6743055ee8c6ea4181f80567024608b17576a9148e4144cee39078239a6dcd026ac65043a76254486888ac", "initiator": "tmNgXUNBTfH9TD4TwgEKK8K6Aytjph3QGtZ", "fund_tx": "9bb403ad881781818ea193f2c23eeafd02190b9aac8944b22650ffc6faff2736", "redeemblocknum": 2118, "currency": "zcash", "p2sh": "t2NPhNuYvwXVpiFA3QiZjgaeSDZwQVVKmUT"}, "buy": {"fulfiller": "mj12n62KmrWLCsjrpG1PN8iQnLy4J518s7", "amount": "1.12", "redeemScript": "63a82044ddae444a583f19d0ebdd539cc7abb7e1aa4e54fac042486a5c1b935c4a0bf88876a9141991d55a642946f5a8def2d69116619f659b89626702151fb17576a9142637c44bba94afbe236eb7587cc67e0682cd3d186888ac", "initiator": "mhr9tXrXmCXipK1ogWkhbESAmaYN1DfCQG", "fund_tx": "9c3bc5dc1aca5e722aa43f632fd7b130d9c5f972cad0f75236a210e80b1a466f", "redeemblocknum": 7957, "redeem_tx": "18ae4ff1a30111154ea40f265a47e5f18fc8b2cb785c9de80f71ad4b577d2f46", "currency": "bitcoin", "p2sh": "2N8Ru77EQ1qZtzBieZ17Q8wdEZA9SjiTJmj"}}
|
||||
{"buy": {"redeemScript": "63a8202be8f9ff8ba049cbf3ef98d4e1f61b975cda1f33bd2050cd6b382ce3e91bd01d8876a914cf37e9d86857e5dfe09dfba3ddefcbeb0e4ca6776702141fb17576a9140ee96e91d594cec695e9c792150eab63015e30816888ac", "redeemblocknum": 7956, "fulfiller": "mgsoPsbzAY3LCgNweUFoLMGKxi5EFCagBM", "initiator": "mzQd9hShqi2s7QgGsduwePN5FDU3Yj8yup", "currency": "bitcoin", "amount": "1.12", "p2sh": "2N1U3R7joYwmdYSSK19D2LHNEcKemvw3w4n"}, "sell": {"redeemScript": "63a8202be8f9ff8ba049cbf3ef98d4e1f61b975cda1f33bd2050cd6b382ce3e91bd01d8876a9145e11f686898f4e9b77c4669a5b02678daf65f7f667024608b17576a91407c64692f3e8de565e5e991f4575b5b494a605306888ac", "redeemblocknum": 2118, "fulfiller": "tmJHkNJ1fnyPsyhCR1EgwfwU2Eikzg9Cgda", "initiator": "tmARTax4dZ9A6QjF2AC5RmGhRXotf5zgfyM", "currency": "zcash", "amount": "0.01", "fund_tx": "9afb0f4d1de568b928c9d51eddba65f284bc6cea566b54192298193ad7649027", "p2sh": "t26vHfsTqZbjk5Jko8qHsrA2EJHhQns9SRo"}}
|
2
zXcat.py
2
zXcat.py
|
@ -60,6 +60,8 @@ def make_hashtimelockcontract(funder, redeemer, hash_of_secret, lock_increment):
|
|||
blocknum = zcashd.getblockcount()
|
||||
print("Current blocknum", blocknum)
|
||||
redeemblocknum = blocknum + lock_increment
|
||||
hash_of_secret = sha256("bla")
|
||||
print(type(hash_of_secret))
|
||||
print("REDEEMBLOCKNUM ZCASH", redeemblocknum)
|
||||
zec_redeemScript = CScript([OP_IF, OP_SHA256, hash_of_secret, OP_EQUALVERIFY,OP_DUP, OP_HASH160,
|
||||
redeemerAddr, OP_ELSE, redeemblocknum, OP_CHECKLOCKTIMEVERIFY, OP_DROP, OP_DUP, OP_HASH160,
|
||||
|
|
Loading…
Reference in New Issue