mirror of
https://github.com/basicswap/basicswap.git
synced 2025-03-12 09:38:03 +00:00
For CLTV coins check the lock value relative to the current time rather than the bid creation time.
This commit is contained in:
parent
18974d9458
commit
50ed1bfccf
2 changed files with 4 additions and 3 deletions
|
@ -4136,13 +4136,13 @@ class BasicSwap(BaseApp):
|
|||
ensure(script_lock_value == expect_sequence, 'sequence mismatch')
|
||||
else:
|
||||
if offer.lock_type == TxLockTypes.ABS_LOCK_BLOCKS:
|
||||
block_header_from = ci_from.getBlockHeaderAt(bid.created_at)
|
||||
block_header_from = ci_from.getBlockHeaderAt(now)
|
||||
chain_height_at_bid_creation = block_header_from['height']
|
||||
ensure(script_lock_value <= chain_height_at_bid_creation + offer.lock_value + atomic_swap_1.ABS_LOCK_BLOCKS_LEEWAY, 'script lock height too high')
|
||||
ensure(script_lock_value >= chain_height_at_bid_creation + offer.lock_value - atomic_swap_1.ABS_LOCK_BLOCKS_LEEWAY, 'script lock height too low')
|
||||
else:
|
||||
ensure(script_lock_value <= bid.created_at + offer.lock_value + atomic_swap_1.INITIATE_TX_TIMEOUT, 'script lock time too high')
|
||||
ensure(script_lock_value >= bid.created_at + offer.lock_value, 'script lock time too low')
|
||||
ensure(script_lock_value <= now + offer.lock_value + atomic_swap_1.INITIATE_TX_TIMEOUT, 'script lock time too high')
|
||||
ensure(script_lock_value >= now + offer.lock_value - atomic_swap_1.ABS_LOCK_TIME_LEEWAY, 'script lock time too low')
|
||||
|
||||
ensure(len(scriptvalues[3]) == 40, 'pkhash_refund bad length')
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ from basicswap.script import (
|
|||
)
|
||||
|
||||
INITIATE_TX_TIMEOUT = 40 * 60 # TODO: make variable per coin
|
||||
ABS_LOCK_TIME_LEEWAY = 10 * 60
|
||||
|
||||
|
||||
def buildContractScript(lock_val, secret_hash, pkh_redeem, pkh_refund, op_lock=OpCodes.OP_CHECKSEQUENCEVERIFY):
|
||||
|
|
Loading…
Reference in a new issue