Skip to content

Releases: stackup-wallet/keystore

v1.1

29 Aug 00:54
806fc6a

Choose a tag to compare

What's Changed

Full Changelog: v1.0...v1.1

v1.0

18 Aug 22:36
3ed7afe

Choose a tag to compare

Stackup Keystore v1

  • Keystore: 0x69C9F626b5Bd934C0F9806346682eD407FB978d3
  • KeystoreAccountFactory: 0x625cF8EDec3f68d48D3aA385F356524B04760BE8
  • UserOpECDSAVerifier: 0x294CD71960eed5AEa11DbbFa5D3c8eA4A1c1CE0F
  • UserOpMultiSigVerifier: 0x1dBadE1E34706f83598ae9acFC63B7F4f928146E
  • UserOpWebAuthnVerifier: 0xE19620169A26aEbC4Fe229A073639da6b009bF1a
  • UserOpWebAuthnCosignVerifier: 0x7CD0D83C0c33AAC9cef88c75F3EDec80F4175252

Audited by Spearbit


What's Changed

  • Initial keystore implementation by @hazim-j in #1
  • Update nonce mechanism by @hazim-j in #2
  • Implement account and factory by @hazim-j in #3
  • Cleanup redundant account indirection by @hazim-j in #4
  • Implement admin verifiers by @hazim-j in #5
  • Add test coverage for Keystore by @hazim-j in #6
  • Configure solidity compiler by @hazim-j in #7
  • Add test coverage for UserOpAdminECDSAVerifier by @hazim-j in #8
  • Add proof caching mechanism by @hazim-j in #9
  • Cleanup register proof with multiple roothash updates by @hazim-j in #10
  • Add test coverage for UserOpWebAuthnECDSAVerifier by @hazim-j in #11
  • Add coverage for KeystoreAccountFactory by @hazim-j in #12
  • Add mechanism for caching nodes by @hazim-j in #13
  • Implement multisig verifier by @hazim-j in #14
  • Add coverage for KeystoreAccount by @hazim-j in #15
  • Remove redundant storage reads in nonce by @hazim-j in #16
  • Add deployment scripts by @hazim-j in #18
  • Fix ERC-1271 invalid return value by @hazim-j in #19
  • Implement UserOpWebAuthnCosignVerifier by @hazim-j in #20
  • Implement deploy script for UserOpWebAuthnCosignVerifier by @hazim-j in #21
  • Cache array length in for loops by @hazim-j in #22
  • Findings 16: use verifyCalldata in registerNode by @hazim-j in #24
  • Findings 1: Consistent custom errors everywhere by @hazim-j in #25
  • Findings 2: Use max uint32 for permanent entryPoint stake by @hazim-j in #26
  • Findings 3: rename _refHash to refHash by @hazim-j in #27
  • Findings 5: document cache mechanism in spec.md by @hazim-j in #28
  • Findings 6: clarify conversion of node hash bytes conversion by @hazim-j in #29
  • Findings 10: document contract dependencies for P256 verifiers by @hazim-j in #30
  • Findings 15: use native slicing in registerNode by @hazim-j in #31
  • Findings 17: add comment to address intentional missing short-circuit by @hazim-j in #32
  • Findings 20: change input to nodeHash in getRegisteredNode() by @hazim-j in #33
  • Findings 21: define a constant for node verifier length by @hazim-j in #34
  • Findings 23: remove unnecessary conditional in _unpackNode() by @hazim-j in #35
  • Findings 24: rename _validateNode to _fetchOrValidateNode by @hazim-j in #36
  • Findings 25: use named params for nested mappings by @hazim-j in #37
  • Findings 27: inherit TokenCallbackHandler to store ERC721 and ERC1155 tokens by @hazim-j in #38
  • Findings 32: update spec Actions and root hash storage sections by @hazim-j in #39
  • Findings 33: document address collision edge case with same refHash by @hazim-j in #40
  • Findings 35: document expected verifier data and config inputs by @hazim-j in #41
  • Findings 14: enforce minimum multi-sig threshold of 1 by @hazim-j in #42
  • Findings 28: add dev note on expected invalid sig revert by @hazim-j in #43
  • Findings 29: revert if more than max uint8 owners by @hazim-j in #44
  • Findings 30: revert if more than max uint8 signatures by @hazim-j in #45
  • Findings 19: enforce unique owner set by @hazim-j in #46
  • Findings 19: enforce number of owners to be >= threshold by @hazim-j in #47
  • Findings 37: defensive rehashing scheme with ERC-7739 by @hazim-j in #48
  • Findings 40: switch to ERC-1167 minimal proxies by @hazim-j in #49
  • Findings 38: add useChainId flag by @hazim-j in #50
  • Findings 8: document handleUpdates revert scenarios by @hazim-j in #51
  • Findings 9: add nonReentrant modfier to handleUpdates by @hazim-j in #52
  • Findings 26: document signature replayability for verifiers by @hazim-j in #53
  • Findings 36: minimal script for generating and verifying ucmt by @hazim-j in #54
  • Findings 41: consider process for adding new verifiers by @hazim-j in #55
  • Findings 11: document fragmentation cases by @hazim-j in #56
  • Findings 13: add next root hash validation by @hazim-j in #57
  • Update counterfactual addresses by @hazim-j in #58
  • V1 mainnet contract deployments by @hazim-j in #59
  • Spearbit audit by @hazim-j in #23

New Contributors

Full Changelog: https://github.com/stackup-wallet/keystore/commits/v1.0