Skip to content

Commit 8764c16

Browse files
committed
⬆️ scarb 2.9.2
1 parent 3303443 commit 8764c16

File tree

7 files changed

+120
-299
lines changed

7 files changed

+120
-299
lines changed

.tool-versions

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
scarb 2.5.1
1+
scarb 2.9.2

Scarb.lock

+103-22
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,128 @@
22
version = 1
33

44
[[package]]
5-
name = "alexandria_data_structures"
6-
version = "0.2.0"
7-
source = "git+https://github.com/keep-starknet-strange/alexandria.git#1de9e5fd54be8682214675d73b71413f0d95bc9b"
8-
dependencies = [
9-
"alexandria_encoding",
10-
]
5+
name = "alexandria_math"
6+
version = "0.2.1"
7+
source = "git+https://github.com/keep-starknet-strange/alexandria.git?rev=162bed1#162bed1c636d31ccaaa90ed3eb32c9eb1d5e3bd3"
118

129
[[package]]
13-
name = "alexandria_encoding"
10+
name = "hack_template"
1411
version = "0.1.0"
15-
source = "git+https://github.com/keep-starknet-strange/alexandria.git#1de9e5fd54be8682214675d73b71413f0d95bc9b"
1612
dependencies = [
1713
"alexandria_math",
18-
"alexandria_numeric",
14+
"pragma_lib",
1915
]
2016

2117
[[package]]
22-
name = "alexandria_math"
23-
version = "0.2.0"
24-
source = "git+https://github.com/keep-starknet-strange/alexandria.git#1de9e5fd54be8682214675d73b71413f0d95bc9b"
18+
name = "openzeppelin"
19+
version = "0.20.0"
20+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
2521
dependencies = [
26-
"alexandria_data_structures",
22+
"openzeppelin_access",
23+
"openzeppelin_account",
24+
"openzeppelin_finance",
25+
"openzeppelin_governance",
26+
"openzeppelin_introspection",
27+
"openzeppelin_merkle_tree",
28+
"openzeppelin_presets",
29+
"openzeppelin_security",
30+
"openzeppelin_token",
31+
"openzeppelin_upgrades",
32+
"openzeppelin_utils",
2733
]
2834

2935
[[package]]
30-
name = "alexandria_numeric"
31-
version = "0.1.0"
32-
source = "git+https://github.com/keep-starknet-strange/alexandria.git#1de9e5fd54be8682214675d73b71413f0d95bc9b"
36+
name = "openzeppelin_access"
37+
version = "0.20.0"
38+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
3339
dependencies = [
34-
"alexandria_math",
40+
"openzeppelin_introspection",
3541
]
3642

3743
[[package]]
38-
name = "hack_template"
39-
version = "0.1.0"
44+
name = "openzeppelin_account"
45+
version = "0.20.0"
46+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
4047
dependencies = [
41-
"alexandria_math",
42-
"pragma_lib",
48+
"openzeppelin_introspection",
49+
"openzeppelin_utils",
50+
]
51+
52+
[[package]]
53+
name = "openzeppelin_finance"
54+
version = "0.20.0"
55+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
56+
dependencies = [
57+
"openzeppelin_access",
58+
"openzeppelin_token",
59+
]
60+
61+
[[package]]
62+
name = "openzeppelin_governance"
63+
version = "0.20.0"
64+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
65+
dependencies = [
66+
"openzeppelin_access",
67+
"openzeppelin_account",
68+
"openzeppelin_introspection",
69+
"openzeppelin_token",
70+
"openzeppelin_utils",
4371
]
4472

73+
[[package]]
74+
name = "openzeppelin_introspection"
75+
version = "0.20.0"
76+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
77+
78+
[[package]]
79+
name = "openzeppelin_merkle_tree"
80+
version = "0.20.0"
81+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
82+
83+
[[package]]
84+
name = "openzeppelin_presets"
85+
version = "0.20.0"
86+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
87+
dependencies = [
88+
"openzeppelin_access",
89+
"openzeppelin_account",
90+
"openzeppelin_finance",
91+
"openzeppelin_introspection",
92+
"openzeppelin_token",
93+
"openzeppelin_upgrades",
94+
"openzeppelin_utils",
95+
]
96+
97+
[[package]]
98+
name = "openzeppelin_security"
99+
version = "0.20.0"
100+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
101+
102+
[[package]]
103+
name = "openzeppelin_token"
104+
version = "0.20.0"
105+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
106+
dependencies = [
107+
"openzeppelin_access",
108+
"openzeppelin_account",
109+
"openzeppelin_introspection",
110+
"openzeppelin_utils",
111+
]
112+
113+
[[package]]
114+
name = "openzeppelin_upgrades"
115+
version = "0.20.0"
116+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
117+
118+
[[package]]
119+
name = "openzeppelin_utils"
120+
version = "0.20.0"
121+
source = "git+https://github.com/OpenZeppelin/cairo-contracts.git#ca212cef40ecdd5af0b220ce0b0facb3037472e1"
122+
45123
[[package]]
46124
name = "pragma_lib"
47125
version = "1.0.0"
48-
source = "git+https://github.com/astraly-labs/pragma-lib#d274267963391767d1a1a4985000918533c85227"
126+
source = "git+https://github.com/astraly-labs/pragma-lib?rev=cf9c4cc#cf9c4ccf51e8294f4502392b296062a167295ee2"
127+
dependencies = [
128+
"openzeppelin",
129+
]

Scarb.toml

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ version = "0.1.0"
44

55

66
[dependencies]
7-
alexandria_math = { git = "https://github.com/keep-starknet-strange/alexandria.git" }
8-
pragma_lib = { git = "https://github.com/astraly-labs/pragma-lib" }
9-
starknet = ">=2.5.1"
7+
8+
pragma_lib = { git = "https://github.com/astraly-labs/pragma-lib", rev = "cf9c4cc" }
9+
alexandria_math = { git = "https://github.com/keep-starknet-strange/alexandria.git", rev = "162bed1" }
10+
starknet = "=2.9.2"
1011

1112

1213
[[target.starknet-contract]]

src/contracts/contract_cairo0.cairo

-119
This file was deleted.

src/contracts/contract_cairo1.cairo src/contracts/example.cairo

+11-11
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use starknet::ContractAddress;
33
#[starknet::interface]
44
trait HackTemplateABI<TContractState> {
55
fn initializer(
6-
ref self: TContractState, pragma_contract: ContractAddress, summary_stats: ContractAddress
6+
ref self: TContractState, pragma_contract: ContractAddress, summary_stats: ContractAddress,
77
);
88
fn check_eth_threshold(self: @TContractState, threshold: u32) -> bool;
99
fn get_asset_price(self: @TContractState, asset_id: felt252) -> u128;
@@ -19,7 +19,7 @@ mod HackTemplate {
1919
use pragma_lib::types::{DataType, AggregationMode, PragmaPricesResponse};
2020
use pragma_lib::abi::{
2121
IPragmaABIDispatcher, IPragmaABIDispatcherTrait, ISummaryStatsABIDispatcher,
22-
ISummaryStatsABIDispatcherTrait
22+
ISummaryStatsABIDispatcherTrait,
2323
};
2424

2525
use alexandria_math::pow;
@@ -40,7 +40,7 @@ mod HackTemplate {
4040
fn initializer(
4141
ref self: ContractState,
4242
pragma_contract: ContractAddress,
43-
summary_stats: ContractAddress
43+
summary_stats: ContractAddress,
4444
) {
4545
if self.pragma_contract.read().into() == 0 {
4646
self.pragma_contract.write(pragma_contract);
@@ -53,7 +53,7 @@ mod HackTemplate {
5353
fn check_eth_threshold(self: @ContractState, threshold: u32) -> bool {
5454
// Retrieve the oracle dispatcher
5555
let oracle_dispatcher = IPragmaABIDispatcher {
56-
contract_address: self.pragma_contract.read()
56+
contract_address: self.pragma_contract.read(),
5757
};
5858

5959
// Call the Oracle contract
@@ -65,7 +65,7 @@ mod HackTemplate {
6565

6666
let current_timestamp = get_block_timestamp();
6767
assert(
68-
future_data.last_updated_timestamp >= current_timestamp - 500, 'Data is too old'
68+
future_data.last_updated_timestamp >= current_timestamp - 500, 'Data is too old',
6969
);
7070

7171
let min_num_sources = 3;
@@ -79,7 +79,7 @@ mod HackTemplate {
7979
let mut sources = array![skynet];
8080
let output: PragmaPricesResponse = oracle_dispatcher
8181
.get_data_for_sources(
82-
DataType::SpotEntry(BTC_USD), AggregationMode::Median(()), sources.span()
82+
DataType::SpotEntry(BTC_USD), AggregationMode::Median(()), sources.span(),
8383
);
8484

8585
// Normalize based on number of decimals
@@ -94,7 +94,7 @@ mod HackTemplate {
9494
fn get_asset_price(self: @ContractState, asset_id: felt252) -> u128 {
9595
// Retrieve the oracle dispatcher
9696
let oracle_dispatcher = IPragmaABIDispatcher {
97-
contract_address: self.pragma_contract.read()
97+
contract_address: self.pragma_contract.read(),
9898
};
9999

100100
// Call the Oracle contract, for a spot entry
@@ -106,7 +106,7 @@ mod HackTemplate {
106106

107107
fn realized_volatility(self: @ContractState) -> (u128, u32) {
108108
let oracle_dispatcher = ISummaryStatsABIDispatcher {
109-
contract_address: self.summary_stats.read()
109+
contract_address: self.summary_stats.read(),
110110
};
111111

112112
let key = 'ETH/USD';
@@ -123,17 +123,17 @@ mod HackTemplate {
123123
start.into(),
124124
end.into(),
125125
num_samples,
126-
AggregationMode::Mean(())
126+
AggregationMode::Mean(()),
127127
);
128128

129129
let (mean, mean_decimals) = oracle_dispatcher
130130
.calculate_mean(
131-
DataType::SpotEntry(key), start.into(), end.into(), AggregationMode::Median(())
131+
DataType::SpotEntry(key), start.into(), end.into(), AggregationMode::Median(()),
132132
);
133133

134134
let (twap, twap_decimals) = oracle_dispatcher
135135
.calculate_twap(
136-
DataType::SpotEntry(key), AggregationMode::Mean(()), end.into(), start.into()
136+
DataType::SpotEntry(key), AggregationMode::Mean(()), end.into(), start.into(),
137137
);
138138

139139
(volatility, decimals)

0 commit comments

Comments
 (0)