> For the complete documentation index, see [llms.txt](https://docs.lossless.io/protocol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lossless.io/protocol/technical-reference/vault-and-treasury-protection/strategybase.md).

# StrategyBase

This is an abstract contract which has common protection strategy variables and functions.

Contract can be found here:

{% embed url="<https://github.com/Lossless-Cash/lossless-v2/blob/master/contracts/StrategyBase.sol>" %}

### Variables

* `guardian`
* `controller`

#### guardian

Lossless [guardian](/protocol/technical-reference/vault-and-treasury-protection/losslessguardian.md) contract.

#### controller

Lossless [controller](/protocol/technical-reference/vault-and-treasury-protection/losslesscontrollerv2.md) contract.

### Events

* `event GuardianSet(address indexed newGuardian)`
* `event Paused(address indexed token, address indexed protectedAddress)`
* `event Unpaused(address indexed token, address indexed protectedAddress)`

### Modifiers

* `onlyProtectionAdmin`

#### onlyProtectionAdmin

Checks if `msg.sender` is `protectionAdmin` for the token.

### Functions

* `setGuardian`

#### setGuardian

```solidity
function setGuardian(Guardian newGuardian) external 
```

Sets guardian contract.

Parameters:

| Name          | Type     | Description                    |
| ------------- | -------- | ------------------------------ |
| `newGuardian` | Guardian | New guardian contract address. |
