Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Commit

Permalink
Merge branch 'main' into frank/updating-DoS-attack
Browse files Browse the repository at this point in the history
  • Loading branch information
gianalarcon authored Jan 31, 2024
2 parents 2a2dcee + 8effc5c commit aeb5839
Show file tree
Hide file tree
Showing 30 changed files with 20,482 additions and 10,149 deletions.
3 changes: 3 additions & 0 deletions examples/Ownable-Starknet/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export STARKNET_ACCOUNT=/home/gianm/.starkli-wallets/deployer/my_account_argent.json
export STARKNET_KEYSTORE=/home/gianm/.starkli-wallets/deployer/my_keystore_argent.json
export STARKNET_RPC=https://starknet-testnet.public.blastapi.io/rpc/v0_6 # you can keep this rpc url unchanged
8 changes: 0 additions & 8 deletions examples/Ownable-Starknet/Scarb.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,3 @@ version = 1
[[package]]
name = "ownable_starknet"
version = "0.1.0"
dependencies = [
"snforge_std",
]

[[package]]
name = "snforge_std"
version = "0.1.0"
source = "git+https://github.com/foundry-rs/starknet-foundry?tag=v0.7.1#d1bd8b9a361d437e8eaeb4ebffac291a48b4c920"
3 changes: 1 addition & 2 deletions examples/Ownable-Starknet/Scarb.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ version = "0.1.0"
# See more keys and their definitions at https://docs.swmansion.com/scarb/docs/reference/manifest

[dependencies]
snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry", tag = "v0.7.1" } #v0.7.0
starknet = ">=2.2.0"
starknet = ">=2.5.0"

[[target.starknet-contract]]
sierra = true
Expand Down
1 change: 0 additions & 1 deletion examples/Ownable-Starknet/data/calldata.txt

This file was deleted.

32 changes: 28 additions & 4 deletions examples/Ownable-Starknet/src/lib.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ mod ownable {
}

#[constructor]
fn constructor(ref self: ContractState, initial_owner: ContractAddress,) {
fn constructor(ref self: ContractState, initial_owner: ContractAddress) {
self.owner.write(initial_owner);
self.data.write(1);
// Any variable of the storage that is not initialized
// will have default value -> data = 0.
}

#[external(v0)]
#[abi(embed_v0)]
impl OwnableDataImpl of IData<ContractState> {
fn other_func(self: @ContractState, other_contract: ContractAddress) -> felt252 {
IDataDispatcher { contract_address: other_contract }.get_data()
Expand All @@ -63,14 +63,14 @@ mod ownable {
}
}

#[external(v0)]
#[abi(embed_v0)]
impl OwnableTraitImpl of OwnableTrait<ContractState> {
fn transfer_ownership(ref self: ContractState, new_owner: ContractAddress) {
self.only_owner();
let prev_owner = self.owner.read();
self.owner.write(new_owner);

self.emit(OwnershipTransferred { prev_owner, new_owner, });
self.emit(OwnershipTransferred { prev_owner, new_owner });
}

fn owner(self: @ContractState) -> ContractAddress {
Expand All @@ -87,3 +87,27 @@ mod ownable {
}
}

#[cfg(test)]
mod tests {
use ownable_starknet::ownable;
use ownable_starknet::{OwnableTraitDispatcher, OwnableTraitDispatcherTrait};
use starknet::{ContractAddress, Into, TryInto, OptionTrait};
use starknet::syscalls::deploy_syscall;
use result::ResultTrait;
use array::{ArrayTrait, SpanTrait};

#[test]
#[available_gas(10_000_000)]
fn unit_test() {
let admin_address: ContractAddress = 'admin'.try_into().unwrap();
let mut calldata = array![admin_address.into()];
let (address0, _) = deploy_syscall(
ownable::TEST_CLASS_HASH.try_into().unwrap(), 0, calldata.span(), false
)
.unwrap();
let mut contract0 = OwnableTraitDispatcher { contract_address: address0 };

assert(contract0.owner() == admin_address, 'Wrong owner');
}
}

87 changes: 0 additions & 87 deletions examples/Ownable-Starknet/tests/test_ownable.cairo

This file was deleted.

Loading

0 comments on commit aeb5839

Please sign in to comment.