bridgedisputemanager
v1.0.0
Published
This is a transaction verification library for use in EVM compatible networks. In order to verify block hashes across layers, a contract is needed to store the block hashes. That is different for each network and should be implemented individually.
Downloads
2
Readme
BridgeDisputeManager
This is a transaction verification library for use in EVM compatible networks. In order to verify block hashes across layers, a contract is needed to store the block hashes. That is different for each network and should be implemented individually.
Installation
npm install bridgeDisputeManager
in the project directory. Make sure to install through npm for prompt updates!import "bridgeDisputeManager/contracts/BridgeDisputeManager.sol"
in the desired smart contract.
Usage
The contract provides several functions to validate transactions.
verifyBlockHash(bytes32 blockHash, uint blockNumber) bool
: Verify a blockhashverifyTxSignature(address from, bytes[] calldata txRaw) bool
: Verifies if the transaction signature is correctcheckProof(bytes[] memory proof, bytes memory bytesRoot, uint8[] memory path) bytes memory
: Verifies the mark-proofing of the transaction. The return value is an encoded transaction; EIP 1559 or later is supported.verifyBlockHeader(bytes32 blockHash, bytes[] calldata blockHeaderRaw) bool
: Validates block headers stored in an array; EIP 1559 or later is supported.verifyRawTx(bytes memory transaction, bytes[] calldata txRaw) bool
: Validates a transaction stored in the array.
Tests
git clone https://github.com/recruitcojp/BridgeDisputeManager && cd BridgeDisputeManager
npm install
npm install -g truffle ganache-cli
installed globally for the dev envirnomentganache-cli
run in a background process or seperate terminal window.truffle compile && truffle test
License
The source code is licensed MIT.