> For the complete documentation index, see [llms.txt](https://haiko-docs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://haiko-docs.gitbook.io/docs/developers/events/replicatingstrategy.md).

# ReplicatingStrategy

## `Deposit`

Registers a deposit to the strategy.

* **Caller**: depositor
* **Market ID**: market id (see [above](#createmarket))
* **Base Amount:** base tokens deposited
* **Quote Amount:** quote tokens deposited
* **Shares:** number of pool shares minted and received

```rust
#[derive(Drop, starknet::Event)]
struct Deposit {
    #[key]
    caller: ContractAddress,
    #[key]
    market_id: felt252,
    base_amount: u256,
    quote_amount: u256,
    shares: u256,
}
```

## `Withdraw`

* **Caller**: depositor
* **Market ID**: market id (see [above](#createmarket))
* **Base Amount:** base tokens withdrawn
* **Quote Amount:** quote tokens withdrawn
* **Shares:** number of shares withdrawn and burned

```rust
#[derive(Drop, starknet::Event)]
struct Deposit {
    #[key]
    caller: ContractAddress,
    #[key]
    market_id: felt252,
    base_amount: u256,
    quote_amount: u256,
    shares: u256,
}
```
