https://github.com/merklejerk/eco-wallets
Ephemeral Counterfactual Wallets
https://github.com/merklejerk/eco-wallets
Last synced: 6 months ago
JSON representation
Ephemeral Counterfactual Wallets
- Host: GitHub
- URL: https://github.com/merklejerk/eco-wallets
- Owner: merklejerk
- License: mit
- Created: 2023-03-02T00:32:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-05T19:12:34.000Z (over 2 years ago)
- Last Synced: 2024-04-16T06:21:39.715Z (over 1 year ago)
- Language: Solidity
- Size: 78.1 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
*These smart contracts were developed for our EthDenver '23 hackathon project W41337!*
# ECo Wallets
An **e**phemeral, **co**unterfactual wallet primitve for cool hacker devs with certain desirable properties:
- Smart: Runs arbitrary bytecode (only) when you interact with it.
- Convenient: Instantly execute code on-chain without a separate deployment step.
- Non-polluting: Leaves no state or code behind after it executes.
- Stateless/Codeless: No code means no need to implement token receiver callbacks.
- Safer: No code hanging around to hack.
## Lifecycle

1. Write code.
2. Compile into runtime bytecode.
3. Submit bytecode to canonical entry point contract.
4. Entry point hot-patches and deploys the runtime bytecode.
5. Entry point deterministically deploys your smart wallet.
6. Smart wallet initcode delegatecalls into runtime bytecode.
7. Smart wallet initcode self-destructs.
8. Entry point triggers deployed runtime bytecode to also self-destruct.
### Deployments
| Network | Address |
|---------|----------|
| Goerli | [0x82b035B4405Dd60b449b054894004FeE80566655](https://goerli.etherscan.io/address/0x82b035B4405Dd60b449b054894004FeE80566655) |
#### Demo App
[w41337.dev](https://w41337.dev) ([repo](https://github.com/merklejerk/eco-wallets-demo-2))
#### Acknowledgements
S/O to [@justinschuldt](https://github.com/justinschuldt), [@johncpalmer](https://github.com/johncpalmer), [@samedayjeremy](https://github.com/samedayjeremy), and [@steveklebanoff](https://github.com/steveklebanoff) for their contributions and guidance throughout the hack!