# PLANCIA

PLANCIA is a modular, decentralized DApp developed in NextJS with scaffold-ETH. The DApp provides a range of easily usable commands through an input box, allowing users to interact with their Ethereum addresses or Metamask wallets in a simple and intuitive way. PLANCIA currently interacts with popular DeFi protocols including Uniswap, Quickswap, and Sushiswap, as well as open-source DApps created by Scobru for BuidlGuild, including Linestweet, Tiers, Universe, and Nimbus2000.

## Installation

PLANCIA has been designed to be modular, meaning that developers can easily add their own tokens or projects to interact with the PLANCIA console. This modularity is facilitated through two npm packages that provide addresses for each corresponding chain:

1. `blockchain-address`: Created by Beefy, this provides addresses of major blockchain platforms.
2. `@scobru/address-book`: Created by Scobru, this contains all contract addresses and platforms built in BuidlGuild.

## Usage

### PLANCIA BASIC

The basic operations that a user can do with their Ethereum address or Metamask wallet include:

* `send, transfer, pay, give, move`: Send or transfer ETH or tokens.
* `approve`: Approve a smart contract to spend tokens on your behalf.
* `wrap, unwrap`: Convert ETH into WETH and vice versa.
* `blockexplorer`: View transactions and address details on a block explorer.
* `price`: Display the current price of a specified cryptocurrency.
* `portfolio`: View your crypto portfolio.
* `news`: Display the latest cryptocurrency news.
* `tokens, services`: Display the available tokens and services.
* `balancer, aave`: Interact with Balancer and Aave DApps.

### BUIDLNET

The operations you can do through the PLANCIA console include interactions with other DApps and utilities that have been created for BuidlGuild:

* `newtweet`: Create a new tweet.
* `tweets`: Display your tweets.
* `newtier`: Create a new tier.
* `tiers`: Display your tiers.
* `forecast *`: Create a forecast.
* `subscribe`: Subscribe to a service or tier.
* `universedeposit, universeredeem`: Deposit or redeem tokens from the Universe DApp.
* `buidlguidl, nimbus2000, tiers, universe`: Interact with the BuidlGuidl, Nimbus2000, Tiers, and Universe DApps.

## Contributing

Adding and implementing new features is made easy by the structure of the NextJS application, which includes three key folders:

1. `generated/dataSource.ts`: This contains the dataSource with all contracts and ABIs.
2. `utils/phrases.ts`: This contains the file that recognizes the type of phrase and executes the corresponding command.
3. `services/custom`: Create a new file here called `serviceName.ts` that will have the logic of the interaction with the newly added service. Additionally, you must update the `index.tsx` file with the `parseAction()` functions and implement the corresponding call to the newly created service.

## License

PLANCIA is licensed under MIT. See the `LICENSE` file for more details.
