Skip to content

Commit b8240e4

Browse files
Merge pull request #28 from BibliothecaDAO/lords-burner-admin-execute
burner: allow admin execute calls
2 parents 6f9121d + c77ca6c commit b8240e4

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

veLords/src/burner.cairo

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@
55

66
#[starknet::contract]
77
mod burner {
8-
use lordship::interfaces::IBurner::IBurner;
8+
use lordship::interfaces::IBurner::{IBurner, IBurnerAdmin};
99
use lordship::interfaces::IERC20::{IERC20Dispatcher, IERC20DispatcherTrait};
1010
use lordship::interfaces::IRewardPool::{IRewardPoolDispatcher, IRewardPoolDispatcherTrait};
1111
use openzeppelin::access::ownable::OwnableComponent;
12+
use openzeppelin::account::utils::execute_calls;
1213
use openzeppelin::upgrades::UpgradeableComponent;
1314
use openzeppelin::upgrades::interface::IUpgradeable;
15+
use starknet::account::Call;
16+
1417
use starknet::{ClassHash, ContractAddress, get_contract_address, contract_address_const};
1518

1619
component!(path: OwnableComponent, storage: ownable, event: OwnableEvent);
@@ -76,4 +79,12 @@ mod burner {
7679
reward_pool.burn(lords_balance);
7780
}
7881
}
82+
83+
#[abi(embed_v0)]
84+
impl IBurnerAdminImpl of IBurnerAdmin<ContractState> {
85+
fn execute_calls(ref self: ContractState, mut calls: Array<Call>) -> Array<Span<felt252>> {
86+
self.ownable.assert_only_owner();
87+
execute_calls(calls)
88+
}
89+
}
7990
}

veLords/src/interfaces/IBurner.cairo

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
use starknet::ContractAddress;
2+
use starknet::account::Call;
23

34
#[starknet::interface]
45
pub trait IBurner<TContractState> {
56
fn burn_lords(ref self: TContractState);
67
}
8+
9+
#[starknet::interface]
10+
pub trait IBurnerAdmin<TContractState> {
11+
fn execute_calls(ref self: TContractState, calls: Array<Call>) -> Array<Span<felt252>>;
12+
}

0 commit comments

Comments
 (0)