flashbots / andromeda-sirrah-contracts

forge development env for SUAVE key management
MIT License
18 stars 5 forks source link

Deposit assets from an L1 to a KettleEscrow. #52

Open amiller opened 2 months ago

amiller commented 2 months ago

We should take advantage of the following:

Funds that are uniquely held in an application need to have some exclusive control over the assets. This requires a deposit/escrow contract on the chain with the assets.

However, what we can show off is that with TEE, you don't have to deposit in a particular application, you basically just have to deposit/escrow with a KettleEscrow singleton. The KettleEscrow can then delegate, off-chain, the exclusive access to these assets, without having to post an on-chain transaction.

Essentially this idea is like TEEChan. Instead of a payment channel, where funds have to be deposited on-chain to a particular set of counterparties, instead you can deposit to an instance of a TEE acting as a channel broker. The ability of the TEE to carry out a "one time program" enables you to delegate the key to a session involving a particular party.