# Oracle Update Procedures

## Overview

This document describes procedures for updating oracle parameters and configuration.

## Parameter Updates

### Update Heartbeat

```bash
cast send $AGGREGATOR_ADDRESS "updateHeartbeat(uint256)" $NEW_HEARTBEAT \
  --rpc-url $RPC_URL \
  --private-key $ADMIN_KEY
```

### Update Deviation Threshold

```bash
cast send $AGGREGATOR_ADDRESS "updateDeviationThreshold(uint256)" $NEW_THRESHOLD \
  --rpc-url $RPC_URL \
  --private-key $ADMIN_KEY
```

## Transmitter Management

### Add Transmitter

```bash
cast send $AGGREGATOR_ADDRESS "addTransmitter(address)" $TRANSMITTER_ADDRESS \
  --rpc-url $RPC_URL \
  --private-key $ADMIN_KEY
```

### Remove Transmitter

```bash
cast send $AGGREGATOR_ADDRESS "removeTransmitter(address)" $TRANSMITTER_ADDRESS \
  --rpc-url $RPC_URL \
  --private-key $ADMIN_KEY
```

## Oracle Pause/Unpause

### Pause Oracle

```bash
cast send $AGGREGATOR_ADDRESS "pause()" \
  --rpc-url $RPC_URL \
  --private-key $ADMIN_KEY
```

### Unpause Oracle

```bash
cast send $AGGREGATOR_ADDRESS "unpause()" \
  --rpc-url $RPC_URL \
  --private-key $ADMIN_KEY
```

## Best Practices

1. **Test Changes**: Test parameter changes on testnet first
2. **Monitor Impact**: Monitor oracle behavior after changes
3. **Document Changes**: Document all parameter changes
4. **Gradual Changes**: Make gradual changes when possible
5. **Backup Plan**: Have a rollback plan ready

