From 7e8e6faffc9f4777b8c506b2916aa6593490ca74 Mon Sep 17 00:00:00 2001 From: Tristan Menzel Date: Thu, 6 Jun 2024 19:40:35 -0700 Subject: [PATCH] docs: PR feedback Co-authored-by: Rob Moore (MakerX) --- architecture-decisions/2024-06-06_arc4-by-default.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/architecture-decisions/2024-06-06_arc4-by-default.md b/architecture-decisions/2024-06-06_arc4-by-default.md index 5660af0d..163e1301 100644 --- a/architecture-decisions/2024-06-06_arc4-by-default.md +++ b/architecture-decisions/2024-06-06_arc4-by-default.md @@ -9,7 +9,7 @@ ## Context -At its bare minimum, a smart contract on the Algorand Block Chain consists of an approval program and a clear state program. Smart signatures (also known as logic signatures) consist of only an approval program. For signatures the approval program is run to determine in a transaction signed by the program should be considered valid. For contracts the clear state program is invoked for Application Call (`appl`) transactions which have an on completion action (`apan`) set to clear state (`3`). The transaction is committed to the chain regardless of the outcome of a clear state program. For all other on completion actions the approval program is invoked. It is up to the approval program to inspect the current transaction's properties to determine the outcome of this transaction. +A smart contract on the Algorand Blockchain consists of an approval program and a clear state program. Smart signatures (also known as logic signatures) consist of only an approval program. For signatures the approval program is run to determine if a transaction signed by the program should be considered valid. For contracts the clear state program is invoked for Application Call (`appl`) transactions which have an on-completion action (`apan`) set to clear state (`3`). The transaction is committed to the chain regardless of the outcome of a clear state program. For all other on completion actions the approval program is invoked. It is up to the approval program to inspect the current transaction's properties to determine the outcome of this transaction. [ARC4](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0004.md) introduces conventions for encoding data passed to a smart contract, and for routing execution to specific subroutines within the approval program based on key properties of the Application Call transaction (eg. The on completion action and application args). It is the current standard for developing smart contracts on Algorand, but may not always be. There are several other ARCs such as [ARC32](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0032.md), [ARC56](https://github.com/algorandfoundation/ARCs/blob/e540d921502f19c720b64d8df1f09563158ca348/ARCs/arc-0056.md), and [ARC28](https://github.com/algorandfoundation/ARCs/blob/main/ARCs/arc-0028.md) which build on, expand, or complement ARC4.