ETHGlobal Lisbon 2023 Hackathon project
This Repository consist of three major parts:
- extension
- contains a chrome browser extension that manipulates the UI of twitter
- website
- a blank website that is hosted through github pages and handles wallet connections
- contracts
- the tipping contract that is deployed as a temporary gitcoin round implementation
.
├── .github
├── contracts # contract that is deployed on multiple chains
│ ├── contracts
│ ├── interfaces
│ ├── libs
│ ├── donate.sol
│ ├── deploy
│ ├── deploy.ts
│ ├── hardhat.config.js
│ ├── package.json
├── extension # extension material
│ ├── buildResults
│ ├── chromium # load this folder to run extension locally
│ ├── src
│ ├── chromium # Holds chrome specific files (content scripts, manifest, service worker)
│ ├── common # In preparation of adding firefox support, this holds general files needed by the extension
│ ├── package.json
│ ├── webpack.config.js
├── website # simple website setup to host transaction handling
│ ├── dist
│ ├── bundle.js
│ ├── index.html
│ ├── index.js
│ ├── package.json
│ ├── utils.js
│ ├── webpack.config.js
├── .gitignore
└── README.md
To use the extension locally, load the chromium
folder into your local extensions here: brave://extensions/
You can also build it with
yarn
yarn build
The website is hosted on https://lennardevertz.github.io/ethLisbon2023/website/
. Note that it is just a blank html that runs a script.
You can also build it with
yarn
yarn build
The contract is a tipping / donations contract. It can handle Native token and ERC20 transfers.
These are contracts that are created/deployed.
Contract | Address |
---|---|
Linea | 0x31A9021E79620fd95d4835b062f12c91b789A31b |
Polygon zkEVM | 0x31A9021E79620fd95d4835b062f12c91b789A31b |
Optimism | 0x7304b437221Cc0477F805Bdfb1C571e762cE528a |
Optimism Testnet | 0x31A9021E79620fd95d4835b062f12c91b789A31b |
Scroll | 0x31A9021E79620fd95d4835b062f12c91b789A31b |
Mantle | 0x31A9021E79620fd95d4835b062f12c91b789A31b |
For contract development and deployment
- Hardhat
- Truffle Dashboard
- The Optimism contract natively integrates the Attestation Station, which attest donations on-chain and fully automated
- inspiration from IDriss open source tipping contract
For Website (including in the script)
- Github Pages
- webpack compiler
For Extension
- IDriss (Twitter ID lookup)
- webpack compiler
Other
- I am using Chainlink price feeds to get the current price of ETH.
- Contracts deployed on Optimism Mainnet + Testnet, Polygon zkEVM testnet, Linea, Mantle and Scroll (see links in above table)
- Optimism contracts implement AttestationStation v1 contract and attests a that the donor is a public goods supporter