gitextract_1y31azvd/ ├── .eslintignore ├── .eslintrc.js ├── .gitattributes ├── .github/ │ ├── actions/ │ │ └── install-dependencies/ │ │ └── action.yml │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .gitmodules ├── .husky/ │ └── pre-commit ├── .prettierrc ├── .solcover.js ├── .solhint.json ├── LICENSE ├── README.md ├── audits/ │ └── v1/ │ └── Consensys_Diligence.md ├── config/ │ └── PROD.env.sample ├── contracts/ │ ├── Factory.sol │ ├── Wallet.sol │ ├── hooks/ │ │ ├── WalletProxyHook.sol │ │ └── interfaces/ │ │ └── IWalletProxy.sol │ ├── interfaces/ │ │ ├── IERC1271Wallet.sol │ │ ├── receivers/ │ │ │ ├── IERC1155Receiver.sol │ │ │ ├── IERC223Receiver.sol │ │ │ ├── IERC721Receiver.sol │ │ │ └── IERC777Receiver.sol │ │ └── tokens/ │ │ ├── IERC1155.sol │ │ ├── IERC20.sol │ │ └── IERC721.sol │ ├── mocks/ │ │ ├── AlwaysRevertMock.sol │ │ ├── CallReceiverMock.sol │ │ ├── DelegateCallMock.sol │ │ ├── ERC1155Mock.sol │ │ ├── ERC165CheckerMock.sol │ │ ├── ERC20Mock.sol │ │ ├── ERC721Mock.sol │ │ ├── GasBurnerMock.sol │ │ ├── HookCallerMock.sol │ │ ├── HookMock.sol │ │ ├── LibBytesImpl.sol │ │ ├── LibBytesPointerImpl.sol │ │ ├── LibStringImp.sol │ │ └── ModuleMock.sol │ ├── modules/ │ │ ├── GuestModule.sol │ │ ├── MainModule.sol │ │ ├── MainModuleGasEstimation.sol │ │ ├── MainModuleUpgradable.sol │ │ ├── commons/ │ │ │ ├── Implementation.sol │ │ │ ├── ModuleAuth.sol │ │ │ ├── ModuleAuthConvenience.sol │ │ │ ├── ModuleAuthFixed.sol │ │ │ ├── ModuleAuthUpgradable.sol │ │ │ ├── ModuleCalls.sol │ │ │ ├── ModuleCreator.sol │ │ │ ├── ModuleERC165.sol │ │ │ ├── ModuleERC5719.sol │ │ │ ├── ModuleExtraAuth.sol │ │ │ ├── ModuleHooks.sol │ │ │ ├── ModuleIPFS.sol │ │ │ ├── ModuleNonce.sol │ │ │ ├── ModuleOnlyDelegatecall.sol │ │ │ ├── ModuleSelfAuth.sol │ │ │ ├── ModuleStorage.sol │ │ │ ├── ModuleUpdate.sol │ │ │ ├── gas-estimation/ │ │ │ │ ├── ModuleIgnoreAuthUpgradable.sol │ │ │ │ └── ModuleIgnoreNonceCalls.sol │ │ │ ├── interfaces/ │ │ │ │ ├── IModuleAuth.sol │ │ │ │ ├── IModuleAuthUpgradable.sol │ │ │ │ ├── IModuleCalls.sol │ │ │ │ ├── IModuleCreator.sol │ │ │ │ ├── IModuleHooks.sol │ │ │ │ └── IModuleUpdate.sol │ │ │ └── submodules/ │ │ │ ├── auth/ │ │ │ │ ├── SequenceBaseSig.sol │ │ │ │ ├── SequenceChainedSig.sol │ │ │ │ ├── SequenceDynamicSig.sol │ │ │ │ └── SequenceNoChainIdSig.sol │ │ │ └── nonce/ │ │ │ └── SubModuleNonce.sol │ │ └── utils/ │ │ ├── GasEstimator.sol │ │ ├── MultiCallUtils.sol │ │ ├── RequireUtils.sol │ │ └── SequenceUtils.sol │ ├── trust/ │ │ ├── Trust.sol │ │ └── TrustFactory.sol │ └── utils/ │ ├── LibAddress.sol │ ├── LibBytes.sol │ ├── LibBytesPointer.sol │ ├── LibOptim.sol │ ├── LibString.sol │ └── SignatureValidator.sol ├── foundry.toml ├── foundry_test/ │ ├── base/ │ │ └── AdvTest.sol │ ├── hooks/ │ │ └── WalletProxyHook.t.sol │ ├── modules/ │ │ ├── commons/ │ │ │ ├── Implementation.t.sol │ │ │ ├── ModuleCalls.t.sol │ │ │ ├── ModuleERC5719.t.sol │ │ │ ├── ModuleExtraAuth.t.sol │ │ │ ├── ModuleIPFS.t.sol │ │ │ ├── ModuleStorage.t.sol │ │ │ └── submodules/ │ │ │ ├── auth/ │ │ │ │ ├── SequenceBaseSig.t.sol │ │ │ │ ├── SequenceChainedSig.t.sol │ │ │ │ ├── SequenceDynamicSig.t.sol │ │ │ │ └── SequenceNoChainIdSig.t.sol │ │ │ └── nonce/ │ │ │ └── SubModuleNonce.t.sol │ │ └── utils/ │ │ ├── L2CompressorEncoder.sol │ │ ├── L2CompressorHuff.t.sol │ │ ├── L2CompressorHuffReadExecute.sol │ │ ├── L2CompressorHuffReadFlag.t.sol │ │ ├── L2CompressorHuffReadNonce.sol │ │ ├── L2CompressorHuffReadTx.t.sol │ │ ├── L2CompressorHuffReadTxs.t.sol │ │ └── RequireUtils.t.sol │ ├── trust/ │ │ ├── Trust.t.sol │ │ └── TrustFactory.t.sol │ └── utils/ │ ├── LibAddress.t.sol │ ├── LibBytes.t.sol │ ├── LibBytesPointer.t.sol │ ├── LibOptim.t.sol │ └── SignatureValidator.t.sol ├── funding.json ├── hardhat.config.ts ├── networks/ │ ├── arbitrum.json │ ├── arbitrumGoerli.json │ ├── arbitrumNova.json │ ├── avalanche.json │ ├── avalancheFuji.json │ ├── bnb.json │ ├── bnbTestnet.json │ ├── gnosis.json │ ├── goerli.json │ ├── hardhat.json │ ├── mainnet.json │ ├── mumbai.json │ ├── optimism.json │ ├── polygon.json │ └── polygonZkevm.json ├── package.json ├── remappings.txt ├── run_huff_tests.sh ├── src/ │ ├── Errors.huff │ ├── L2Compressor.huff │ ├── L2CompressorLib.huff │ └── imps/ │ ├── L2CompressorImps.huff │ ├── L2CompressorReadExecute.huff │ ├── L2CompressorReadFlag.huff │ ├── L2CompressorReadNonce.huff │ ├── L2CompressorReadTx.huff │ └── L2CompressorReadTxs.huff ├── test/ │ ├── ChainedSignatures.spec.ts │ ├── ERC165.spec.ts │ ├── Factory.spec.ts │ ├── GasEstimation.spec.ts │ ├── GuestModule.spec.ts │ ├── LibBytes.spec.ts │ ├── LibString.spec.ts │ ├── MainModule.bench.ts │ ├── MainModule.spec.ts │ ├── MerkleSignatures.spec.ts │ ├── MultiCallUtils.spec.ts │ └── utils/ │ ├── contracts.ts │ ├── imposter.ts │ ├── index.ts │ ├── sequence.ts │ └── wallet.ts ├── tsconfig.json ├── typings/ │ ├── chai-bignumber.d.ts │ ├── chai-bn.ts │ └── truffle.d.ts └── utils/ ├── benchmarker.ts ├── config-loader.ts ├── deploy-contracts.ts └── workers/ └── bench-worker.ts