Push Protocol Internship Task

This repository contains the solution to task given by push protocol for the role of smart contract intern.

Here are the challeng requirements

1. Write a Solidity Smart Contract with the following capabilities:

  • It should be an Upgradeable Smart Contract with ERC-1967 Transparent Upgradeable Proxy Pattern.
  • The smart contract should be capable of creating new channels from the contract itself, using the Push Core Contract on Goerli Testnet.
  • And lastly, the smart contract should also include a feature to emit out on-chain notifications using Push Communicator Contract on the Goerli testnet.
  • Solution

    The contract for this task can be found inside the contracts folder. File name is Push.sol.


    2. Conduct a thorough review and document any Gas Optimizations (or security vulnerabilities) that you might find in the Push Core Smart Contract given below:

  • Push Core Contract to be reviewed can be found HERE.
  • You can use already existing tools to find out optimization or security issues in the given smart contract.
  • Document the issues found in an adequate manner.
  • Optional: Feel free to provide recommendations on how to best fix those issues, according to you.