├── 01-defender-meta-txs ├── .gitignore ├── README.md ├── app │ ├── .env │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ ├── src │ │ ├── components │ │ │ ├── App.css │ │ │ ├── App.js │ │ │ ├── Register.css │ │ │ ├── Register.js │ │ │ ├── Registrations.css │ │ │ └── Registrations.js │ │ ├── deploy.json │ │ ├── eth │ │ │ ├── context.js │ │ │ ├── forwarder.js │ │ │ ├── provider.js │ │ │ ├── register.js │ │ │ ├── registry.js │ │ │ └── signer.js │ │ ├── index.css │ │ └── index.js │ └── yarn.lock ├── autotasks │ └── relay │ │ └── index.js ├── contracts │ ├── Registry.sol │ └── SimpleRegistry.sol ├── deploy.json ├── hardhat.config.js ├── package.json ├── rollup.config.js ├── scripts │ ├── deploy.js │ ├── events.js │ ├── invoke.sh │ ├── relay.js │ ├── sign.js │ ├── upload.js │ └── verify.js ├── slides │ └── 20210211 - Defender meta-txs workshop.pdf ├── src │ ├── forwarder.js │ └── signer.js ├── test │ ├── contracts │ │ ├── Registry.test.js │ │ └── SimpleRegistry.test.js │ └── src │ │ └── relay.test.js └── yarn.lock ├── 02-contracts-clone ├── .gitignore ├── README.md ├── contracts │ ├── 1-ERC20 │ │ ├── FactoryClone.sol │ │ ├── FactoryNaive.sol │ │ └── FactoryProxy.sol │ ├── 2-uniswap │ │ ├── UniswapV2FactoryClones.sol │ │ ├── UniswapV2PairClones.sol │ │ └── import.sol │ └── 3-argent │ │ ├── WalletFactoryClones.sol │ │ ├── import_0.5.sol │ │ └── import_0.6.sol ├── hardhat.config.js ├── package-lock.json ├── package.json ├── slides │ └── 20210227 - Contracts clones workshop.pdf ├── test │ ├── 1-ERC20.test.js │ ├── 2-Uniswap.test.js │ └── 3-Argent.test.js └── yarn.lock ├── 03-defender-service-monitoring ├── README.md ├── code │ ├── greeting-example │ │ ├── Greeter.sol │ │ └── autotask-pause-greeter.js │ └── yearn-example │ │ └── autotask-loss-detector.js └── slides │ └── 20210311 - Service Monitoring and Emergency Response Workshop.pdf ├── 04-roles └── slides.pdf ├── 05-upgrades-management ├── code │ ├── .gitignore │ ├── README.md │ ├── contracts │ │ ├── Box.sol │ │ ├── BoxV2.sol │ │ ├── BoxV3.sol │ │ └── Greeter.sol │ ├── hardhat.config.js │ ├── package-lock.json │ ├── package.json │ ├── scripts │ │ ├── deploy.js │ │ ├── propose-upgrade.js │ │ ├── sample-script.js │ │ ├── transfer-ownership.js │ │ └── upgrade.js │ └── test │ │ └── sample-test.js └── slides │ └── Upgrades workshop.pdf ├── 06-nft-merkle-drop ├── .gitignore ├── contracts │ ├── ERC721Basic.sol │ ├── ERC721LazyMint.sol │ ├── ERC721LazyMintWith712.sol │ ├── ERC721LazyMintWith712SignatureChecker.sol │ ├── ERC721MerkleDrop.sol │ └── SmartWallet.sol ├── hardhat.config.js ├── package-lock.json ├── package.json ├── scripts │ ├── 1-deploy.js │ ├── 2-sign.js │ ├── 3-redeem.js │ └── commands.sh ├── slides │ └── 20210506 - Lazy minting workshop.pdf ├── test │ ├── 0-ERC721Mint.test.js │ ├── 1-ERC721LazyMint.test.js │ ├── 2-ERC721LazyMintWith712.test.js │ ├── 3-ERC721LazyMintWith712Signature.test.js │ ├── 4-ERC721MerkleDrop.test.js │ └── tokens.json └── yarn.lock ├── 07-automate-workflows ├── .gitignore ├── abi │ └── NFT.json ├── bin │ └── local.js ├── package.json ├── slides │ └── Automating Smart Contract Workflows.pdf ├── src │ └── index.js └── yarn.lock ├── 08-uups-proxies ├── .gitignore ├── contracts │ └── Mars.sol ├── hardhat.config.ts ├── package-lock.json ├── package.json ├── slides.pdf ├── test │ └── Mars.test.ts └── tsconfig.json ├── 09-chainlink-defender └── slides.pdf ├── 10-pooltogether-defender └── Slides.pdf ├── 11-dangers-token-integration └── slides.pdf ├── 12-subgraphs ├── .gitignore ├── package-lock.json ├── package.json ├── sample.json ├── slides.pdf ├── subgraph.ens.yaml ├── subgraph.poap.yaml └── subgraph.stonercats.yaml ├── 13-secure-development-and-ops ├── .gitignore ├── .openzeppelin │ └── unknown-1287.json ├── autotasks │ └── mint.js ├── contracts │ └── Token.sol ├── hardhat.config.js ├── package.json ├── scripts │ ├── deploy.js │ ├── get-version.js │ └── upgrade.js ├── sentinels │ └── transfers.txt ├── slides.pdf └── yarn.lock ├── 14-strategies-secure-access-controls └── slides.pdf ├── 15-timelock-defender └── slides.pdf ├── 16-dangers-price-oracles-smart-contracts └── slides.pdf ├── 17-on-chain-governance └── slides.pdf ├── 18-strategies-secure-governance └── slides.pdf ├── 19-security-upgrades-smart-contracts └── slides.pdf ├── 20-community-call-1 └── 2021-11-08 - Community Call #1.pdf ├── 21-ens-governor └── slides.pdf ├── 22-onward-smart-contract-security └── slides.pdf ├── 23-community-call-2 └── 2022-01-18 - Community Call #2.pdf ├── 24-defender-relayer-civtrade-order-book └── Defender - CivTrade Workshop.pdf ├── 25-defender-metatx-api ├── .DS_Store ├── .gitignore ├── README.md ├── app │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ ├── src │ │ ├── components │ │ │ ├── App.css │ │ │ ├── App.js │ │ │ ├── Register.css │ │ │ ├── Register.js │ │ │ ├── Registrations.css │ │ │ └── Registrations.js │ │ ├── deploy.json │ │ ├── eth │ │ │ ├── context.js │ │ │ ├── forwarder.js │ │ │ ├── provider.js │ │ │ ├── register.js │ │ │ ├── registry.js │ │ │ └── signer.js │ │ ├── index.css │ │ └── index.js │ └── yarn.lock ├── autotasks │ └── relay │ │ └── index.js ├── contracts │ ├── Registry.sol │ └── SimpleRegistry.sol ├── deploy.json ├── hardhat.config.js ├── package-lock.json ├── package.json ├── rollup.config.js ├── scripts │ ├── createAutotask.js │ ├── createRelay.js │ ├── deploy.js │ ├── events.js │ ├── invoke.sh │ ├── relay.js │ ├── sign.js │ ├── upload.js │ └── verify.js ├── src │ ├── forwarder.js │ └── signer.js ├── test │ ├── contracts │ │ ├── Registry.test.js │ │ └── SimpleRegistry.test.js │ └── src │ │ └── relay.test.js └── yarn.lock └── README.md /01-defender-meta-txs/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | artifacts 3 | cache 4 | deploy.*.json 5 | /.env 6 | tmp 7 | build 8 | -------------------------------------------------------------------------------- /01-defender-meta-txs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/README.md -------------------------------------------------------------------------------- /01-defender-meta-txs/app/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/.env -------------------------------------------------------------------------------- /01-defender-meta-txs/app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/.gitignore -------------------------------------------------------------------------------- /01-defender-meta-txs/app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/README.md -------------------------------------------------------------------------------- /01-defender-meta-txs/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/package.json -------------------------------------------------------------------------------- /01-defender-meta-txs/app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/public/favicon.ico -------------------------------------------------------------------------------- /01-defender-meta-txs/app/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/public/index.html -------------------------------------------------------------------------------- /01-defender-meta-txs/app/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/public/logo192.png -------------------------------------------------------------------------------- /01-defender-meta-txs/app/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/public/logo512.png -------------------------------------------------------------------------------- /01-defender-meta-txs/app/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/public/manifest.json -------------------------------------------------------------------------------- /01-defender-meta-txs/app/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/public/robots.txt -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/components/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/components/App.css -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/components/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/components/App.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/components/Register.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/components/Register.css -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/components/Register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/components/Register.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/components/Registrations.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/components/Registrations.css -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/components/Registrations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/components/Registrations.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/deploy.json: -------------------------------------------------------------------------------- 1 | ../../deploy.json -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/eth/context.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/eth/context.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/eth/forwarder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/eth/forwarder.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/eth/provider.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/eth/provider.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/eth/register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/eth/register.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/eth/registry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/eth/registry.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/eth/signer.js: -------------------------------------------------------------------------------- 1 | ../../../src/signer.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/index.css -------------------------------------------------------------------------------- /01-defender-meta-txs/app/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/src/index.js -------------------------------------------------------------------------------- /01-defender-meta-txs/app/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/app/yarn.lock -------------------------------------------------------------------------------- /01-defender-meta-txs/autotasks/relay/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/autotasks/relay/index.js -------------------------------------------------------------------------------- /01-defender-meta-txs/contracts/Registry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/contracts/Registry.sol -------------------------------------------------------------------------------- /01-defender-meta-txs/contracts/SimpleRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/contracts/SimpleRegistry.sol -------------------------------------------------------------------------------- /01-defender-meta-txs/deploy.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/deploy.json -------------------------------------------------------------------------------- /01-defender-meta-txs/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/hardhat.config.js -------------------------------------------------------------------------------- /01-defender-meta-txs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/package.json -------------------------------------------------------------------------------- /01-defender-meta-txs/rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/rollup.config.js -------------------------------------------------------------------------------- /01-defender-meta-txs/scripts/deploy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/scripts/deploy.js -------------------------------------------------------------------------------- /01-defender-meta-txs/scripts/events.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/scripts/events.js -------------------------------------------------------------------------------- /01-defender-meta-txs/scripts/invoke.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/scripts/invoke.sh -------------------------------------------------------------------------------- /01-defender-meta-txs/scripts/relay.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/scripts/relay.js -------------------------------------------------------------------------------- /01-defender-meta-txs/scripts/sign.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/scripts/sign.js -------------------------------------------------------------------------------- /01-defender-meta-txs/scripts/upload.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/scripts/upload.js -------------------------------------------------------------------------------- /01-defender-meta-txs/scripts/verify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/scripts/verify.js -------------------------------------------------------------------------------- /01-defender-meta-txs/slides/20210211 - Defender meta-txs workshop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/slides/20210211 - Defender meta-txs workshop.pdf -------------------------------------------------------------------------------- /01-defender-meta-txs/src/forwarder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/src/forwarder.js -------------------------------------------------------------------------------- /01-defender-meta-txs/src/signer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/src/signer.js -------------------------------------------------------------------------------- /01-defender-meta-txs/test/contracts/Registry.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/test/contracts/Registry.test.js -------------------------------------------------------------------------------- /01-defender-meta-txs/test/contracts/SimpleRegistry.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/test/contracts/SimpleRegistry.test.js -------------------------------------------------------------------------------- /01-defender-meta-txs/test/src/relay.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/test/src/relay.test.js -------------------------------------------------------------------------------- /01-defender-meta-txs/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/01-defender-meta-txs/yarn.lock -------------------------------------------------------------------------------- /02-contracts-clone/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | artifacts 3 | cache 4 | deploy.*.json 5 | /.env 6 | tmp 7 | build 8 | -------------------------------------------------------------------------------- /02-contracts-clone/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/README.md -------------------------------------------------------------------------------- /02-contracts-clone/contracts/1-ERC20/FactoryClone.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/1-ERC20/FactoryClone.sol -------------------------------------------------------------------------------- /02-contracts-clone/contracts/1-ERC20/FactoryNaive.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/1-ERC20/FactoryNaive.sol -------------------------------------------------------------------------------- /02-contracts-clone/contracts/1-ERC20/FactoryProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/1-ERC20/FactoryProxy.sol -------------------------------------------------------------------------------- /02-contracts-clone/contracts/2-uniswap/UniswapV2FactoryClones.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/2-uniswap/UniswapV2FactoryClones.sol -------------------------------------------------------------------------------- /02-contracts-clone/contracts/2-uniswap/UniswapV2PairClones.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/2-uniswap/UniswapV2PairClones.sol -------------------------------------------------------------------------------- /02-contracts-clone/contracts/2-uniswap/import.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/2-uniswap/import.sol -------------------------------------------------------------------------------- /02-contracts-clone/contracts/3-argent/WalletFactoryClones.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/3-argent/WalletFactoryClones.sol -------------------------------------------------------------------------------- /02-contracts-clone/contracts/3-argent/import_0.5.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/3-argent/import_0.5.sol -------------------------------------------------------------------------------- /02-contracts-clone/contracts/3-argent/import_0.6.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/contracts/3-argent/import_0.6.sol -------------------------------------------------------------------------------- /02-contracts-clone/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/hardhat.config.js -------------------------------------------------------------------------------- /02-contracts-clone/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/package-lock.json -------------------------------------------------------------------------------- /02-contracts-clone/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/package.json -------------------------------------------------------------------------------- /02-contracts-clone/slides/20210227 - Contracts clones workshop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/slides/20210227 - Contracts clones workshop.pdf -------------------------------------------------------------------------------- /02-contracts-clone/test/1-ERC20.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/test/1-ERC20.test.js -------------------------------------------------------------------------------- /02-contracts-clone/test/2-Uniswap.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/test/2-Uniswap.test.js -------------------------------------------------------------------------------- /02-contracts-clone/test/3-Argent.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/test/3-Argent.test.js -------------------------------------------------------------------------------- /02-contracts-clone/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/02-contracts-clone/yarn.lock -------------------------------------------------------------------------------- /03-defender-service-monitoring/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/03-defender-service-monitoring/README.md -------------------------------------------------------------------------------- /03-defender-service-monitoring/code/greeting-example/Greeter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/03-defender-service-monitoring/code/greeting-example/Greeter.sol -------------------------------------------------------------------------------- /03-defender-service-monitoring/code/greeting-example/autotask-pause-greeter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/03-defender-service-monitoring/code/greeting-example/autotask-pause-greeter.js -------------------------------------------------------------------------------- /03-defender-service-monitoring/code/yearn-example/autotask-loss-detector.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/03-defender-service-monitoring/code/yearn-example/autotask-loss-detector.js -------------------------------------------------------------------------------- /03-defender-service-monitoring/slides/20210311 - Service Monitoring and Emergency Response Workshop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/03-defender-service-monitoring/slides/20210311 - Service Monitoring and Emergency Response Workshop.pdf -------------------------------------------------------------------------------- /04-roles/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/04-roles/slides.pdf -------------------------------------------------------------------------------- /05-upgrades-management/code/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | 4 | #Hardhat files 5 | cache 6 | artifacts 7 | -------------------------------------------------------------------------------- /05-upgrades-management/code/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/README.md -------------------------------------------------------------------------------- /05-upgrades-management/code/contracts/Box.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/contracts/Box.sol -------------------------------------------------------------------------------- /05-upgrades-management/code/contracts/BoxV2.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/contracts/BoxV2.sol -------------------------------------------------------------------------------- /05-upgrades-management/code/contracts/BoxV3.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/contracts/BoxV3.sol -------------------------------------------------------------------------------- /05-upgrades-management/code/contracts/Greeter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/contracts/Greeter.sol -------------------------------------------------------------------------------- /05-upgrades-management/code/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/hardhat.config.js -------------------------------------------------------------------------------- /05-upgrades-management/code/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/package-lock.json -------------------------------------------------------------------------------- /05-upgrades-management/code/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/package.json -------------------------------------------------------------------------------- /05-upgrades-management/code/scripts/deploy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/scripts/deploy.js -------------------------------------------------------------------------------- /05-upgrades-management/code/scripts/propose-upgrade.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/scripts/propose-upgrade.js -------------------------------------------------------------------------------- /05-upgrades-management/code/scripts/sample-script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/scripts/sample-script.js -------------------------------------------------------------------------------- /05-upgrades-management/code/scripts/transfer-ownership.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/scripts/transfer-ownership.js -------------------------------------------------------------------------------- /05-upgrades-management/code/scripts/upgrade.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/scripts/upgrade.js -------------------------------------------------------------------------------- /05-upgrades-management/code/test/sample-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/code/test/sample-test.js -------------------------------------------------------------------------------- /05-upgrades-management/slides/Upgrades workshop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/05-upgrades-management/slides/Upgrades workshop.pdf -------------------------------------------------------------------------------- /06-nft-merkle-drop/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | artifacts 3 | cache 4 | deploy.*.json 5 | /.env 6 | tmp 7 | build 8 | -------------------------------------------------------------------------------- /06-nft-merkle-drop/contracts/ERC721Basic.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/contracts/ERC721Basic.sol -------------------------------------------------------------------------------- /06-nft-merkle-drop/contracts/ERC721LazyMint.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/contracts/ERC721LazyMint.sol -------------------------------------------------------------------------------- /06-nft-merkle-drop/contracts/ERC721LazyMintWith712.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/contracts/ERC721LazyMintWith712.sol -------------------------------------------------------------------------------- /06-nft-merkle-drop/contracts/ERC721LazyMintWith712SignatureChecker.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/contracts/ERC721LazyMintWith712SignatureChecker.sol -------------------------------------------------------------------------------- /06-nft-merkle-drop/contracts/ERC721MerkleDrop.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/contracts/ERC721MerkleDrop.sol -------------------------------------------------------------------------------- /06-nft-merkle-drop/contracts/SmartWallet.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/contracts/SmartWallet.sol -------------------------------------------------------------------------------- /06-nft-merkle-drop/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/hardhat.config.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/package-lock.json -------------------------------------------------------------------------------- /06-nft-merkle-drop/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/package.json -------------------------------------------------------------------------------- /06-nft-merkle-drop/scripts/1-deploy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/scripts/1-deploy.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/scripts/2-sign.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/scripts/2-sign.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/scripts/3-redeem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/scripts/3-redeem.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/scripts/commands.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/scripts/commands.sh -------------------------------------------------------------------------------- /06-nft-merkle-drop/slides/20210506 - Lazy minting workshop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/slides/20210506 - Lazy minting workshop.pdf -------------------------------------------------------------------------------- /06-nft-merkle-drop/test/0-ERC721Mint.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/test/0-ERC721Mint.test.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/test/1-ERC721LazyMint.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/test/1-ERC721LazyMint.test.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/test/2-ERC721LazyMintWith712.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/test/2-ERC721LazyMintWith712.test.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/test/3-ERC721LazyMintWith712Signature.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/test/3-ERC721LazyMintWith712Signature.test.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/test/4-ERC721MerkleDrop.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/test/4-ERC721MerkleDrop.test.js -------------------------------------------------------------------------------- /06-nft-merkle-drop/test/tokens.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/test/tokens.json -------------------------------------------------------------------------------- /06-nft-merkle-drop/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/06-nft-merkle-drop/yarn.lock -------------------------------------------------------------------------------- /07-automate-workflows/.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | /node_modules 3 | -------------------------------------------------------------------------------- /07-automate-workflows/abi/NFT.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/07-automate-workflows/abi/NFT.json -------------------------------------------------------------------------------- /07-automate-workflows/bin/local.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/07-automate-workflows/bin/local.js -------------------------------------------------------------------------------- /07-automate-workflows/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/07-automate-workflows/package.json -------------------------------------------------------------------------------- /07-automate-workflows/slides/Automating Smart Contract Workflows.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/07-automate-workflows/slides/Automating Smart Contract Workflows.pdf -------------------------------------------------------------------------------- /07-automate-workflows/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/07-automate-workflows/src/index.js -------------------------------------------------------------------------------- /07-automate-workflows/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/07-automate-workflows/yarn.lock -------------------------------------------------------------------------------- /08-uups-proxies/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | /artifacts 3 | /cache 4 | /.openzeppelin/unknown-31337.json 5 | -------------------------------------------------------------------------------- /08-uups-proxies/contracts/Mars.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/08-uups-proxies/contracts/Mars.sol -------------------------------------------------------------------------------- /08-uups-proxies/hardhat.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/08-uups-proxies/hardhat.config.ts -------------------------------------------------------------------------------- /08-uups-proxies/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/08-uups-proxies/package-lock.json -------------------------------------------------------------------------------- /08-uups-proxies/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/08-uups-proxies/package.json -------------------------------------------------------------------------------- /08-uups-proxies/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/08-uups-proxies/slides.pdf -------------------------------------------------------------------------------- /08-uups-proxies/test/Mars.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/08-uups-proxies/test/Mars.test.ts -------------------------------------------------------------------------------- /08-uups-proxies/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/08-uups-proxies/tsconfig.json -------------------------------------------------------------------------------- /09-chainlink-defender/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/09-chainlink-defender/slides.pdf -------------------------------------------------------------------------------- /10-pooltogether-defender/Slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/10-pooltogether-defender/Slides.pdf -------------------------------------------------------------------------------- /11-dangers-token-integration/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/11-dangers-token-integration/slides.pdf -------------------------------------------------------------------------------- /12-subgraphs/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | generated 3 | node_modules 4 | -------------------------------------------------------------------------------- /12-subgraphs/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/12-subgraphs/package-lock.json -------------------------------------------------------------------------------- /12-subgraphs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/12-subgraphs/package.json -------------------------------------------------------------------------------- /12-subgraphs/sample.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/12-subgraphs/sample.json -------------------------------------------------------------------------------- /12-subgraphs/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/12-subgraphs/slides.pdf -------------------------------------------------------------------------------- /12-subgraphs/subgraph.ens.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/12-subgraphs/subgraph.ens.yaml -------------------------------------------------------------------------------- /12-subgraphs/subgraph.poap.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/12-subgraphs/subgraph.poap.yaml -------------------------------------------------------------------------------- /12-subgraphs/subgraph.stonercats.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/12-subgraphs/subgraph.stonercats.yaml -------------------------------------------------------------------------------- /13-secure-development-and-ops/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/.gitignore -------------------------------------------------------------------------------- /13-secure-development-and-ops/.openzeppelin/unknown-1287.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/.openzeppelin/unknown-1287.json -------------------------------------------------------------------------------- /13-secure-development-and-ops/autotasks/mint.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/autotasks/mint.js -------------------------------------------------------------------------------- /13-secure-development-and-ops/contracts/Token.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/contracts/Token.sol -------------------------------------------------------------------------------- /13-secure-development-and-ops/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/hardhat.config.js -------------------------------------------------------------------------------- /13-secure-development-and-ops/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/package.json -------------------------------------------------------------------------------- /13-secure-development-and-ops/scripts/deploy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/scripts/deploy.js -------------------------------------------------------------------------------- /13-secure-development-and-ops/scripts/get-version.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/scripts/get-version.js -------------------------------------------------------------------------------- /13-secure-development-and-ops/scripts/upgrade.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/scripts/upgrade.js -------------------------------------------------------------------------------- /13-secure-development-and-ops/sentinels/transfers.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/sentinels/transfers.txt -------------------------------------------------------------------------------- /13-secure-development-and-ops/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/slides.pdf -------------------------------------------------------------------------------- /13-secure-development-and-ops/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/13-secure-development-and-ops/yarn.lock -------------------------------------------------------------------------------- /14-strategies-secure-access-controls/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/14-strategies-secure-access-controls/slides.pdf -------------------------------------------------------------------------------- /15-timelock-defender/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/15-timelock-defender/slides.pdf -------------------------------------------------------------------------------- /16-dangers-price-oracles-smart-contracts/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/16-dangers-price-oracles-smart-contracts/slides.pdf -------------------------------------------------------------------------------- /17-on-chain-governance/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/17-on-chain-governance/slides.pdf -------------------------------------------------------------------------------- /18-strategies-secure-governance/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/18-strategies-secure-governance/slides.pdf -------------------------------------------------------------------------------- /19-security-upgrades-smart-contracts/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/19-security-upgrades-smart-contracts/slides.pdf -------------------------------------------------------------------------------- /20-community-call-1/2021-11-08 - Community Call #1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/20-community-call-1/2021-11-08 - Community Call #1.pdf -------------------------------------------------------------------------------- /21-ens-governor/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/21-ens-governor/slides.pdf -------------------------------------------------------------------------------- /22-onward-smart-contract-security/slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/22-onward-smart-contract-security/slides.pdf -------------------------------------------------------------------------------- /23-community-call-2/2022-01-18 - Community Call #2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/23-community-call-2/2022-01-18 - Community Call #2.pdf -------------------------------------------------------------------------------- /24-defender-relayer-civtrade-order-book/Defender - CivTrade Workshop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/24-defender-relayer-civtrade-order-book/Defender - CivTrade Workshop.pdf -------------------------------------------------------------------------------- /25-defender-metatx-api/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/.DS_Store -------------------------------------------------------------------------------- /25-defender-metatx-api/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/.gitignore -------------------------------------------------------------------------------- /25-defender-metatx-api/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/README.md -------------------------------------------------------------------------------- /25-defender-metatx-api/app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/.gitignore -------------------------------------------------------------------------------- /25-defender-metatx-api/app/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/README.md -------------------------------------------------------------------------------- /25-defender-metatx-api/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/package.json -------------------------------------------------------------------------------- /25-defender-metatx-api/app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/public/favicon.ico -------------------------------------------------------------------------------- /25-defender-metatx-api/app/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/public/index.html -------------------------------------------------------------------------------- /25-defender-metatx-api/app/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/public/logo192.png -------------------------------------------------------------------------------- /25-defender-metatx-api/app/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/public/logo512.png -------------------------------------------------------------------------------- /25-defender-metatx-api/app/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/public/manifest.json -------------------------------------------------------------------------------- /25-defender-metatx-api/app/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/public/robots.txt -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/components/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/components/App.css -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/components/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/components/App.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/components/Register.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/components/Register.css -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/components/Register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/components/Register.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/components/Registrations.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/components/Registrations.css -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/components/Registrations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/components/Registrations.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/deploy.json: -------------------------------------------------------------------------------- 1 | ../../deploy.json -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/eth/context.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/eth/context.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/eth/forwarder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/eth/forwarder.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/eth/provider.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/eth/provider.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/eth/register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/eth/register.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/eth/registry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/eth/registry.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/eth/signer.js: -------------------------------------------------------------------------------- 1 | ../../../src/signer.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/index.css -------------------------------------------------------------------------------- /25-defender-metatx-api/app/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/src/index.js -------------------------------------------------------------------------------- /25-defender-metatx-api/app/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/app/yarn.lock -------------------------------------------------------------------------------- /25-defender-metatx-api/autotasks/relay/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/autotasks/relay/index.js -------------------------------------------------------------------------------- /25-defender-metatx-api/contracts/Registry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/contracts/Registry.sol -------------------------------------------------------------------------------- /25-defender-metatx-api/contracts/SimpleRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/contracts/SimpleRegistry.sol -------------------------------------------------------------------------------- /25-defender-metatx-api/deploy.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/deploy.json -------------------------------------------------------------------------------- /25-defender-metatx-api/hardhat.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/hardhat.config.js -------------------------------------------------------------------------------- /25-defender-metatx-api/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/package-lock.json -------------------------------------------------------------------------------- /25-defender-metatx-api/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/package.json -------------------------------------------------------------------------------- /25-defender-metatx-api/rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/rollup.config.js -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/createAutotask.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/createAutotask.js -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/createRelay.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/createRelay.js -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/deploy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/deploy.js -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/events.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/events.js -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/invoke.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/invoke.sh -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/relay.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/relay.js -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/sign.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/sign.js -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/upload.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/upload.js -------------------------------------------------------------------------------- /25-defender-metatx-api/scripts/verify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/scripts/verify.js -------------------------------------------------------------------------------- /25-defender-metatx-api/src/forwarder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/src/forwarder.js -------------------------------------------------------------------------------- /25-defender-metatx-api/src/signer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/src/signer.js -------------------------------------------------------------------------------- /25-defender-metatx-api/test/contracts/Registry.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/test/contracts/Registry.test.js -------------------------------------------------------------------------------- /25-defender-metatx-api/test/contracts/SimpleRegistry.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/test/contracts/SimpleRegistry.test.js -------------------------------------------------------------------------------- /25-defender-metatx-api/test/src/relay.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/test/src/relay.test.js -------------------------------------------------------------------------------- /25-defender-metatx-api/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/25-defender-metatx-api/yarn.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faytey/workshops/HEAD/README.md --------------------------------------------------------------------------------