## Context [Bundle compression makes 4337 efficient on L1.](https://daimo.com/blog/bulk) As of 2023-01-17, - Daimo's running compression in prod, submitting 1-op bundles directly - Pimlico has a testnet prototype of a real bundler API ## Road to prod - [x] **Document rough spec.** https://github.com/daimo-eth/bulk/issues/7#issuecomment-1897309585 - [x] **Fix testnet compressed-op bundler**, gas esimation issue. Test 10x on Base Goerli, smoke test reliability. - [x] **Ship.** Risk is mitigated because we try...catch the entire compressed op send, falling back to an uncompressed op. ## Followup - [ ] **Bundler paymaster whitelist to preview griefing.** We use a tx.origin trick to save 40% of our cost per op (~70 bytes!) that would otherwise go to the sponsoring-paymaster signature. This adds two requirements: - **Bundler EOA must be whitelisted in paymaster.** We can do this manually for now, just let us know what the Pimlico EOAs are. - **We'd like bundler to enforce, for certain paymasters, that only a given API user can send ops using that paymaster.** This prevents another user from signing up for Pimlico and then draining our sponsoring paymaster. - [x] **Launch post / thread.** Show benefit of compression, show how to use it with Pimlico, and explain the mental model. - In particular, explain the idea of a **happy path** (compressed, private, stateful inflator, potentially sponsored via tx.origin trick = efficient but uses restricted opcodes. requires client-bundler trust relationship. if a client ever uses stateful inflator to grief the bundler, bundler can simply turn off their API key) vs the **fallback path** (uncompressed op, public mempool, costs a few cents more in exchange for strong censorship resistance). - [x] **Update contracts.** [InflatorRegistered event, OpInflatorRegistered](https://github.com/daimo-eth/bulk/issues/9), better comments. - [ ] **Draft spec.** EthMagicians post with goal to turn it into an ERC > `eth_sendCompressedUserOperation` - [ ] **Invite other bundlers.** Alchemy, etc. Potentially refine the spec based on feedback.