# Optimistic Transfers with Rollup [TOC] ## Deposits >[name=Vaibhav] Should deposit work like we did [here](https://github.com/rollupnc/RollupNC#deposits) ? ## Transfers Contract stores list of blocks which are defined as stated below. ```json= Block ={ StateRoot string, NumberOfTxs number } Blocks = []Block ``` StateRoot here basically is list of txs. >[name=Vaibhav] Do we want to have instant confirmations of inclusion from the aggregator? ## Withdraws User submits proof of inclusion in the latest confirmed state root. A new state root is created with user account removed on-chain. After challenge period withdraw is confirmed. >[name=Vaibhav] Since withdraw is happening completely on-chain can we omit challenge period for it? ## Challenge > See questions section below ## Fees > Do we want to have a fee model in place for POC or should we skip ? ## State tree height > How big can the tree be? What is it limited by? ## Questions 1. How do I prove inclusion of an invalid tx in the latest block? ## Data Models ### Transaction ```js stateRoot: string senderSlotIndex: number recipientSlotIndex: number tokenType: number amount: number signature: string ``` ### Block ```js blockNumber: number transaction: Transactions[] ```