pragma ever -solidity ^0.62.0; pragma AbiHeader expire; pragma AbiHeader pubkey; import "./TokenWalletBase.tsol"; import "../interfaces/ITokenRoot.tsol"; import "../interfaces/IBurnableTokenWallet.tsol"; import "../libraries/TokenErrors.tsol"; import "../libraries/TokenMsgFlag.tsol"; /** * @dev Implementation of the {IBurnableTokenWallet} interface. * * This abstraction extends the functionality of {TokenWalletBase} and adding * burning self-tokens functional. */ abstract contract TokenWalletBurnableBase is TokenWalletBase, IBurnableTokenWallet { /** * @dev See {IBurnableTokenWallet-burn}. * * Burn tokens from the wallet. * * Precondition: * * - `sender` must be the wallet owner. * * For implementation details, see {TokenWalletBase-_burn}. */ function burn(uint128 amount, address remainingGasTo, address callbackTo, TvmCell payload) override external onlyOwner { _burn(amount, remainingGasTo, callbackTo, payload); } }