Allow payment reuse for application redeployment #960
| @ -846,16 +846,19 @@ def confirm_payment(laconic: LaconicRegistryClient, record, payment_address, min | |||||||
|         ) |         ) | ||||||
|         return False |         return False | ||||||
| 
 | 
 | ||||||
|     # Check if the payment was already used on a |     # Check if the payment was already used on a deployment | ||||||
|     used = laconic.app_deployments( |     used = laconic.app_deployments( | ||||||
|         {"deployer": payment_address, "payment": tx.hash}, all=True |         {"deployer": record.attributes.deployer, "payment": tx.hash}, all=True | ||||||
|     ) |     ) | ||||||
|     if len(used): |     if len(used): | ||||||
|         logger.log(f"{record.id}: payment {tx.hash} already used on deployment {used}") |         # Check that payment was used for deployment of same application | ||||||
|         return False |         app_record = laconic.get_record(record.attributes.application, require=True) | ||||||
|  |         if app_record.id != used[0].attributes.application: | ||||||
|  |             logger.log(f"{record.id}: payment {tx.hash} already used on a different application deployment {used}") | ||||||
|  |             return False | ||||||
| 
 | 
 | ||||||
|     used = laconic.app_deployment_removals( |     used = laconic.app_deployment_removals( | ||||||
|         {"deployer": payment_address, "payment": tx.hash}, all=True |         {"deployer": record.attributes.deployer, "payment": tx.hash}, all=True | ||||||
|     ) |     ) | ||||||
|     if len(used): |     if len(used): | ||||||
|         logger.log( |         logger.log( | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user