Skip to content

Commit

Permalink
fix: remove need for duplicate attributes on each function (#9244)
Browse files Browse the repository at this point in the history
Fixes #9243
  • Loading branch information
TomAFrench authored Oct 18, 2024
1 parent 1f0538f commit ed933ee
Show file tree
Hide file tree
Showing 53 changed files with 170 additions and 576 deletions.
4 changes: 1 addition & 3 deletions boxes/boxes/react/src/contracts/src/main.nr
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ contract BoxReact {
}

#[private]
#['private]
#['initializer]
#[initializer]
fn constructor(
number: Field,
owner: AztecAddress,
Expand All @@ -31,7 +30,6 @@ contract BoxReact {
}

#[private]
#['private]
fn setNumber(
number: Field,
owner: AztecAddress,
Expand Down
4 changes: 1 addition & 3 deletions boxes/boxes/vanilla/src/contracts/src/main.nr
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ contract Vanilla {
}

#[private]
#['private]
#['initializer]
#[initializer]
fn constructor(
number: Field,
owner: AztecAddress,
Expand All @@ -31,7 +30,6 @@ contract Vanilla {
}

#[private]
#['private]
fn setNumber(
number: Field,
owner: AztecAddress,
Expand Down
3 changes: 1 addition & 2 deletions boxes/init/src/main.nr
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use dep::aztec::macros::aztec;
#[aztec]
contract Main {
#[private]
#['private]
#['initializer]
#[initializer]
fn constructor() { }
}
1 change: 0 additions & 1 deletion noir-projects/aztec-nr/aztec/src/macros/dispatch/mod.nr
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ pub comptime fn generate_public_dispatch(m: Module) -> Quoted {
// functions having this attribute. However, the public MACRO will
// handle the public_dispatch function specially and do nothing.
#[public]
#['public]
pub unconstrained fn public_dispatch(selector: Field) {
$dispatch
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ contract AppSubscription {
global SUBSCRIPTION_TXS = 5;

#[private]
#['private]
fn entrypoint(payload: DAppPayload, user_address: AztecAddress) {
// Default msg_sender for entrypoints is now Fr.max_value rather than 0 addr (see #7190 & #7404)
assert(context.msg_sender().to_field() == MAX_FIELD_VALUE);
Expand Down Expand Up @@ -65,8 +64,7 @@ contract AppSubscription {
}

#[public]
#['public]
#['initializer]
#[initializer]
fn constructor(
target_address: AztecAddress,
subscription_recipient_address: AztecAddress,
Expand All @@ -82,7 +80,6 @@ contract AppSubscription {
}

#[private]
#['private]
fn subscribe(subscriber: AztecAddress, nonce: Field, expiry_block_number: Field, tx_count: Field) {
assert(tx_count as u64 <= SUBSCRIPTION_TXS as u64);

Expand Down
18 changes: 5 additions & 13 deletions noir-projects/noir-contracts/contracts/auth_contract/src/main.nr
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,14 @@ contract Auth {
}

#[public]
#['public]
#['initializer]
#[initializer]
fn constructor(admin: AztecAddress) {
assert(!admin.is_zero(), "invalid admin");
storage.admin.initialize(admin);
}

// docs:start:shared_mutable_schedule
#[public]
#['public]
fn set_authorized(authorized: AztecAddress) {
assert_eq(storage.admin.read(), context.msg_sender(), "caller is not admin");
storage.authorized.schedule_value_change(authorized);
Expand All @@ -42,8 +40,7 @@ contract Auth {

// docs:start:public_getter
#[public]
#['public]
#['view]
#[view]
fn get_authorized() -> AztecAddress {
// docs:start:shared_mutable_get_current_public
storage.authorized.get_current_value_in_public()
Expand All @@ -52,8 +49,7 @@ contract Auth {
// docs:end:public_getter

#[public]
#['public]
#['view]
#[view]
fn get_scheduled_authorized() -> AztecAddress {
// docs:start:shared_mutable_get_scheduled_public
let (scheduled_value, _block_of_change): (AztecAddress, u32) = storage.authorized.get_scheduled_value_in_public();
Expand All @@ -62,20 +58,17 @@ contract Auth {
}

#[public]
#['public]
#['view]
#[view]
fn get_authorized_delay() -> pub u32 {
storage.authorized.get_current_delay_in_public()
}

#[public]
#['public]
fn set_authorized_delay(new_delay: u32) {
storage.authorized.schedule_delay_change(new_delay);
}

#[private]
#['private]
fn do_private_authorized_thing() {
// Reading a value from authorized in private automatically adds an extra validity condition: the base rollup
// circuit will reject this tx if included in a block past the block horizon, which is as far as the circuit can
Expand All @@ -87,8 +80,7 @@ contract Auth {
}

#[private]
#['private]
#['view]
#[view]
fn get_authorized_in_private() -> AztecAddress {
storage.authorized.get_current_value_in_private()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use dep::aztec::macros::aztec;
contract AuthRegistry {
use dep::aztec::{
state_vars::{PublicMutable, Map}, protocol_types::address::AztecAddress,
macros::{storage::storage, functions::{private, public, internal}}
macros::{storage::storage, functions::{private, public, internal, view}}
};
use dep::authwit::auth::{IS_VALID_SELECTOR, compute_authwit_message_hash, assert_current_call_valid_authwit};

Expand All @@ -22,7 +22,6 @@ contract AuthRegistry {
* @param authorize True if the caller is authorized to perform the message hash, false otherwise
*/
#[public]
#['public]
fn set_authorized(message_hash: Field, authorize: bool) {
storage.approved_actions.at(context.msg_sender()).at(message_hash).write(authorize);
}
Expand All @@ -35,7 +34,6 @@ contract AuthRegistry {
* @param reject True if all actions should be rejected, false otherwise
*/
#[public]
#['public]
fn set_reject_all(reject: bool) {
storage.reject_all.at(context.msg_sender()).write(reject);
}
Expand All @@ -51,7 +49,6 @@ contract AuthRegistry {
* @return `IS_VALID_SELECTOR` if the action was consumed, revert otherwise
*/
#[public]
#['public]
fn consume(on_behalf_of: AztecAddress, inner_hash: Field) -> Field {
assert_eq(false, storage.reject_all.at(on_behalf_of).read(), "rejecting all");

Expand Down Expand Up @@ -82,7 +79,6 @@ contract AuthRegistry {
* @param authorize True if the message hash should be authorized, false otherwise
*/
#[private]
#['private]
fn set_authorized_private(approver: AztecAddress, message_hash: Field, authorize: bool) {
assert_current_call_valid_authwit(&mut context, approver);
AuthRegistry::at(context.this_address())._set_authorized(approver, message_hash, authorize).enqueue(&mut context);
Expand All @@ -97,8 +93,7 @@ contract AuthRegistry {
* @param authorize True if the caller is authorized to perform the message hash, false otherwise
*/
#[public]
#['public]
#['internal]
#[internal]
fn _set_authorized(approver: AztecAddress, message_hash: Field, authorize: bool) {
storage.approved_actions.at(approver).at(message_hash).write(authorize);
}
Expand All @@ -110,8 +105,7 @@ contract AuthRegistry {
* @return True if all actions are rejected, false otherwise
*/
#[public]
#['public]
#['view]
#[view]
fn is_reject_all(on_behalf_of: AztecAddress) -> bool {
storage.reject_all.at(on_behalf_of).read()
}
Expand All @@ -124,8 +118,7 @@ contract AuthRegistry {
* @return True if the caller is authorized to perform the action, false otherwise
*/
#[public]
#['public]
#['view]
#[view]
fn is_consumable(on_behalf_of: AztecAddress, message_hash: Field) -> bool {
storage.approved_actions.at(on_behalf_of).at(message_hash).read()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@ contract AuthWitTest {
use dep::authwit::auth::{assert_inner_hash_valid_authwit, assert_inner_hash_valid_authwit_public};

#[private]
#['private]
fn consume(on_behalf_of: AztecAddress, inner_hash: Field) {
assert_inner_hash_valid_authwit(&mut context, on_behalf_of, inner_hash);
}

#[public]
#['public]
fn consume_public(on_behalf_of: AztecAddress, inner_hash: Field) {
assert_inner_hash_valid_authwit_public(&mut context, on_behalf_of, inner_hash);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,12 @@ contract AvmInitializerTest {
* Storage
************************************************************************/
#[public]
#['public]
#['initializer]
#[initializer]
fn constructor() {
storage.immutable.initialize(42);
}

#[public]
#['public]
fn read_storage_immutable() -> pub Field {
storage.immutable.read()
}
Expand Down
Loading

0 comments on commit ed933ee

Please sign in to comment.