Integrate SP auctions in webapp deployment flow #950
@ -584,40 +584,49 @@ def command( # noqa: C901
|
||||
requests_to_check_for_payment.append(r)
|
||||
|
||||
requests_to_execute = []
|
||||
if min_required_payment:
|
||||
for r in requests_to_check_for_payment:
|
||||
if (not r.attributes.payment) and r.attributes.auction:
|
||||
if not auction_requests:
|
||||
main_logger.log(f"Skipping request {r.id}: not handling requests with auction.")
|
||||
for r in requests_to_check_for_payment:
|
||||
# Check if auction id is set
|
||||
if r.attributes.auction:
|
||||
if auction_requests:
|
||||
# Check if the deployer payment address is an auction winner
|
||||
auction_id = r.attributes.auction
|
||||
auction = laconic.get_auction(auction_id)
|
||||
if not auction:
|
||||
main_logger.log(
|
||||
f"Skipping request {r.id}: unable to locate auction: {auction_id}"
|
||||
)
|
||||
dump_known_requests(state_file, [r], status="SKIP")
|
||||
else:
|
||||
# Check if we are in auction winners
|
||||
auction_id = r.attributes.auction
|
||||
auction = laconic.get_auction(auction_id)
|
||||
if not auction:
|
||||
raise Exception(f"Unable to locate auction: {auction_id}")
|
||||
|
||||
if payment_address in auction.winnerAddresses:
|
||||
main_logger.log(f"{r.id}: Auction winnner address confirmed.")
|
||||
requests_to_execute.append(r)
|
||||
else:
|
||||
main_logger.log(f"{r.id}: Confirming payment...")
|
||||
if confirm_payment(
|
||||
laconic,
|
||||
r,
|
||||
payment_address,
|
||||
min_required_payment,
|
||||
main_logger,
|
||||
):
|
||||
main_logger.log(f"{r.id}: Payment confirmed.")
|
||||
elif payment_address in auction.winnerAddresses:
|
||||
main_logger.log(f"{r.id}: auction winnner address confirmed.")
|
||||
requests_to_execute.append(r)
|
||||
else:
|
||||
main_logger.log(
|
||||
f"Skipping request {r.id}: unable to verify payment."
|
||||
f"Skipping request {r.id}: deployer payment address not found in auction winners."
|
||||
)
|
||||
dump_known_requests(state_file, [r], status="UNPAID")
|
||||
else:
|
||||
requests_to_execute = requests_to_check_for_payment
|
||||
dump_known_requests(state_file, [r], status="SKIP")
|
||||
else:
|
||||
main_logger.log(
|
||||
f"Skipping request {r.id}: not handling requests with auction."
|
||||
)
|
||||
dump_known_requests(state_file, [r], status="SKIP")
|
||||
elif min_required_payment:
|
||||
main_logger.log(f"{r.id}: Confirming payment...")
|
||||
if confirm_payment(
|
||||
laconic,
|
||||
r,
|
||||
payment_address,
|
||||
min_required_payment,
|
||||
main_logger,
|
||||
):
|
||||
main_logger.log(f"{r.id}: Payment confirmed.")
|
||||
requests_to_execute.append(r)
|
||||
else:
|
||||
main_logger.log(
|
||||
f"Skipping request {r.id}: unable to verify payment."
|
||||
)
|
||||
dump_known_requests(state_file, [r], status="UNPAID")
|
||||
else:
|
||||
requests_to_execute.append(r)
|
||||
|
||||
main_logger.log(
|
||||
"Found %d unsatisfied request(s) to process." % len(requests_to_execute)
|
||||
|
@ -341,7 +341,7 @@ class LaconicRegistryClient:
|
||||
except: # noqa: E722
|
||||
pass
|
||||
|
||||
if len(results):
|
||||
if results and len(results):
|
||||
return results[0]
|
||||
|
||||
if require:
|
||||
|
Loading…
Reference in New Issue
Block a user