mirror of
https://github.com/logos-storage/logos-storage-contracts-eth.git
synced 2026-01-03 05:43:10 +00:00
vault: fix accounting of locked value when burning designated tokens
This commit is contained in:
parent
43cd44330b
commit
473a5fec19
@ -208,7 +208,7 @@ abstract contract VaultBase {
|
||||
Recipient recipient,
|
||||
uint128 amount
|
||||
) internal {
|
||||
Lock memory lock = _locks[controller][fund];
|
||||
Lock storage lock = _locks[controller][fund];
|
||||
require(lock.status() == LockStatus.Locked, VaultFundNotLocked());
|
||||
|
||||
Account storage account = _accounts[controller][fund][recipient];
|
||||
@ -216,6 +216,8 @@ abstract contract VaultBase {
|
||||
|
||||
account.balance.designated -= amount;
|
||||
|
||||
lock.value -= amount;
|
||||
|
||||
_token.safeTransfer(address(0xdead), amount);
|
||||
}
|
||||
|
||||
|
||||
@ -641,7 +641,10 @@ describe("Vault", function () {
|
||||
await vault.deposit(fund, account.address, 30)
|
||||
await vault.transfer(fund, account.address, account2.address, 20)
|
||||
await vault.transfer(fund, account2.address, account3.address, 10)
|
||||
// some tokens are burned
|
||||
// some designated tokens are burned
|
||||
await vault.designate(fund, account2.address, 10)
|
||||
await vault.burnDesignated(fund, account2.address, 5)
|
||||
// some account is burned
|
||||
await vault.burnAccount(fund, account2.address)
|
||||
await expire()
|
||||
// some tokens are withdrawn
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user