Skip to content

Commit bdee9be

Browse files
authored
semantic error fix: wrong authorization (#143)
1 parent 2e12681 commit bdee9be

3 files changed

Lines changed: 8 additions & 9 deletions

File tree

cadence/tests/transactions/attempt_copy_auto_balancer_config.cdc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import "DeFiActions"
66
transaction(victimAddress: Address, victimPublicPath: PublicPath, attackerStoragePath: StoragePath) {
77

88
let victimConfig: DeFiActions.AutoBalancerRecurringConfig
9-
let attackerAB: &DeFiActions.AutoBalancer
9+
let attackerAB: auth(DeFiActions.Configure) &DeFiActions.AutoBalancer
1010

1111
prepare(signer: auth(BorrowValue, SaveValue, IssueStorageCapabilityController) &Account) {
1212
// get victim's AutoBalancer
@@ -15,7 +15,7 @@ transaction(victimAddress: Address, victimPublicPath: PublicPath, attackerStorag
1515
self.victimConfig = victimAB.getRecurringConfig() ?? panic("Victim AutoBalancer does not have a recurring config")
1616

1717
// get attacker's AutoBalancer
18-
self.attackerAB = signer.storage.borrow<&DeFiActions.AutoBalancer>(from: attackerStoragePath)
18+
self.attackerAB = signer.storage.borrow<auth(DeFiActions.Configure) &DeFiActions.AutoBalancer>(from: attackerStoragePath)
1919
?? panic("Attacker AutoBalancer was not found in signer's storage at \(attackerStoragePath)")
2020
}
2121

cadence/transactions/auto-balance-adapter/remove_recurring_config.cdc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import "DeFiActions"
55
/// @param storagePath: the storage path of the stored AutoBalancer
66
///
77
transaction(storagePath: StoragePath) {
8-
let autoBalancer: auth(DeFiActions.Schedule) &DeFiActions.AutoBalancer
8+
let autoBalancer: auth(DeFiActions.Configure) &DeFiActions.AutoBalancer
99

1010
prepare(signer: auth(BorrowValue) &Account) {
11-
self.autoBalancer = signer.storage.borrow<auth(DeFiActions.Schedule) &DeFiActions.AutoBalancer>(from: storagePath)
11+
self.autoBalancer = signer.storage.borrow<auth(DeFiActions.Configure) &DeFiActions.AutoBalancer>(from: storagePath)
1212
?? panic("AutoBalancer was not found in signer's storage at \(storagePath)")
1313
}
1414

cadence/transactions/auto-balance-adapter/schedule_next_rebalance.cdc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,16 @@ import "DeFiActions"
55
/// @param storagePath: the storage path of the stored AutoBalancer
66
///
77
transaction(storagePath: StoragePath) {
8-
let autoBalancer: auth(DeFiActions.Auto) &DeFiActions.AutoBalancer
8+
let autoBalancer: auth(DeFiActions.Schedule) &DeFiActions.AutoBalancer
99

1010
prepare(signer: auth(BorrowValue) &Account) {
11-
self.autoBalancer = signer.storage.borrow<auth(DeFiActions.Auto) &DeFiActions.AutoBalancer>(from: storagePath)
11+
self.autoBalancer = signer.storage.borrow<auth(DeFiActions.Schedule) &DeFiActions.AutoBalancer>(from: storagePath)
1212
?? panic("AutoBalancer was not found in signer's storage at \(storagePath)")
1313
}
1414

1515
execute {
16-
let err = self.autoBalancer.scheduleNextRebalance(whileExecuting: nil)
17-
if err != nil {
18-
panic("Failed to schedule next rebalance: \(err!)")
16+
if let err = self.autoBalancer.scheduleNextRebalance(whileExecuting: nil) {
17+
panic("Failed to schedule next rebalance: \(err)")
1918
}
2019
}
2120
}

0 commit comments

Comments
 (0)