Skip to content
This repository has been archived by the owner on Aug 7, 2021. It is now read-only.

πŸ‡ΊπŸ‡Έ πŸ’΅ πŸ’΅ πŸ’΅ Tag friends or strangers with U.S. tax obligations 🏐 πŸ¦…

License

Notifications You must be signed in to change notification settings

ItsNickBarry/ethereum-tax-dodgeball

Repository files navigation

Ethereum Tax Dodgeball

Tag friends or strangers with tax liability with or without their knowledge.

Only U.S. taxpayers can be tagged, but anyone in the world can tag a U.S. taxpayer.

See the IRS guidance on this process here.

Usage

A dapp is available to interface with the smart contract.

Contracts have been deployed by a non U.S. person at the following addresses:

network address
Ethereum Mainnet 0xe15dcc5Bce1AF8909e0250325221fb13b683660e
Ropsten Testnet 0xFc1248A6Aff0d4d5400061367D441323eBEE3cB5

Opt-out

A taxpayer with a healthy fear of the law may choose to opt out of participation. Simply call the optOut function and include in the transaction a sum of ether greater than or equal to the opt-out fee.

Development

Development and testing with the default network require that a local blockchain be run in a separate terminal window:

yarn run ganache

Alternatively, some buidler commands will work if an in-process network is specified instead:

yarn test --network buidlerevm

Contracts

To compile and test contracts:

yarn test

To include a gas usage report:

REPORT_GAS=true yarn test --network localhost

One of the tests tends to fail, perhaps due to a race condition. It's good enough for government work.

Interface

The static site is built with Saber.

To deploy contracts and serve static site in development mode:

yarn run dev

To build and deploy static site to gh-pages:

yarn run deploy

Contract Deployment

To deploy contracts to an arbitrary network, set the URL and MNEMONIC environment variables and run the deploy script with generic network configuration via buidler:

URL="http://localhost:8545" \
MNEMONIC="melody exact hedgehog pulse parade edge school eight invite doll luggage injury" \
npx buidler run scripts/deploy.js --network generic

⭐    ⭐    ⭐    ⭐    ⭐    ⭐
   ⭐    ⭐    ⭐    ⭐    ⭐   
⭐    ⭐    ⭐    ⭐    ⭐    ⭐
   ⭐    ⭐    ⭐    ⭐    ⭐   
⭐    ⭐    ⭐    ⭐    ⭐    ⭐
   ⭐    ⭐    ⭐    ⭐    ⭐   
⭐    ⭐    ⭐    ⭐    ⭐    ⭐
   ⭐    ⭐    ⭐    ⭐    ⭐   
⭐    ⭐    ⭐    ⭐    ⭐    ⭐