Skip to content

Commit ae9e143

Browse files
authored
Merge pull request #64 from horuslabsio/v0.3.2
Feat: V0.3.2
2 parents b85fba9 + 214e8cd commit ae9e143

33 files changed

+356
-372
lines changed

.tool-versions

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
scarb 2.8.2
2-
starknet-foundry 0.31.0
1+
scarb 2.11.4
2+
starknet-foundry 0.45.0

Scarb.lock

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,73 +3,63 @@ version = 1
33

44
[[package]]
55
name = "openzeppelin_access"
6-
version = "0.17.0"
6+
version = "2.0.0"
77
source = "registry+https://scarbs.xyz/"
8-
checksum = "sha256:541bb8fdf1ad17fe0d275b00acb9f0d7f56ea5534741e21535ac3fda2c600281"
8+
checksum = "sha256:511681dd26d814ee2bc996d44ff8cb4aaa5ae9d14272130def7eb901cf004850"
99
dependencies = [
1010
"openzeppelin_introspection",
11-
"openzeppelin_utils",
1211
]
1312

1413
[[package]]
1514
name = "openzeppelin_account"
16-
version = "0.17.0"
15+
version = "2.0.0"
1716
source = "registry+https://scarbs.xyz/"
18-
checksum = "sha256:c4e11609fdd1f4c3d3004cd1468711bd2ea664739c9e59a4b270567fe4c23ee3"
17+
checksum = "sha256:fb3381c50d68b028d3801feb43df378e2bd62137b6884844f8f60aefe796188b"
1918
dependencies = [
2019
"openzeppelin_introspection",
2120
"openzeppelin_utils",
2221
]
2322

24-
[[package]]
25-
name = "openzeppelin_governance"
26-
version = "0.17.0"
27-
source = "registry+https://scarbs.xyz/"
28-
checksum = "sha256:b7e0142d88d69a8c367aea8c9dc7f659f27372551efc23f39a0cf71a189c1302"
29-
dependencies = [
30-
"openzeppelin_access",
31-
"openzeppelin_introspection",
32-
]
33-
3423
[[package]]
3524
name = "openzeppelin_introspection"
36-
version = "0.17.0"
25+
version = "2.0.0"
3726
source = "registry+https://scarbs.xyz/"
38-
checksum = "sha256:892433a4a1ea0fc9cf7cdb01e06ddc2782182abcc188e4ea5dd480906d006cf8"
27+
checksum = "sha256:87773ed6cd2318f169283ecbbb161890d1996260a80302d81ec45b70ee5e54c1"
3928

4029
[[package]]
4130
name = "openzeppelin_token"
42-
version = "0.17.0"
31+
version = "2.0.0"
4332
source = "registry+https://scarbs.xyz/"
44-
checksum = "sha256:77997a7e217b69674c34b402dc0c7b2210540db66a56087572679c31896eaabb"
33+
checksum = "sha256:6fe61f63b5a6706018265fb7373b6e5bd3ff829bdc760b2b90296b1e708d180c"
4534
dependencies = [
35+
"openzeppelin_access",
4636
"openzeppelin_account",
47-
"openzeppelin_governance",
4837
"openzeppelin_introspection",
38+
"openzeppelin_utils",
4939
]
5040

5141
[[package]]
5242
name = "openzeppelin_utils"
53-
version = "0.17.0"
43+
version = "2.0.0"
5444
source = "registry+https://scarbs.xyz/"
55-
checksum = "sha256:36d93e353f42fd6b824abcd8b4b51c3f5d02c893c5f886ae81403b0368aa5fde"
45+
checksum = "sha256:bf799c794139837f397975ffdf6a7ed5032d198bbf70e87a8f44f144a9dfc505"
5646

5747
[[package]]
5848
name = "snforge_scarb_plugin"
59-
version = "0.31.0"
60-
source = "git+https://github.com/foundry-rs/starknet-foundry.git?tag=v0.31.0#72ea785ca354e9e506de3e5d687da9fb2c1b3c67"
49+
version = "0.45.0"
50+
source = "git+https://github.com/foundry-rs/starknet-foundry.git?tag=v0.45.0#f969d9c0db5e2345cb14f4e94e87ca1f89c6f2cb"
6151

6252
[[package]]
6353
name = "snforge_std"
64-
version = "0.31.0"
65-
source = "git+https://github.com/foundry-rs/starknet-foundry.git?tag=v0.31.0#72ea785ca354e9e506de3e5d687da9fb2c1b3c67"
54+
version = "0.45.0"
55+
source = "git+https://github.com/foundry-rs/starknet-foundry.git?tag=v0.45.0#f969d9c0db5e2345cb14f4e94e87ca1f89c6f2cb"
6656
dependencies = [
6757
"snforge_scarb_plugin",
6858
]
6959

7060
[[package]]
7161
name = "token_bound_accounts"
72-
version = "0.3.1"
62+
version = "0.3.2"
7363
dependencies = [
7464
"openzeppelin_introspection",
7565
"openzeppelin_token",

Scarb.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
[package]
22
name = "token_bound_accounts"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
edition = "2024_07"
55
authors = ["Horus Labs <horuslabsio@gmail.com>"]
66
description = "A port of ERC6551 to Starknet"
77
repository = "https://github.com/horuslabsio/TBA/blob/main/Scarb.toml"
88
license-file = "LICENSE"
99
keywords = ["ERC6551", "tokenbound", "cairo", "contracts", "starknet", "standards"]
1010
readme = "README.md"
11-
cairo_version = "2.8.2"
11+
cairo_version = "2.11.4"
1212
homepage = "https://www.tbaexplorer.com/"
1313
documentation = "https://github.com/horuslabsio/TBA-SDK"
1414

@@ -22,12 +22,12 @@ casm = true
2222
[lib]
2323

2424
[dependencies]
25-
starknet = "2.8.2"
26-
openzeppelin_introspection = "0.17.0"
27-
openzeppelin_token = "0.17.0"
25+
starknet = "2.11.4"
26+
openzeppelin_introspection = "2.0.0"
27+
openzeppelin_token = "2.0.0"
2828

2929
[dev-dependencies]
30-
snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry.git", tag = "v0.31.0" }
30+
snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry.git", tag = "v0.45.0" }
3131

3232
[tool.snforge]
3333
# exit_first = true

src/accountV3/accountV3.cairo

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,20 @@ pub mod AccountV3 {
77
// *************************************************************************
88
// IMPORTS
99
// *************************************************************************
10-
use starknet::{ContractAddress, get_caller_address, get_tx_info, ClassHash, account::Call};
1110
use openzeppelin_introspection::src5::SRC5Component;
12-
11+
use starknet::account::Call;
12+
use starknet::{ClassHash, ContractAddress, get_caller_address, get_tx_info};
1313
use token_bound_accounts::components::account::account::AccountComponent;
14-
use token_bound_accounts::components::upgradeable::upgradeable::UpgradeableComponent;
1514
use token_bound_accounts::components::lockable::lockable::LockableComponent;
16-
use token_bound_accounts::components::signatory::signatory::SignatoryComponent;
1715
use token_bound_accounts::components::permissionable::permissionable::PermissionableComponent;
18-
use token_bound_accounts::interfaces::{
19-
IUpgradeable::IUpgradeable, IExecutable::IExecutable, ILockable::ILockable,
20-
ISignatory::ISignatory, IPermissionable::IPermissionable, IAccountV3::IAccountV3
21-
};
16+
use token_bound_accounts::components::signatory::signatory::SignatoryComponent;
17+
use token_bound_accounts::components::upgradeable::upgradeable::UpgradeableComponent;
18+
use token_bound_accounts::interfaces::IAccountV3::IAccountV3;
19+
use token_bound_accounts::interfaces::IExecutable::IExecutable;
20+
use token_bound_accounts::interfaces::ILockable::ILockable;
21+
use token_bound_accounts::interfaces::IPermissionable::IPermissionable;
22+
use token_bound_accounts::interfaces::ISignatory::ISignatory;
23+
use token_bound_accounts::interfaces::IUpgradeable::IUpgradeable;
2224

2325
// *************************************************************************
2426
// COMPONENTS
@@ -57,7 +59,7 @@ pub mod AccountV3 {
5759
#[substorage(v0)]
5860
permissionable: PermissionableComponent::Storage,
5961
#[substorage(v0)]
60-
src5: SRC5Component::Storage
62+
src5: SRC5Component::Storage,
6163
}
6264

6365
// *************************************************************************
@@ -77,7 +79,7 @@ pub mod AccountV3 {
7779
#[flat]
7880
PermissionableEvent: PermissionableComponent::Event,
7981
#[flat]
80-
SRC5Event: SRC5Component::Event
82+
SRC5Event: SRC5Component::Event,
8183
}
8284

8385
// *************************************************************************
@@ -98,7 +100,7 @@ pub mod AccountV3 {
98100
token_id: u256,
99101
registry: ContractAddress,
100102
implementation_hash: felt252,
101-
salt: felt252
103+
salt: felt252,
102104
) {
103105
self.account.initializer(token_contract, token_id, registry, implementation_hash, salt);
104106
}
@@ -119,7 +121,7 @@ pub mod AccountV3 {
119121
operator: ContractAddress,
120122
from: ContractAddress,
121123
token_id: u256,
122-
data: Span<felt252>
124+
data: Span<felt252>,
123125
) -> felt252 {
124126
let (_token_contract, _token_id, _chain_id) = self.account.token();
125127
let tx_info = get_tx_info().unbox();
@@ -144,7 +146,7 @@ pub mod AccountV3 {
144146
operator: ContractAddress,
145147
from: ContractAddress,
146148
token_id: u256,
147-
data: Span<felt252>
149+
data: Span<felt252>,
148150
) -> felt252 {
149151
self.on_erc721_received(operator, from, token_id, data)
150152
}
@@ -171,7 +173,7 @@ pub mod AccountV3 {
171173
/// @param hash The message hash
172174
/// @param signature The signature to be validated
173175
fn is_valid_signature(
174-
self: @ContractState, hash: felt252, signature: Span<felt252>
176+
self: @ContractState, hash: felt252, signature: Span<felt252>,
175177
) -> felt252 {
176178
self.signatory._is_valid_signature(hash, signature)
177179
}
@@ -253,7 +255,7 @@ pub mod AccountV3 {
253255
fn set_permission(
254256
ref self: ContractState,
255257
permissioned_addresses: Array<ContractAddress>,
256-
permissions: Array<bool>
258+
permissions: Array<bool>,
257259
) {
258260
// set permissions
259261
self.permissionable._set_permission(permissioned_addresses, permissions)
@@ -263,7 +265,7 @@ pub mod AccountV3 {
263265
// @param owner tokenbound account owner
264266
// @param permissioned_address address to check permission for
265267
fn has_permission(
266-
self: @ContractState, owner: ContractAddress, permissioned_address: ContractAddress
268+
self: @ContractState, owner: ContractAddress, permissioned_address: ContractAddress,
267269
) -> bool {
268270
self.permissionable._has_permission(owner, permissioned_address)
269271
}

src/components.cairo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
pub mod account;
22
pub mod lockable;
33
pub mod permissionable;
4-
pub mod upgradeable;
54
pub mod presets;
65
pub mod signatory;
6+
pub mod upgradeable;

0 commit comments

Comments
 (0)