Allow payment reuse for same app LRN (#961)
All checks were successful
Lint Checks / Run linter (push) Successful in 33s
Publish / Build and publish (push) Successful in 1m12s
Deploy Test / Run deploy test suite (push) Successful in 4m54s
Smoke Test / Run basic test suite (push) Successful in 3m52s
Webapp Test / Run webapp test suite (push) Successful in 4m38s
Fixturenet-Laconicd-Test / Run Laconicd fixturenet and Laconic CLI tests (push) Successful in 19m42s
K8s Deploy Test / Run deploy test suite on kind/k8s (push) Successful in 7m50s
Database Test / Run database hosting test on kind/k8s (push) Successful in 9m11s
Container Registry Test / Run contaier registry hosting test on kind/k8s (push) Successful in 3m54s
External Stack Test / Run external stack test suite (push) Successful in 4m44s

Part of [Service provider auctions for web deployments](https://www.notion.so/Service-provider-auctions-for-web-deployments-104a6b22d47280dbad51d28aa3a91d75)

Reviewed-on: #961
Reviewed-by: ashwin <ashwin@noreply.git.vdb.to>
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
This commit is contained in:
Prathamesh Musale 2024-10-29 11:30:03 +00:00 committed by ashwin
parent 23ca4c4341
commit 39df4683ac

View File

@ -851,9 +851,11 @@ def confirm_payment(laconic: LaconicRegistryClient, record, payment_address, min
{"deployer": record.attributes.deployer, "payment": tx.hash}, all=True {"deployer": record.attributes.deployer, "payment": tx.hash}, all=True
) )
if len(used): if len(used):
# Fetch the app name from request record
used_request = laconic.get_record(used[0].attributes.request, require=True)
# Check that payment was used for deployment of same application # Check that payment was used for deployment of same application
app_record = laconic.get_record(record.attributes.application, require=True) if record.attributes.application != used_request.attributes.application:
if app_record.id != used[0].attributes.application:
logger.log(f"{record.id}: payment {tx.hash} already used on a different application deployment {used}") logger.log(f"{record.id}: payment {tx.hash} already used on a different application deployment {used}")
return False return False