├── .circleci └── config.yml ├── .gitignore ├── README.md ├── example ├── README.md ├── generateSeed.ts ├── gnosis │ └── echo.ts └── proxyaccount │ └── echo.ts ├── gnosisSafe.md ├── package.json ├── pnpm-lock.yaml ├── proxyAccounts.md ├── publish.sh ├── src ├── contracts │ ├── account │ │ ├── BitFlipNonceStore.sol │ │ ├── CallTypes.sol │ │ ├── IReplayProtectionAuthority.sol │ │ ├── MsgSender.sol │ │ ├── ProxyAccountDeployer.sol │ │ ├── RelayHub.sol │ │ ├── ReplayProtection.sol │ │ └── RevertMessage.sol │ └── ops │ │ ├── BatchInternal.sol │ │ ├── CallWrapper.sol │ │ ├── Counter.sol │ │ ├── DelegateDeployer.sol │ │ ├── Echo.sol │ │ ├── MsgSenderExample.sol │ │ ├── MultiSend.sol │ │ ├── ReplayProtectionWrapper.sol │ │ └── RevertMessageTester.sol ├── deployment │ ├── addresses.ts │ ├── deploy.ts │ ├── deployScript.ts │ └── deployer.ts ├── gnosisTypedContracts │ ├── GnosisProxy.d.ts │ ├── GnosisProxy.json │ ├── GnosisProxyFactory.ts │ ├── GnosisSafe.d.ts │ ├── GnosisSafe.json │ ├── GnosisSafeFactory.ts │ ├── ProxyFactory.d.ts │ ├── ProxyFactory.json │ ├── ProxyFactoryFactory.ts │ └── index.d.ts ├── index.ts ├── ts │ ├── batch │ │ └── multiSend.ts │ ├── forwarders │ │ ├── forwarder.ts │ │ ├── forwarderFactory.ts │ │ ├── gnosisSafeForwarder.ts │ │ ├── proxyAccountForwarderFactory.ts │ │ ├── proxyAccountFowarder.ts │ │ ├── relayHubForwarder.ts │ │ ├── relayHubForwarderFactory.ts │ │ └── walletForwarder.ts │ └── replayProtection │ │ ├── bitFlip.ts │ │ ├── gnosisNonce.ts │ │ ├── multiNonce.ts │ │ └── replayProtectionAuthority.ts └── typedContracts.ts ├── test ├── contracts │ ├── DelegateDeployer.test.ts │ ├── address.test.ts │ ├── bitFlipNonceStore.test.ts │ ├── gnosisSafe.test.ts │ ├── multiSend.test.ts │ ├── proxyAccountDeployer.test.ts │ ├── relayHub.test.ts │ ├── replayprotection.test.ts │ └── revertMessage.test.ts ├── ts │ ├── bitFlip.test.ts │ ├── endToEndLibraryToContract.test.ts │ ├── forwarderFactory.test.ts │ ├── gasCosts.test.ts │ ├── gnosisSafeForwarder.test.ts │ ├── multiNonce.test.ts │ ├── proxyAccountForwarder.test.ts │ └── relayHubForwarder.test.ts └── utils │ └── test-utils.ts ├── tsconfig.json └── waffle.json /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/README.md -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/example/README.md -------------------------------------------------------------------------------- /example/generateSeed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/example/generateSeed.ts -------------------------------------------------------------------------------- /example/gnosis/echo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/example/gnosis/echo.ts -------------------------------------------------------------------------------- /example/proxyaccount/echo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/example/proxyaccount/echo.ts -------------------------------------------------------------------------------- /gnosisSafe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/gnosisSafe.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /proxyAccounts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/proxyAccounts.md -------------------------------------------------------------------------------- /publish.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/publish.sh -------------------------------------------------------------------------------- /src/contracts/account/BitFlipNonceStore.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/account/BitFlipNonceStore.sol -------------------------------------------------------------------------------- /src/contracts/account/CallTypes.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/account/CallTypes.sol -------------------------------------------------------------------------------- /src/contracts/account/IReplayProtectionAuthority.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/account/IReplayProtectionAuthority.sol -------------------------------------------------------------------------------- /src/contracts/account/MsgSender.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/account/MsgSender.sol -------------------------------------------------------------------------------- /src/contracts/account/ProxyAccountDeployer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/account/ProxyAccountDeployer.sol -------------------------------------------------------------------------------- /src/contracts/account/RelayHub.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/account/RelayHub.sol -------------------------------------------------------------------------------- /src/contracts/account/ReplayProtection.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/account/ReplayProtection.sol -------------------------------------------------------------------------------- /src/contracts/account/RevertMessage.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/account/RevertMessage.sol -------------------------------------------------------------------------------- /src/contracts/ops/BatchInternal.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/BatchInternal.sol -------------------------------------------------------------------------------- /src/contracts/ops/CallWrapper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/CallWrapper.sol -------------------------------------------------------------------------------- /src/contracts/ops/Counter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/Counter.sol -------------------------------------------------------------------------------- /src/contracts/ops/DelegateDeployer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/DelegateDeployer.sol -------------------------------------------------------------------------------- /src/contracts/ops/Echo.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/Echo.sol -------------------------------------------------------------------------------- /src/contracts/ops/MsgSenderExample.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/MsgSenderExample.sol -------------------------------------------------------------------------------- /src/contracts/ops/MultiSend.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/MultiSend.sol -------------------------------------------------------------------------------- /src/contracts/ops/ReplayProtectionWrapper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/ReplayProtectionWrapper.sol -------------------------------------------------------------------------------- /src/contracts/ops/RevertMessageTester.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/contracts/ops/RevertMessageTester.sol -------------------------------------------------------------------------------- /src/deployment/addresses.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/deployment/addresses.ts -------------------------------------------------------------------------------- /src/deployment/deploy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/deployment/deploy.ts -------------------------------------------------------------------------------- /src/deployment/deployScript.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/deployment/deployScript.ts -------------------------------------------------------------------------------- /src/deployment/deployer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/deployment/deployer.ts -------------------------------------------------------------------------------- /src/gnosisTypedContracts/GnosisProxy.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/GnosisProxy.d.ts -------------------------------------------------------------------------------- /src/gnosisTypedContracts/GnosisProxy.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/GnosisProxy.json -------------------------------------------------------------------------------- /src/gnosisTypedContracts/GnosisProxyFactory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/GnosisProxyFactory.ts -------------------------------------------------------------------------------- /src/gnosisTypedContracts/GnosisSafe.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/GnosisSafe.d.ts -------------------------------------------------------------------------------- /src/gnosisTypedContracts/GnosisSafe.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/GnosisSafe.json -------------------------------------------------------------------------------- /src/gnosisTypedContracts/GnosisSafeFactory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/GnosisSafeFactory.ts -------------------------------------------------------------------------------- /src/gnosisTypedContracts/ProxyFactory.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/ProxyFactory.d.ts -------------------------------------------------------------------------------- /src/gnosisTypedContracts/ProxyFactory.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/ProxyFactory.json -------------------------------------------------------------------------------- /src/gnosisTypedContracts/ProxyFactoryFactory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/ProxyFactoryFactory.ts -------------------------------------------------------------------------------- /src/gnosisTypedContracts/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/gnosisTypedContracts/index.d.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/ts/batch/multiSend.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/batch/multiSend.ts -------------------------------------------------------------------------------- /src/ts/forwarders/forwarder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/forwarders/forwarder.ts -------------------------------------------------------------------------------- /src/ts/forwarders/forwarderFactory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/forwarders/forwarderFactory.ts -------------------------------------------------------------------------------- /src/ts/forwarders/gnosisSafeForwarder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/forwarders/gnosisSafeForwarder.ts -------------------------------------------------------------------------------- /src/ts/forwarders/proxyAccountForwarderFactory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/forwarders/proxyAccountForwarderFactory.ts -------------------------------------------------------------------------------- /src/ts/forwarders/proxyAccountFowarder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/forwarders/proxyAccountFowarder.ts -------------------------------------------------------------------------------- /src/ts/forwarders/relayHubForwarder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/forwarders/relayHubForwarder.ts -------------------------------------------------------------------------------- /src/ts/forwarders/relayHubForwarderFactory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/forwarders/relayHubForwarderFactory.ts -------------------------------------------------------------------------------- /src/ts/forwarders/walletForwarder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/forwarders/walletForwarder.ts -------------------------------------------------------------------------------- /src/ts/replayProtection/bitFlip.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/replayProtection/bitFlip.ts -------------------------------------------------------------------------------- /src/ts/replayProtection/gnosisNonce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/replayProtection/gnosisNonce.ts -------------------------------------------------------------------------------- /src/ts/replayProtection/multiNonce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/replayProtection/multiNonce.ts -------------------------------------------------------------------------------- /src/ts/replayProtection/replayProtectionAuthority.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/ts/replayProtection/replayProtectionAuthority.ts -------------------------------------------------------------------------------- /src/typedContracts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/src/typedContracts.ts -------------------------------------------------------------------------------- /test/contracts/DelegateDeployer.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/DelegateDeployer.test.ts -------------------------------------------------------------------------------- /test/contracts/address.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/address.test.ts -------------------------------------------------------------------------------- /test/contracts/bitFlipNonceStore.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/bitFlipNonceStore.test.ts -------------------------------------------------------------------------------- /test/contracts/gnosisSafe.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/gnosisSafe.test.ts -------------------------------------------------------------------------------- /test/contracts/multiSend.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/multiSend.test.ts -------------------------------------------------------------------------------- /test/contracts/proxyAccountDeployer.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/proxyAccountDeployer.test.ts -------------------------------------------------------------------------------- /test/contracts/relayHub.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/relayHub.test.ts -------------------------------------------------------------------------------- /test/contracts/replayprotection.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/replayprotection.test.ts -------------------------------------------------------------------------------- /test/contracts/revertMessage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/contracts/revertMessage.test.ts -------------------------------------------------------------------------------- /test/ts/bitFlip.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/ts/bitFlip.test.ts -------------------------------------------------------------------------------- /test/ts/endToEndLibraryToContract.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/ts/endToEndLibraryToContract.test.ts -------------------------------------------------------------------------------- /test/ts/forwarderFactory.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/ts/forwarderFactory.test.ts -------------------------------------------------------------------------------- /test/ts/gasCosts.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/ts/gasCosts.test.ts -------------------------------------------------------------------------------- /test/ts/gnosisSafeForwarder.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/ts/gnosisSafeForwarder.test.ts -------------------------------------------------------------------------------- /test/ts/multiNonce.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/ts/multiNonce.test.ts -------------------------------------------------------------------------------- /test/ts/proxyAccountForwarder.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/ts/proxyAccountForwarder.test.ts -------------------------------------------------------------------------------- /test/ts/relayHubForwarder.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/ts/relayHubForwarder.test.ts -------------------------------------------------------------------------------- /test/utils/test-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/test/utils/test-utils.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/tsconfig.json -------------------------------------------------------------------------------- /waffle.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anydotcrypto/metatransactions/HEAD/waffle.json --------------------------------------------------------------------------------