<repo_name>blocks-dao/blocks-xdai-module<file_sep>/readme.md
# BLOCKS xDAI Module

This application interacts with the xDAI OmbiBridge to port BLOCKS between networks. You can migrate BLOCKS from ETH to xDAI and back again. 

# Use Cases for BLOCKS on xDAI

- Fast and extremely low-cost BLOCKS transactions for P2P
- BLOCKS compatibility with DeFi applications on xDAI

## Project Notes:
- Project interacts with Ethereum mainnet and xDAI mainnet
- Metamask is used as the provider to sign transactions
- Bridging back to ETH from xDAI requires a manual execution on the [ABM Live Monitoring Tool](https://docs.tokenbridge.net/about-tokenbridge/components/amb-live-monitoring-application)

## Live Demo

[BLOCKS Bridge Web App](https://blocks-bridge.web.app/home)

## Running Locally
The app is built with ReactJs and Ionic Framework
```
npm install -g @ionic/cli
```
[Install the Ionic CLI](https://ionicframework.com/docs/cli/)

Clone the repo and run:
```
npm install
```
Start the app using:
```
ionic serve
```

## Have Fun

Have fun moving BLOCKS between networks!


## License

Copyright © 2021 <BLOCKS DAO, LLC>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<file_sep>/src/blocksDetails.ts
const blocksData = {
    blocksAddress: "0x8a6d4c8735371ebaf8874fbd518b56edd66024eb",
    blocksXdaiAddress: "0x1a4ea432e58bff38873af87bf68c525eb402aa1d",
    ethToXdaiBridge: "0x88ad09518695c6c3712AC10a214bE5109a655671",
    xDaiToEthBridge: "0xf6A78083ca3e2a662D6dd1703c939c8aCE2e268d",
    blocksAbi: [
      {
         "inputs":[
            {
               "internalType":"string",
               "name":"name",
               "type":"string"
            },
            {
               "internalType":"string",
               "name":"symbol",
               "type":"string"
            },
            {
               "internalType":"address[]",
               "name":"defaultOperators",
               "type":"address[]"
            },
            {
               "internalType":"uint256",
               "name":"initialSupply",
               "type":"uint256"
            },
            {
               "internalType":"address",
               "name":"treasury",
               "type":"address"
            }
         ],
         "stateMutability":"nonpayable",
         "type":"constructor"
      },
      {
         "anonymous":false,
         "inputs":[
            {
               "indexed":true,
               "internalType":"address",
               "name":"owner",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"spender",
               "type":"address"
            },
            {
               "indexed":false,
               "internalType":"uint256",
               "name":"value",
               "type":"uint256"
            }
         ],
         "name":"Approval",
         "type":"event"
      },
      {
         "anonymous":false,
         "inputs":[
            {
               "indexed":true,
               "internalType":"address",
               "name":"operator",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"tokenHolder",
               "type":"address"
            }
         ],
         "name":"AuthorizedOperator",
         "type":"event"
      },
      {
         "anonymous":false,
         "inputs":[
            {
               "indexed":true,
               "internalType":"address",
               "name":"operator",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"from",
               "type":"address"
            },
            {
               "indexed":false,
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            },
            {
               "indexed":false,
               "internalType":"bytes",
               "name":"data",
               "type":"bytes"
            },
            {
               "indexed":false,
               "internalType":"bytes",
               "name":"operatorData",
               "type":"bytes"
            }
         ],
         "name":"Burned",
         "type":"event"
      },
      {
         "anonymous":false,
         "inputs":[
            {
               "indexed":true,
               "internalType":"address",
               "name":"operator",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"to",
               "type":"address"
            },
            {
               "indexed":false,
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            },
            {
               "indexed":false,
               "internalType":"bytes",
               "name":"data",
               "type":"bytes"
            },
            {
               "indexed":false,
               "internalType":"bytes",
               "name":"operatorData",
               "type":"bytes"
            }
         ],
         "name":"Minted",
         "type":"event"
      },
      {
         "anonymous":false,
         "inputs":[
            {
               "indexed":true,
               "internalType":"address",
               "name":"previousOwner",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"newOwner",
               "type":"address"
            }
         ],
         "name":"OwnershipTransferred",
         "type":"event"
      },
      {
         "anonymous":false,
         "inputs":[
            {
               "indexed":true,
               "internalType":"address",
               "name":"operator",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"tokenHolder",
               "type":"address"
            }
         ],
         "name":"RevokedOperator",
         "type":"event"
      },
      {
         "anonymous":false,
         "inputs":[
            {
               "indexed":true,
               "internalType":"address",
               "name":"operator",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"from",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"to",
               "type":"address"
            },
            {
               "indexed":false,
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            },
            {
               "indexed":false,
               "internalType":"bytes",
               "name":"data",
               "type":"bytes"
            },
            {
               "indexed":false,
               "internalType":"bytes",
               "name":"operatorData",
               "type":"bytes"
            }
         ],
         "name":"Sent",
         "type":"event"
      },
      {
         "anonymous":false,
         "inputs":[
            {
               "indexed":true,
               "internalType":"address",
               "name":"from",
               "type":"address"
            },
            {
               "indexed":true,
               "internalType":"address",
               "name":"to",
               "type":"address"
            },
            {
               "indexed":false,
               "internalType":"uint256",
               "name":"value",
               "type":"uint256"
            }
         ],
         "name":"Transfer",
         "type":"event"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"holder",
               "type":"address"
            },
            {
               "internalType":"address",
               "name":"spender",
               "type":"address"
            }
         ],
         "name":"allowance",
         "outputs":[
            {
               "internalType":"uint256",
               "name":"",
               "type":"uint256"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"spender",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"value",
               "type":"uint256"
            }
         ],
         "name":"approve",
         "outputs":[
            {
               "internalType":"bool",
               "name":"",
               "type":"bool"
            }
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"operator",
               "type":"address"
            }
         ],
         "name":"authorizeOperator",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"tokenHolder",
               "type":"address"
            }
         ],
         "name":"balanceOf",
         "outputs":[
            {
               "internalType":"uint256",
               "name":"",
               "type":"uint256"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            },
            {
               "internalType":"bytes",
               "name":"data",
               "type":"bytes"
            }
         ],
         "name":"burn",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"decimals",
         "outputs":[
            {
               "internalType":"uint8",
               "name":"",
               "type":"uint8"
            }
         ],
         "stateMutability":"pure",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"defaultOperators",
         "outputs":[
            {
               "internalType":"address[]",
               "name":"",
               "type":"address[]"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"granularity",
         "outputs":[
            {
               "internalType":"uint256",
               "name":"",
               "type":"uint256"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"operator",
               "type":"address"
            },
            {
               "internalType":"address",
               "name":"tokenHolder",
               "type":"address"
            }
         ],
         "name":"isOperatorFor",
         "outputs":[
            {
               "internalType":"bool",
               "name":"",
               "type":"bool"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"name",
         "outputs":[
            {
               "internalType":"string",
               "name":"",
               "type":"string"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"account",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            },
            {
               "internalType":"bytes",
               "name":"data",
               "type":"bytes"
            },
            {
               "internalType":"bytes",
               "name":"operatorData",
               "type":"bytes"
            }
         ],
         "name":"operatorBurn",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"sender",
               "type":"address"
            },
            {
               "internalType":"address",
               "name":"recipient",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            },
            {
               "internalType":"bytes",
               "name":"data",
               "type":"bytes"
            },
            {
               "internalType":"bytes",
               "name":"operatorData",
               "type":"bytes"
            }
         ],
         "name":"operatorSend",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"owner",
         "outputs":[
            {
               "internalType":"address",
               "name":"",
               "type":"address"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address payable",
               "name":"to",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            }
         ],
         "name":"release",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"renounceOwnership",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"operator",
               "type":"address"
            }
         ],
         "name":"revokeOperator",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"recipient",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            },
            {
               "internalType":"bytes",
               "name":"data",
               "type":"bytes"
            }
         ],
         "name":"send",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"symbol",
         "outputs":[
            {
               "internalType":"string",
               "name":"",
               "type":"string"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"totalSupply",
         "outputs":[
            {
               "internalType":"uint256",
               "name":"",
               "type":"uint256"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"recipient",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            }
         ],
         "name":"transfer",
         "outputs":[
            {
               "internalType":"bool",
               "name":"",
               "type":"bool"
            }
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"holder",
               "type":"address"
            },
            {
               "internalType":"address",
               "name":"recipient",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"amount",
               "type":"uint256"
            }
         ],
         "name":"transferFrom",
         "outputs":[
            {
               "internalType":"bool",
               "name":"",
               "type":"bool"
            }
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"newOwner",
               "type":"address"
            }
         ],
         "name":"transferOwnership",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      }
   ],
   blocksOnXdaiAbi: [
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"mintingFinished",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"string",
               "name":""
            }
         ],
         "name":"name",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"approve",
         "inputs":[
            {
               "type":"address",
               "name":"_spender"
            },
            {
               "type":"uint256",
               "name":"_value"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"setBridgeContract",
         "inputs":[
            {
               "type":"address",
               "name":"_bridgeContract"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"uint256",
               "name":""
            }
         ],
         "name":"totalSupply",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"transferFrom",
         "inputs":[
            {
               "type":"address",
               "name":"_sender"
            },
            {
               "type":"address",
               "name":"_recipient"
            },
            {
               "type":"uint256",
               "name":"_amount"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"bytes32",
               "name":""
            }
         ],
         "name":"PERMIT_TYPEHASH",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"uint8",
               "name":""
            }
         ],
         "name":"decimals",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"bytes32",
               "name":""
            }
         ],
         "name":"DOMAIN_SEPARATOR",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"increaseAllowance",
         "inputs":[
            {
               "type":"address",
               "name":"spender"
            },
            {
               "type":"uint256",
               "name":"addedValue"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"transferAndCall",
         "inputs":[
            {
               "type":"address",
               "name":"_to"
            },
            {
               "type":"uint256",
               "name":"_value"
            },
            {
               "type":"bytes",
               "name":"_data"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"mint",
         "inputs":[
            {
               "type":"address",
               "name":"_to"
            },
            {
               "type":"uint256",
               "name":"_amount"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"burn",
         "inputs":[
            {
               "type":"uint256",
               "name":"_value"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"string",
               "name":""
            }
         ],
         "name":"version",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"decreaseApproval",
         "inputs":[
            {
               "type":"address",
               "name":"_spender"
            },
            {
               "type":"uint256",
               "name":"_subtractedValue"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"claimTokens",
         "inputs":[
            {
               "type":"address",
               "name":"_token"
            },
            {
               "type":"address",
               "name":"_to"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"uint256",
               "name":""
            }
         ],
         "name":"balanceOf",
         "inputs":[
            {
               "type":"address",
               "name":"_owner"
            }
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"renounceOwnership",
         "inputs":[
            
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"isBridge",
         "inputs":[
            {
               "type":"address",
               "name":"_address"
            }
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"finishMinting",
         "inputs":[
            
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"uint256",
               "name":""
            }
         ],
         "name":"nonces",
         "inputs":[
            {
               "type":"address",
               "name":""
            }
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"pure",
         "payable":false,
         "outputs":[
            {
               "type":"uint64",
               "name":"major"
            },
            {
               "type":"uint64",
               "name":"minor"
            },
            {
               "type":"uint64",
               "name":"patch"
            }
         ],
         "name":"getTokenInterfacesVersion",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"address",
               "name":""
            }
         ],
         "name":"owner",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"permit",
         "inputs":[
            {
               "type":"address",
               "name":"_holder"
            },
            {
               "type":"address",
               "name":"_spender"
            },
            {
               "type":"uint256",
               "name":"_nonce"
            },
            {
               "type":"uint256",
               "name":"_expiry"
            },
            {
               "type":"bool",
               "name":"_allowed"
            },
            {
               "type":"uint8",
               "name":"_v"
            },
            {
               "type":"bytes32",
               "name":"_r"
            },
            {
               "type":"bytes32",
               "name":"_s"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"string",
               "name":""
            }
         ],
         "name":"symbol",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"decreaseAllowance",
         "inputs":[
            {
               "type":"address",
               "name":"spender"
            },
            {
               "type":"uint256",
               "name":"subtractedValue"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"transfer",
         "inputs":[
            {
               "type":"address",
               "name":"_to"
            },
            {
               "type":"uint256",
               "name":"_value"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"push",
         "inputs":[
            {
               "type":"address",
               "name":"_to"
            },
            {
               "type":"uint256",
               "name":"_amount"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"move",
         "inputs":[
            {
               "type":"address",
               "name":"_from"
            },
            {
               "type":"address",
               "name":"_to"
            },
            {
               "type":"uint256",
               "name":"_amount"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"address",
               "name":""
            }
         ],
         "name":"bridgeContract",
         "inputs":[
            
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            {
               "type":"bool",
               "name":""
            }
         ],
         "name":"increaseApproval",
         "inputs":[
            {
               "type":"address",
               "name":"_spender"
            },
            {
               "type":"uint256",
               "name":"_addedValue"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"uint256",
               "name":""
            }
         ],
         "name":"allowance",
         "inputs":[
            {
               "type":"address",
               "name":"_owner"
            },
            {
               "type":"address",
               "name":"_spender"
            }
         ],
         "constant":true
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"pull",
         "inputs":[
            {
               "type":"address",
               "name":"_from"
            },
            {
               "type":"uint256",
               "name":"_amount"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"nonpayable",
         "payable":false,
         "outputs":[
            
         ],
         "name":"transferOwnership",
         "inputs":[
            {
               "type":"address",
               "name":"_newOwner"
            }
         ],
         "constant":false
      },
      {
         "type":"function",
         "stateMutability":"view",
         "payable":false,
         "outputs":[
            {
               "type":"uint256",
               "name":""
            }
         ],
         "name":"expirations",
         "inputs":[
            {
               "type":"address",
               "name":""
            },
            {
               "type":"address",
               "name":""
            }
         ],
         "constant":true
      },
      {
         "type":"constructor",
         "stateMutability":"nonpayable",
         "payable":false,
         "inputs":[
            {
               "type":"string",
               "name":"_name"
            },
            {
               "type":"string",
               "name":"_symbol"
            },
            {
               "type":"uint8",
               "name":"_decimals"
            },
            {
               "type":"uint256",
               "name":"_chainId"
            }
         ]
      },
      {
         "type":"event",
         "name":"ContractFallbackCallFailed",
         "inputs":[
            {
               "type":"address",
               "name":"from",
               "indexed":false
            },
            {
               "type":"address",
               "name":"to",
               "indexed":false
            },
            {
               "type":"uint256",
               "name":"value",
               "indexed":false
            }
         ],
         "anonymous":false
      },
      {
         "type":"event",
         "name":"Mint",
         "inputs":[
            {
               "type":"address",
               "name":"to",
               "indexed":true
            },
            {
               "type":"uint256",
               "name":"amount",
               "indexed":false
            }
         ],
         "anonymous":false
      },
      {
         "type":"event",
         "name":"MintFinished",
         "inputs":[
            
         ],
         "anonymous":false
      },
      {
         "type":"event",
         "name":"OwnershipRenounced",
         "inputs":[
            {
               "type":"address",
               "name":"previousOwner",
               "indexed":true
            }
         ],
         "anonymous":false
      },
      {
         "type":"event",
         "name":"OwnershipTransferred",
         "inputs":[
            {
               "type":"address",
               "name":"previousOwner",
               "indexed":true
            },
            {
               "type":"address",
               "name":"newOwner",
               "indexed":true
            }
         ],
         "anonymous":false
      },
      {
         "type":"event",
         "name":"Burn",
         "inputs":[
            {
               "type":"address",
               "name":"burner",
               "indexed":true
            },
            {
               "type":"uint256",
               "name":"value",
               "indexed":false
            }
         ],
         "anonymous":false
      },
      {
         "type":"event",
         "name":"Transfer",
         "inputs":[
            {
               "type":"address",
               "name":"from",
               "indexed":true
            },
            {
               "type":"address",
               "name":"to",
               "indexed":true
            },
            {
               "type":"uint256",
               "name":"value",
               "indexed":false
            },
            {
               "type":"bytes",
               "name":"data",
               "indexed":false
            }
         ],
         "anonymous":false
      },
      {
         "type":"event",
         "name":"Approval",
         "inputs":[
            {
               "type":"address",
               "name":"owner",
               "indexed":true
            },
            {
               "type":"address",
               "name":"spender",
               "indexed":true
            },
            {
               "type":"uint256",
               "name":"value",
               "indexed":false
            }
         ],
         "anonymous":false
      },
      {
         "type":"event",
         "name":"Transfer",
         "inputs":[
            {
               "type":"address",
               "name":"from",
               "indexed":true
            },
            {
               "type":"address",
               "name":"to",
               "indexed":true
            },
            {
               "type":"uint256",
               "name":"value",
               "indexed":false
            }
         ],
         "anonymous":false
      }
   ],
   omniBridgeAbi:[
      {
         "inputs":[
            {
               "internalType":"contract IERC677",
               "name":"token",
               "type":"address"
            },
            {
               "internalType":"address",
               "name":"_receiver",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_value",
               "type":"uint256"
            }
         ],
         "name":"relayTokens",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"contract IERC677",
               "name":"token",
               "type":"address"
            },
            {
               "internalType":"address",
               "name":"_receiver",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_value",
               "type":"uint256"
            },
            {
               "internalType":"bytes",
               "name":"_data",
               "type":"bytes"
            }
         ],
         "name":"relayTokensAndCall",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"bytes32",
               "name":"_messageId",
               "type":"bytes32"
            }
         ],
         "name":"requestFailedMessageFix",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"requestGasLimit",
         "outputs":[
            {
               "internalType":"uint256",
               "name":"",
               "type":"uint256"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_bridgeContract",
               "type":"address"
            }
         ],
         "name":"setBridgeContract",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_nativeToken",
               "type":"address"
            },
            {
               "internalType":"address",
               "name":"_bridgedToken",
               "type":"address"
            }
         ],
         "name":"setCustomTokenAddressPair",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_dailyLimit",
               "type":"uint256"
            }
         ],
         "name":"setDailyLimit",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_dailyLimit",
               "type":"uint256"
            }
         ],
         "name":"setExecutionDailyLimit",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_maxPerTx",
               "type":"uint256"
            }
         ],
         "name":"setExecutionMaxPerTx",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_maxPerTx",
               "type":"uint256"
            }
         ],
         "name":"setMaxPerTx",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_mediatorContract",
               "type":"address"
            }
         ],
         "name":"setMediatorContractOnOtherSide",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_minCashThreshold",
               "type":"uint256"
            }
         ],
         "name":"setMinCashThreshold",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_minPerTx",
               "type":"uint256"
            }
         ],
         "name":"setMinPerTx",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"uint256",
               "name":"_gasLimit",
               "type":"uint256"
            }
         ],
         "name":"setRequestGasLimit",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_tokenFactory",
               "type":"address"
            }
         ],
         "name":"setTokenFactory",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            
         ],
         "name":"tokenFactory",
         "outputs":[
            {
               "internalType":"contract TokenFactory",
               "name":"",
               "type":"address"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_day",
               "type":"uint256"
            }
         ],
         "name":"totalExecutedPerDay",
         "outputs":[
            {
               "internalType":"uint256",
               "name":"",
               "type":"uint256"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_day",
               "type":"uint256"
            }
         ],
         "name":"totalSpentPerDay",
         "outputs":[
            {
               "internalType":"uint256",
               "name":"",
               "type":"uint256"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"newOwner",
               "type":"address"
            }
         ],
         "name":"transferOwnership",
         "outputs":[
            
         ],
         "stateMutability":"nonpayable",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_amount",
               "type":"uint256"
            }
         ],
         "name":"withinExecutionLimit",
         "outputs":[
            {
               "internalType":"bool",
               "name":"",
               "type":"bool"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      },
      {
         "inputs":[
            {
               "internalType":"address",
               "name":"_token",
               "type":"address"
            },
            {
               "internalType":"uint256",
               "name":"_amount",
               "type":"uint256"
            }
         ],
         "name":"withinLimit",
         "outputs":[
            {
               "internalType":"bool",
               "name":"",
               "type":"bool"
            }
         ],
         "stateMutability":"view",
         "type":"function"
      }
   ] 
};

export default blocksData;