#!/bin/bash

## To use this hook execute in the project root:
## git config --local core.hooksPath .githooks/
if npm run lint; then
    npx hardhat compile --force
    npm run docgen
    git add docs
    cp artifacts/contracts/PolygonZkEVMBridge.sol/PolygonZkEVMBridge.json compiled-contracts/
    cp artifacts/contracts/PolygonZkEVMGlobalExitRoot.sol/PolygonZkEVMGlobalExitRoot.json compiled-contracts/
    cp artifacts/contracts/PolygonZkEVMGlobalExitRootL2.sol/PolygonZkEVMGlobalExitRootL2.json compiled-contracts/
    cp artifacts/contracts/lib/TokenWrapped.sol/TokenWrapped.json compiled-contracts/
    cp artifacts/contracts/mocks/PolygonZkEVMBridgeMock.sol/PolygonZkEVMBridgeMock.json compiled-contracts/
    cp artifacts/contracts/mocks/ERC20PermitMock.sol/ERC20PermitMock.json compiled-contracts/
    cp artifacts/contracts/mocks/PolygonZkEVMGlobalExitRootL2Mock.sol/PolygonZkEVMGlobalExitRootL2Mock.json compiled-contracts/
    cp artifacts/contracts/mocks/PolygonZkEVMGlobalExitRootMock.sol/PolygonZkEVMGlobalExitRootMock.json compiled-contracts/
    cp artifacts/contracts/mocks/CDKValidiumMock.sol/CDKValidiumMock.json compiled-contracts/
    cp artifacts/contracts/mocks/VerifierRollupHelperMock.sol/VerifierRollupHelperMock.json compiled-contracts/
    cp artifacts/contracts/CDKValidium.sol/CDKValidium.json compiled-contracts/
    cp artifacts/contracts/CDKDataCommittee.sol/CDKDataCommittee.json compiled-contracts/
    cp artifacts/contracts/verifiers/FflonkVerifier.sol/FflonkVerifier.json compiled-contracts/
    cp artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json compiled-contracts/
    cp artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json compiled-contracts/
    cp artifacts/contracts/deployment/CDKValidiumDeployer.sol/CDKValidiumDeployer.json compiled-contracts/
    cp artifacts/contracts/CDKValidiumTimelock.sol/CDKValidiumTimelock.json compiled-contracts/
    git add compiled-contracts
    exit 0
else
    exit 1
fi

