diff --git a/.circleci/config.yml b/.circleci/config.yml index 5f4b05b1..e2814a8b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ version: 2.1 executors: default: docker: - - image: circleci/node:10.16 + - image: circleci/node:12.22 working_directory: ~/darknode-sol commands: diff --git a/README.md b/README.md index c4ac76ca..3361bffd 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,25 @@ # `⚖️ darknode-sol` -## Solidity smart contracts used by Ren Darknodes + +## Ethereum smart contracts for managing darknodes [![CircleCI](https://circleci.com/gh/renproject/darknode-sol.svg?style=shield)](https://circleci.com/gh/renproject/darknode-sol) [![Coverage Status](https://coveralls.io/repos/github/renproject/darknode-sol/badge.svg?branch=master)](https://coveralls.io/github/renproject/darknode-sol?branch=master) -**`darknode-sol`** contains a collection of Ethereum smart contracts utilized by the Ren Darknodes, written in Solidity. Ren bootstraps off Ethereum as a trusted third-party computer to handle Darknode registration and fee payouts. +Ren has two repositories for its Solidity contract: + +- `darknode-sol` (this repository) - contracts on Ethereum for managing darknode registrations. +- [`gateway-sol`](https://github.com/renproject/gateway-sol) - contracts on multiple EVM chains for minting and burning of ren-assets. + +Ren bootstraps off Ethereum to handle the REN token and darknode registrations. + +## ~ [Documentation](https://renproject.github.io/ren-client-docs/contracts/) ~ -Ren is powered by the RenVM — the Ren Virtual Machine — in a decentralized network of Darknodes that is distinct from Ethereum. This ensures the performance of the network, and the privacy of data, is not dependent on Ethereum. +- For the latest contract addresses, see the [contract addresses](https://renproject.github.io/ren-client-docs/contracts/deployments) page. +- For a summary of each contract, see the [summary of contracts](https://renproject.github.io/ren-client-docs/contracts/summary) page. + +
+ +Development notes ## Tests @@ -73,3 +86,5 @@ Run the following (replacing the network and contract name): ```sh NETWORK=mainnet yarn run verify Contract1 Contract2 ``` + +
diff --git a/build/chaosnet/BCHGateway.json b/build/chaosnet/BCHGateway.json deleted file mode 100644 index 2d18f561..00000000 --- a/build/chaosnet/BCHGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "BCHGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xc3AC15BEc6dA89e8DC5c4d1b4d0C785547676e3a", - "transactionHash": "0x216aceeb99702118eb1ed0dc12244419ef3454d24ed01fae58a9c0a7c2f985fb" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/BTCGateway.json b/build/chaosnet/BTCGateway.json deleted file mode 100644 index 4bab422a..00000000 --- a/build/chaosnet/BTCGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "BTCGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xD4d496632b9aF3122FB5DdbF0614aA82effa9F99", - "transactionHash": "0x5fa2ba681f2f29d212765bd64a5fb4284c7218ca54a4469f96d11ba4e6d32b96" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/BasicAdapter.json b/build/chaosnet/BasicAdapter.json deleted file mode 100644 index ae146332..00000000 --- a/build/chaosnet/BasicAdapter.json +++ /dev/null @@ -1,295 +0,0 @@ -{ - "contractName": "BasicAdapter", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IGatewayRegistry", - "name": "_registry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "relay", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes", - "name": "encodedFunction", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "transactionFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleCharge", - "type": "uint256" - } - ], - "name": "acceptRelayedCall", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "actualCharge", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "preRetVal", - "type": "bytes32" - } - ], - "name": "postRelayedCall", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - } - ], - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "relayHubVersion", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "setDefaultRelayHub", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/adapters/BasicAdapter.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - } - }, - "links": {}, - "address": "0x0807d0810714d85B49E40349a3002F06e841B7c3", - "transactionHash": "0x48a4ebcd8015c35d2a60041ec0dbfe2e417c89bc8ce421d0aef5f3541897b9df" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/DarknodePayment.json b/build/chaosnet/DarknodePayment.json deleted file mode 100644 index bd560901..00000000 --- a/build/chaosnet/DarknodePayment.json +++ /dev/null @@ -1,1052 +0,0 @@ -{ - "contractName": "DarknodePayment", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - }, - { - "internalType": "contract DarknodePaymentStore", - "name": "_darknodePaymentStore", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_cyclePayoutPercent", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "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" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "changeCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - } - ], - "name": "claim", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "currentCycleRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleChanger", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deregisterToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "pendingTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "previousCycleRewardShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "registerToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "registeredTokenIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rewardClaimed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "tokenPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodePayment", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "unclaimedRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_addr", - "type": "address" - } - ], - "name": "updateCycleChanger", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percent", - "type": "uint256" - } - ], - "name": "updatePayoutPercentage", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "_darknodes", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_tokens", - "type": "address[]" - } - ], - "name": "withdrawMultiple", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePayment.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x9d549c7da0887b9da28aa4897e17429f78345be76b1918673be3430462a4d130": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - "0x99c5ad5c5f898b30039b8cc54b8c0e6eb423e49bfc965a5999ebad131984e40d": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0xd390ef311a884ffc07fe929afa495d106c89041c9b8a73abd2e4f23d6c9c05c0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - "0x5f5d9f6f8b84a834e704e76b91a16ddc49abe97d37d6e61572febf8f1b56f7ce": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - "0x0855549798088e618c4eccab56d3fa69209935ef7bc4ffe7200dff654d975643": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - "0xe46f21bb6906b7d69a6c06d5662a2b6c1c59d134cd7b1235babdb1a70a4b436a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - "0xd780ddbc43f0c4efd61c5ca1bc8eeee3368abfb1f97aa7355da9f8bf8431c8ae": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xdf2a33Bf44F917b85a716aA1e98Af0bBa4085dEc", - "transactionHash": "0x5db580dd48f5d490345c54bf02e43f9d026fa0921e5bc190f06309970cbc11b4" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/DarknodePaymentStore.json b/build/chaosnet/DarknodePaymentStore.json deleted file mode 100644 index fe69903b..00000000 --- a/build/chaosnet/DarknodePaymentStore.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "contractName": "DarknodePaymentStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "availableBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "incrementDarknodeBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lockedBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "totalBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - } - ], - "name": "transfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePaymentStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x9C5B076dE6c5c01c9E1ac4cB5b48fB681384742B" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/DarknodeRegistryLogicV1.json b/build/chaosnet/DarknodeRegistryLogicV1.json deleted file mode 100644 index 2412a6a6..00000000 --- a/build/chaosnet/DarknodeRegistryLogicV1.json +++ /dev/null @@ -1,1387 +0,0 @@ -{ - "contractName": "DarknodeRegistryLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "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" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "deregister", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "deregistrationInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "epoch", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getPreviousDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_renAddress", - "type": "address" - }, - { - "internalType": "contract DarknodeRegistryStore", - "name": "_storeAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_minimumBond", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumPodSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumEpochIntervalSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregistrationIntervalSeconds", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregisterable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingDeregistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefundable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefunded", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegisteredInPreviousEpoch", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextSlasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesNextEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesPreviousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "refund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "register", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "slasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "_darknodePayment", - "type": "address" - } - ], - "name": "updateDarknodePayment", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "updateMinimumBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "updateMinimumEpochInterval", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "updateMinimumPodSize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "_slasher", - "type": "address" - } - ], - "name": "updateSlasher", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xf73268ea792d9dbf3e21a95ec9711f0b535c5f6c99f6b4f54f6766838086b842": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - "0xe3e25a79a5ba7c894fcc55794b2712e225537e89f777b9b9df307cc5504ba0e9": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - "0x3eeec3803912dfbf607c8488e8aee15f415e51c9936250a5142642c9e470c128": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - "0x7c56cb7f63b6922d24414bf7c2b2c40c7ea1ea637c3f400efa766a85ecf2f093": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - "0xb43e0cc88b4d6ae901c6c99d1b58769cb8c9ded8e6f20a0d3712d09bf9e1ea77": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - "0x7c77c94944e9e4e5b0d46f1297127d060020792687cd743401d782346c68f655": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - "0xb218cde2730b79a0667ddf869466ee66a12ef56fe65fa4986a590f8a7108c9de": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - "0x6d520e46e5714982ddf8cb6216bcb3e1c1d5b79d337afc305335f819394f5d6a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - "0xaf2fc4796f2932ce294c3684deffe5098d3ef65dc2dd64efa80ef94eed88b01e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - "0x933228a1c3ba8fadd3ce47a9db5b898be647f89af99ba7c1b9a655f59ea306c8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x308ecdCEfA3231ad1a8083Bd42510830e749FbB7" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/DarknodeRegistryProxy.json b/build/chaosnet/DarknodeRegistryProxy.json deleted file mode 100644 index 31218242..00000000 --- a/build/chaosnet/DarknodeRegistryProxy.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "DarknodeRegistryProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x7C08FF068b7FF6d7d2f431f08B8C2e536ed693DD", - "transactionHash": "0x0bf00f59b952fc0c1febc268ce521d50cbe274da80434acc405d0e0adb7e570a" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/DarknodeRegistryStore.json b/build/chaosnet/DarknodeRegistryStore.json deleted file mode 100644 index cd94f0c5..00000000 --- a/build/chaosnet/DarknodeRegistryStore.json +++ /dev/null @@ -1,464 +0,0 @@ -{ - "contractName": "DarknodeRegistryStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_ren", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_darknodeOperator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_registeredAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregisteredAt", - "type": "uint256" - } - ], - "name": "appendDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "begin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeDeregisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeRegisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "next", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "removeDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decreasedBond", - "type": "uint256" - } - ], - "name": "updateDarknodeBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deregisteredAt", - "type": "uint256" - } - ], - "name": "updateDarknodeDeregisteredAt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistryStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x4C2f0533af3792695e71699Ff221205f7FA47579", - "transactionHash": "0x277bc7b304317abd9d776c3143498f2ef23b102dc7f1ff056ead4d7e8983b7e2" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/DarknodeSlasher.json b/build/chaosnet/DarknodeSlasher.json deleted file mode 100644 index ff74734f..00000000 --- a/build/chaosnet/DarknodeSlasher.json +++ /dev/null @@ -1,608 +0,0 @@ -{ - "contractName": "DarknodeSlasher", - "abi": [ - { - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - } - ], - "name": "blacklist", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "blacklistSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "blacklisted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maliciousSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "secretRevealSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "secretRevealed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setBlacklistSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setMaliciousSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setSecretRevealSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrecommit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrevote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound2", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePropose", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_b", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_c", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_d", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_e", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_f", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - } - ], - "name": "slashSecretReveal", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "slashed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeSlasher/DarknodeSlasher.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xD33CfE24e84D3156211CC2eA74192593Ccf559Aa" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/GatewayLogicV1.json b/build/chaosnet/GatewayLogicV1.json deleted file mode 100644 index 82f7b58f..00000000 --- a/build/chaosnet/GatewayLogicV1.json +++ /dev/null @@ -1,720 +0,0 @@ -{ - "contractName": "GatewayLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "burnFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - } - ], - "name": "hashForSignature", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_mintAuthority", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_mintFee", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "_burnFee", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBurnAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintAuthority", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextN", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "status", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayLogicV1", - "name": "_nextTokenOwner", - "type": "address" - } - ], - "name": "transferTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextBurnFee", - "type": "uint16" - } - ], - "name": "updateBurnFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextFeeRecipient", - "type": "address" - } - ], - "name": "updateFeeRecipient", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "updateMinimumBurnAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextMintAuthority", - "type": "address" - } - ], - "name": "updateMintAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextMintFee", - "type": "uint16" - } - ], - "name": "updateMintFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "verifySignature", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x1619fc95050ffb8c94c9077c82b3e1ebbf8d571b6234241c55ba0aaf40da019e": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - "0xa58ba939eb08dab7eaf8ad09c16e7405ee88e5153e15da62d5481296a9f727fa": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - "0xf0f08e606c1dd3a2c220ada53422fd9fe0aa75614b27db0549f649de3ad2072a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x85BdE74CA4760587eC9d77f775Cb83d4Cb76e5ae", - "transactionHash": "0x84ed6cda61171132fcb8c1fc0db51781882540cd5ad8da89bf810a39f47e5649" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/GatewayRegistry.json b/build/chaosnet/GatewayRegistry.json deleted file mode 100644 index a3ce7f9c..00000000 --- a/build/chaosnet/GatewayRegistry.json +++ /dev/null @@ -1,557 +0,0 @@ -{ - "contractName": "GatewayRegistry", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - } - ], - "name": "removeGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "setGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "symbolIsValid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "updateGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/GatewayRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x817d2E41dABbA7A5e840353c9D73A40674ED3400", - "transactionHash": "0x471dee76d0ddc17e975ab053681c5edd46159ee9b77142a3032734434ec68bbd" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/ProtocolLogicV1.json b/build/chaosnet/ProtocolLogicV1.json deleted file mode 100644 index b25dbef5..00000000 --- a/build/chaosnet/ProtocolLogicV1.json +++ /dev/null @@ -1,574 +0,0 @@ -{ - "contractName": "ProtocolLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newDarknodeRegistry", - "type": "address" - } - ], - "name": "_updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "_newGatewayRegistry", - "type": "address" - } - ], - "name": "_updateGatewayRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract DarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePaymentStore", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistryStore", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeSlasher", - "outputs": [ - { - "internalType": "contract DarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "gatewayRegistry", - "outputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "renToken", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x637278Bf72127c76d98D9a9BE36D2121fB2447c8" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/ProtocolProxy.json b/build/chaosnet/ProtocolProxy.json deleted file mode 100644 index b57e0019..00000000 --- a/build/chaosnet/ProtocolProxy.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "ProtocolProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xf61e97c464ec0cf48b33262c3a1ef42114275144" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/RenBCH.json b/build/chaosnet/RenBCH.json deleted file mode 100644 index 8eb3ff17..00000000 --- a/build/chaosnet/RenBCH.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "RenBCH", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xa2F0a92396cb245BaD15BA77817E1620c58bf05b", - "transactionHash": "0x9f72ac627fd5a3573c43a07273f4c2cb4623fd318adc12e7162980f237cbc970" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/RenBTC.json b/build/chaosnet/RenBTC.json deleted file mode 100644 index 02e90aa1..00000000 --- a/build/chaosnet/RenBTC.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "RenBTC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x93E47eC9B8cD1a669C7267E20ACF1F6a9c5340Ba", - "transactionHash": "0xa8b463bd512b7b8390cf68ad5802e0186bb47231d621b8db6772ed8e93aa7a75" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/RenERC20LogicV1.json b/build/chaosnet/RenERC20LogicV1.json deleted file mode 100644 index 8f7be587..00000000 --- a/build/chaosnet/RenERC20LogicV1.json +++ /dev/null @@ -1,938 +0,0 @@ -{ - "contractName": "RenERC20LogicV1", - "abi": [ - { - "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": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "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": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "_rateScale", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - } - ], - "name": "fromUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "allowed", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextRate", - "type": "uint256" - } - ], - "name": "setExchangeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "toUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x9d6ef0d454e23e234e8c1cf70cee49a44226ffb036017442229a7a5bd1d0957e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - } - }, - "links": {}, - "address": "0x0A2d368E4EeCBd515033BA29253909F2978C1Bee", - "transactionHash": "0xffaa91e45cdaeebc921e65b8baf38804bac6170d7e32b202c03b11621b4dd36a" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/RenProxyAdmin.json b/build/chaosnet/RenProxyAdmin.json deleted file mode 100644 index 797969d4..00000000 --- a/build/chaosnet/RenProxyAdmin.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "contractName": "RenProxyAdmin", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeProxyAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyImplementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Governance/RenProxyAdmin.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x3840c01167cf06C3101762f0Fce991BEfA1CdFAF" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/RenToken.json b/build/chaosnet/RenToken.json deleted file mode 100644 index 0a63075d..00000000 --- a/build/chaosnet/RenToken.json +++ /dev/null @@ -1,758 +0,0 @@ -{ - "contractName": "RenToken", - "abi": [ - { - "inputs": [], - "payable": false, - "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": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addPauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isPauser", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "pause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renouncePauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "unpause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/RenToken/RenToken.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - "0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - }, - "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - } - }, - "links": {}, - "address": "0x8E0679d0d4691Ea345fB8C2aEc9bf9c1d3eb40eD", - "transactionHash": "0xedde80f97a54db2ee57dbb80a5a89381fd4174d5c7454b4c4c284ddc726104b8" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/RenZEC.json b/build/chaosnet/RenZEC.json deleted file mode 100644 index aee68941..00000000 --- a/build/chaosnet/RenZEC.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "RenZEC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x82E728594b87318e513931469A30713FEF966c8E", - "transactionHash": "0x6eedbc1b00341d366c670de5faccbb96b0fe7e1df8b6e2b02c0bb7d0cc0ca7f5" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/chaosnet/ZECGateway.json b/build/chaosnet/ZECGateway.json deleted file mode 100644 index 880798fb..00000000 --- a/build/chaosnet/ZECGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "ZECGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x37A4860728E292E5852B215c46DBE7a18862EF93", - "transactionHash": "0x31be305caf18f8a47665dcdc01030353d4b54315ee0df0a1643b3b2b9afe89d1" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/clean.js b/build/clean.js deleted file mode 100644 index c85a9ec9..00000000 --- a/build/clean.js +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Only keeps "contractName", "abi", "sourcePath", "compiler", "networks", - * "schemaVersion" and "updatedAt". - */ - -const glob = require("glob"); -const fs = require("fs"); - -const networks = ["testnet", "devnet", "localnet", "chaosnet", "mainnet", "main"]; - -const path = require('path'); -const dirname = path.dirname(__filename); - -const cmp = (x, y) => x === y ? 0 : x > y ? 1 : -1; -const sortAbi = (l, r) => cmp(l.type, r.type) === 0 ? cmp(l.name, r.name) : cmp(l.type, r.type); - -for (const network of networks) { - const directory = path.join(dirname, `./${network}/*.json`); - glob(directory, function (err, files) { // read the folder or folders if you want: example json/**/*.json - if (err) { - console.error(`error while reading the files in ${directory}`, err); - } - files.forEach(function (file) { - fs.readFile(file, 'utf8', function (err, data) { // Read each file - if (err) { - console.error(`error while reading the contents of ${file}`, err); - } - try { - var obj = JSON.parse(data); - const newObj = { - contractName: obj.contractName, - abi: obj.abi.sort(sortAbi), - sourcePath: obj.sourcePath.replace(/.*\/ren-sol\//g, "~/github/renproject/ren-sol/"), - compiler: obj.compiler, - networks: obj.networks, - schemaVersion: obj.schemaVersion, - - // Included for Etherscan verification - // bytecode: obj.bytecode, - } - const newData = JSON.stringify(newObj, null, " "); - - if (data !== newData) { - fs.writeFile(file, JSON.stringify(newObj, null, " "), function (err) { - if (err) return console.error(err); - console.info(` Updated \x1b[33m${file}\x1b[0m.`); - }); - } - } catch (error) { - console.error(`Error processing ${file}`, error); - } - }); - }); - }); -} diff --git a/build/devnet/BCHGateway.json b/build/devnet/BCHGateway.json deleted file mode 100644 index 98ff7110..00000000 --- a/build/devnet/BCHGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "BCHGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x86efB11aF3f2c3E3df525a851e3F28E03F4Dcb17", - "transactionHash": "0x0adcbfb9a79dd7c18dd168e9fe519671b48019889413b687d1e7d08c8da12088" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/BTCGateway.json b/build/devnet/BTCGateway.json deleted file mode 100644 index db540666..00000000 --- a/build/devnet/BTCGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "BTCGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xb4fc6D131A44A3b44668E997Ce0CE00A52D4D9ed", - "transactionHash": "0xbb5a7ec492d047e0a75f22e24dcb6017b4237cf2800ee6ebbb7c57cc6e247f15" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/BasicAdapter.json b/build/devnet/BasicAdapter.json deleted file mode 100644 index f4ce85ea..00000000 --- a/build/devnet/BasicAdapter.json +++ /dev/null @@ -1,295 +0,0 @@ -{ - "contractName": "BasicAdapter", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IGatewayRegistry", - "name": "_registry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "relay", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes", - "name": "encodedFunction", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "transactionFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleCharge", - "type": "uint256" - } - ], - "name": "acceptRelayedCall", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "actualCharge", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "preRetVal", - "type": "bytes32" - } - ], - "name": "postRelayedCall", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - } - ], - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "relayHubVersion", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "setDefaultRelayHub", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/adapters/BasicAdapter.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - } - }, - "links": {}, - "address": "0xFABDB1F53Ef8B080332621cBc9F820a39e7A1B83", - "transactionHash": "0xb0507519f82fa89bbee8e4d5c72c1b4ca07a64ba33e2b869ebbcf5bcab4f623c" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/DarknodePayment.json b/build/devnet/DarknodePayment.json deleted file mode 100644 index 820e8999..00000000 --- a/build/devnet/DarknodePayment.json +++ /dev/null @@ -1,1052 +0,0 @@ -{ - "contractName": "DarknodePayment", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - }, - { - "internalType": "contract DarknodePaymentStore", - "name": "_darknodePaymentStore", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_cyclePayoutPercent", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "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" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "changeCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - } - ], - "name": "claim", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "currentCycleRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleChanger", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deregisterToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "pendingTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "previousCycleRewardShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "registerToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "registeredTokenIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rewardClaimed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "tokenPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodePayment", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "unclaimedRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_addr", - "type": "address" - } - ], - "name": "updateCycleChanger", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percent", - "type": "uint256" - } - ], - "name": "updatePayoutPercentage", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "_darknodes", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_tokens", - "type": "address[]" - } - ], - "name": "withdrawMultiple", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePayment.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x9d549c7da0887b9da28aa4897e17429f78345be76b1918673be3430462a4d130": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - "0x99c5ad5c5f898b30039b8cc54b8c0e6eb423e49bfc965a5999ebad131984e40d": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0xd390ef311a884ffc07fe929afa495d106c89041c9b8a73abd2e4f23d6c9c05c0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - "0x5f5d9f6f8b84a834e704e76b91a16ddc49abe97d37d6e61572febf8f1b56f7ce": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - "0x0855549798088e618c4eccab56d3fa69209935ef7bc4ffe7200dff654d975643": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - "0xe46f21bb6906b7d69a6c06d5662a2b6c1c59d134cd7b1235babdb1a70a4b436a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - "0xd780ddbc43f0c4efd61c5ca1bc8eeee3368abfb1f97aa7355da9f8bf8431c8ae": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xC7F24fEDfbbAA5248E1F5a160cC30Dcbff9F1176", - "transactionHash": "0x19c24c967209fc26027daa8dd512b46bed25b003456e5c19cee310aca3f4efec" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/DarknodePaymentStore.json b/build/devnet/DarknodePaymentStore.json deleted file mode 100644 index 5cb4c35c..00000000 --- a/build/devnet/DarknodePaymentStore.json +++ /dev/null @@ -1,342 +0,0 @@ -{ - "contractName": "DarknodePaymentStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "availableBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "incrementDarknodeBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lockedBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "totalBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - } - ], - "name": "transfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePaymentStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xfb98D6900330844CeAce6Ae4ae966D272bE1aeC3", - "transactionHash": "0xc56b2b45da6f0d52553f317d15f08c3d302cb1651ab07f54afe66987ca09919b" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/DarknodeRegistryLogicV1.json b/build/devnet/DarknodeRegistryLogicV1.json deleted file mode 100644 index 027981d7..00000000 --- a/build/devnet/DarknodeRegistryLogicV1.json +++ /dev/null @@ -1,1388 +0,0 @@ -{ - "contractName": "DarknodeRegistryLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "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" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "deregister", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "deregistrationInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "epoch", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getPreviousDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_renAddress", - "type": "address" - }, - { - "internalType": "contract DarknodeRegistryStore", - "name": "_storeAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_minimumBond", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumPodSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumEpochIntervalSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregistrationIntervalSeconds", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregisterable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingDeregistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefundable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefunded", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegisteredInPreviousEpoch", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextSlasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesNextEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesPreviousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "refund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "register", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "slasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "_darknodePayment", - "type": "address" - } - ], - "name": "updateDarknodePayment", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "updateMinimumBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "updateMinimumEpochInterval", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "updateMinimumPodSize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "_slasher", - "type": "address" - } - ], - "name": "updateSlasher", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xf73268ea792d9dbf3e21a95ec9711f0b535c5f6c99f6b4f54f6766838086b842": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - "0xe3e25a79a5ba7c894fcc55794b2712e225537e89f777b9b9df307cc5504ba0e9": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - "0x3eeec3803912dfbf607c8488e8aee15f415e51c9936250a5142642c9e470c128": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - "0x7c56cb7f63b6922d24414bf7c2b2c40c7ea1ea637c3f400efa766a85ecf2f093": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - "0xb43e0cc88b4d6ae901c6c99d1b58769cb8c9ded8e6f20a0d3712d09bf9e1ea77": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - "0x7c77c94944e9e4e5b0d46f1297127d060020792687cd743401d782346c68f655": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - "0xb218cde2730b79a0667ddf869466ee66a12ef56fe65fa4986a590f8a7108c9de": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - "0x6d520e46e5714982ddf8cb6216bcb3e1c1d5b79d337afc305335f819394f5d6a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - "0xaf2fc4796f2932ce294c3684deffe5098d3ef65dc2dd64efa80ef94eed88b01e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - "0x933228a1c3ba8fadd3ce47a9db5b898be647f89af99ba7c1b9a655f59ea306c8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x26D6fEC1C904EB5b86ACed6BB804b4ed35208704", - "transactionHash": "0x79c509141b37ec0fbb3517871eae046e530a6fc7355194e0e46d87b1d17533a2" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/DarknodeRegistryProxy.json b/build/devnet/DarknodeRegistryProxy.json deleted file mode 100644 index 26e77c24..00000000 --- a/build/devnet/DarknodeRegistryProxy.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "DarknodeRegistryProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x7B69e5e15D4c24c353Fea56f72E4C0c5B93dCb71", - "transactionHash": "0x5fa75b34033f1bec6c361f9993652ac38838afdc5109af8ff9ed78cd2411b59f" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/DarknodeRegistryStore.json b/build/devnet/DarknodeRegistryStore.json deleted file mode 100644 index 109a5d15..00000000 --- a/build/devnet/DarknodeRegistryStore.json +++ /dev/null @@ -1,464 +0,0 @@ -{ - "contractName": "DarknodeRegistryStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_ren", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_darknodeOperator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_registeredAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregisteredAt", - "type": "uint256" - } - ], - "name": "appendDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "begin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeDeregisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeRegisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "next", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "removeDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decreasedBond", - "type": "uint256" - } - ], - "name": "updateDarknodeBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deregisteredAt", - "type": "uint256" - } - ], - "name": "updateDarknodeDeregisteredAt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistryStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x3ccF0cd02ff15b59Ce2B152CdDE78551eFd34a62", - "transactionHash": "0xcfff9860ac1589c3c0611ac9846ca556412f93f057724906194deff7501d77ca" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/DarknodeSlasher.json b/build/devnet/DarknodeSlasher.json deleted file mode 100644 index d5942253..00000000 --- a/build/devnet/DarknodeSlasher.json +++ /dev/null @@ -1,609 +0,0 @@ -{ - "contractName": "DarknodeSlasher", - "abi": [ - { - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - } - ], - "name": "blacklist", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "blacklistSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "blacklisted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maliciousSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "secretRevealSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "secretRevealed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setBlacklistSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setMaliciousSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setSecretRevealSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrecommit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrevote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound2", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePropose", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_b", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_c", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_d", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_e", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_f", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - } - ], - "name": "slashSecretReveal", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "slashed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeSlasher/DarknodeSlasher.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xf4E4AdbDDfd6EBc9457ad7ab9249f63701942BE3", - "transactionHash": "0x90d5073a4b448075a93399bdc7352d2feff1b39c4a10b95659a3db4a8acf78df" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/GatewayLogicV1.json b/build/devnet/GatewayLogicV1.json deleted file mode 100644 index ae80397e..00000000 --- a/build/devnet/GatewayLogicV1.json +++ /dev/null @@ -1,720 +0,0 @@ -{ - "contractName": "GatewayLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "burnFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - } - ], - "name": "hashForSignature", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_mintAuthority", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_mintFee", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "_burnFee", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBurnAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintAuthority", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextN", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "status", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayLogicV1", - "name": "_nextTokenOwner", - "type": "address" - } - ], - "name": "transferTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextBurnFee", - "type": "uint16" - } - ], - "name": "updateBurnFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextFeeRecipient", - "type": "address" - } - ], - "name": "updateFeeRecipient", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "updateMinimumBurnAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextMintAuthority", - "type": "address" - } - ], - "name": "updateMintAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextMintFee", - "type": "uint16" - } - ], - "name": "updateMintFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "verifySignature", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x1619fc95050ffb8c94c9077c82b3e1ebbf8d571b6234241c55ba0aaf40da019e": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - "0xa58ba939eb08dab7eaf8ad09c16e7405ee88e5153e15da62d5481296a9f727fa": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0xf0f08e606c1dd3a2c220ada53422fd9fe0aa75614b27db0549f649de3ad2072a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "type": "event" - } - }, - "links": {}, - "address": "0xcADcCC772991d8c49c6242604d334f8a0B07A039", - "transactionHash": "0xa43a8cfe4915ad5d5eb1da76e3d3a1112ffd98e23368bd06971ceba2f4e8a7de" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/GatewayRegistry.json b/build/devnet/GatewayRegistry.json deleted file mode 100644 index 9868a2bc..00000000 --- a/build/devnet/GatewayRegistry.json +++ /dev/null @@ -1,557 +0,0 @@ -{ - "contractName": "GatewayRegistry", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - } - ], - "name": "removeGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "setGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "symbolIsValid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "updateGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/GatewayRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x5F051E588f39D95bc6c1742f6FA98B103aa0E5c8", - "transactionHash": "0x4bfcb638efe6e5fffa5faff18aee30bcf024dc16631fe3aa8f54507156ab53c8" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/ProtocolLogicV1.json b/build/devnet/ProtocolLogicV1.json deleted file mode 100644 index c0d283dc..00000000 --- a/build/devnet/ProtocolLogicV1.json +++ /dev/null @@ -1,575 +0,0 @@ -{ - "contractName": "ProtocolLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newDarknodeRegistry", - "type": "address" - } - ], - "name": "_updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "_newGatewayRegistry", - "type": "address" - } - ], - "name": "_updateGatewayRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract DarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePaymentStore", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistryStore", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeSlasher", - "outputs": [ - { - "internalType": "contract DarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "gatewayRegistry", - "outputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "renToken", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x4535CB2f0697e797C534cb0853F25470A9f59037", - "transactionHash": "0xad78c7cd9b195134a1dca017f1a49dbcd02c841adccf9685951897195d69f250" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/ProtocolProxy.json b/build/devnet/ProtocolProxy.json deleted file mode 100644 index c896aa49..00000000 --- a/build/devnet/ProtocolProxy.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "ProtocolProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x5045E727D9D9AcDe1F6DCae52B078EC30dC95455", - "transactionHash": "0x93560fb1c6044ec7969a4c13484b4dbc8df3d83e7ef08dff744325a95ed0300e" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/RenBCH.json b/build/devnet/RenBCH.json deleted file mode 100644 index deb81b3f..00000000 --- a/build/devnet/RenBCH.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "RenBCH", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x148234809A551c131951bD01640494eecB905b08", - "transactionHash": "0xba4134edc00f6b7a4bf5a470fa96dcde4ca93907b90205d6bc749adddbbe9f43" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/RenBTC.json b/build/devnet/RenBTC.json deleted file mode 100644 index eec520fb..00000000 --- a/build/devnet/RenBTC.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "RenBTC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x581347fc652f9FCdbCA8372A4f65404C4154e93b", - "transactionHash": "0xa4f04cfe5ea6c61c3cf9bf0d940fe03f8e68bbb2ba06a0bd0aa1541de7e95054" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/RenERC20LogicV1.json b/build/devnet/RenERC20LogicV1.json deleted file mode 100644 index 1bae8943..00000000 --- a/build/devnet/RenERC20LogicV1.json +++ /dev/null @@ -1,938 +0,0 @@ -{ - "contractName": "RenERC20LogicV1", - "abi": [ - { - "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": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "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": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "_rateScale", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - } - ], - "name": "fromUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "allowed", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextRate", - "type": "uint256" - } - ], - "name": "setExchangeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "toUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x9d6ef0d454e23e234e8c1cf70cee49a44226ffb036017442229a7a5bd1d0957e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - } - }, - "links": {}, - "address": "0xE121991B5DAB075E33C30E5C36EB5FFa9B2Af1A4", - "transactionHash": "0xf4ac3792c93d8e22850cb380e2e40201d65fd45daf277e67043e613f52015fe7" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/RenProxyAdmin.json b/build/devnet/RenProxyAdmin.json deleted file mode 100644 index bd2ca149..00000000 --- a/build/devnet/RenProxyAdmin.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "contractName": "RenProxyAdmin", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeProxyAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyImplementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Governance/RenProxyAdmin.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xA2C9D593bC096FbB3Cf5b869270645C470E5416B", - "transactionHash": "0xb0eab061fc819274b472ce5a30c012bbbdfc2ddbe019e091a0e480bda659149d" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/RenToken.json b/build/devnet/RenToken.json deleted file mode 100644 index f1fe63ba..00000000 --- a/build/devnet/RenToken.json +++ /dev/null @@ -1,758 +0,0 @@ -{ - "contractName": "RenToken", - "abi": [ - { - "inputs": [], - "payable": false, - "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": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addPauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isPauser", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "pause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renouncePauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "unpause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/RenToken/RenToken.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - "0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - }, - "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - } - }, - "links": {}, - "address": "0x2cd647668494c1b15743ab283a0f980d90a87394", - "transactionHash": "0xc0240fedd500768ccfdba93ab039d8a3585e8551b66eaa2c5c0e4c31004fc410" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/RenZEC.json b/build/devnet/RenZEC.json deleted file mode 100644 index f0b92cd6..00000000 --- a/build/devnet/RenZEC.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "RenZEC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x6f35D542f3E0886281fb6152010fb52aC6B931F6", - "transactionHash": "0x3bdcd0f94ece64cf1be4c611b266bda1983c833f072f92b70f9a9280b6208e47" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/devnet/ZECGateway.json b/build/devnet/ZECGateway.json deleted file mode 100644 index 43e735f1..00000000 --- a/build/devnet/ZECGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "ZECGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x3E31c6E07Eb4C471A6443e90E304E9C68dcdEd7d", - "transactionHash": "0xa958a4280f650a60b8aa9c9048b78a7defc6e54ae16f9e3cb384a84f08e3405a" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/erc/ERC20.json b/build/erc/ERC20.json deleted file mode 100644 index 4daffd64..00000000 --- a/build/erc/ERC20.json +++ /dev/null @@ -1,211 +0,0 @@ -{ - "contractName": "ERC20", - "abi": [{ - "constant": false, - "inputs": [{ - "name": "spender", - "type": "address" - }, - { - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [{ - "name": "", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "sender", - "type": "address" - }, - { - "name": "recipient", - "type": "address" - }, - { - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [{ - "name": "", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [{ - "name": "account", - "type": "address" - }], - "name": "balanceOf", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [{ - "name": "recipient", - "type": "address" - }, - { - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [{ - "name": "", - "type": "bool" - }], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [{ - "name": "owner", - "type": "address" - }, - { - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [{ - "name": "", - "type": "uint256" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ - "name": "name", - "type": "string" - }, - { - "name": "symbol", - "type": "string" - }, - { - "name": "decimals", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [{ - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "to", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [{ - "name": "", - "type": "string" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [{ - "name": "", - "type": "string" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [{ - "name": "", - "type": "uint8" - }], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ] -} \ No newline at end of file diff --git a/build/localnet/BCHGateway.json b/build/localnet/BCHGateway.json deleted file mode 100644 index da2f4e40..00000000 --- a/build/localnet/BCHGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "BCHGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xEA96469Cd32D00b2EA1B00d9796e70b71134eD3f", - "transactionHash": "0x5413ac3c2e5474df163a43f361171eb70c9b850fb547cc72a671a1140a02433e" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/BTCGateway.json b/build/localnet/BTCGateway.json deleted file mode 100644 index 5c3b1d29..00000000 --- a/build/localnet/BTCGateway.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "BTCGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xA86B7E2C8f45334EE63A379c6C84EAC539d98acA" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/BasicAdapter.json b/build/localnet/BasicAdapter.json deleted file mode 100644 index 04cfe7a4..00000000 --- a/build/localnet/BasicAdapter.json +++ /dev/null @@ -1,294 +0,0 @@ -{ - "contractName": "BasicAdapter", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IGatewayRegistry", - "name": "_registry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "relay", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes", - "name": "encodedFunction", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "transactionFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleCharge", - "type": "uint256" - } - ], - "name": "acceptRelayedCall", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "actualCharge", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "preRetVal", - "type": "bytes32" - } - ], - "name": "postRelayedCall", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - } - ], - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "relayHubVersion", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "setDefaultRelayHub", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/adapters/BasicAdapter.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - } - }, - "links": {}, - "address": "0xD98d8EFF683129d040357439AbA49577452ECcaA" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/DarknodePayment.json b/build/localnet/DarknodePayment.json deleted file mode 100644 index 8dd09735..00000000 --- a/build/localnet/DarknodePayment.json +++ /dev/null @@ -1,1052 +0,0 @@ -{ - "contractName": "DarknodePayment", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - }, - { - "internalType": "contract DarknodePaymentStore", - "name": "_darknodePaymentStore", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_cyclePayoutPercent", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "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" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "changeCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - } - ], - "name": "claim", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "currentCycleRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleChanger", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deregisterToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "pendingTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "previousCycleRewardShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "registerToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "registeredTokenIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rewardClaimed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "tokenPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodePayment", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "unclaimedRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_addr", - "type": "address" - } - ], - "name": "updateCycleChanger", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percent", - "type": "uint256" - } - ], - "name": "updatePayoutPercentage", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "_darknodes", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_tokens", - "type": "address[]" - } - ], - "name": "withdrawMultiple", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePayment.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x9d549c7da0887b9da28aa4897e17429f78345be76b1918673be3430462a4d130": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - "0x99c5ad5c5f898b30039b8cc54b8c0e6eb423e49bfc965a5999ebad131984e40d": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0xd390ef311a884ffc07fe929afa495d106c89041c9b8a73abd2e4f23d6c9c05c0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - "0x5f5d9f6f8b84a834e704e76b91a16ddc49abe97d37d6e61572febf8f1b56f7ce": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - "0x0855549798088e618c4eccab56d3fa69209935ef7bc4ffe7200dff654d975643": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - "0xe46f21bb6906b7d69a6c06d5662a2b6c1c59d134cd7b1235babdb1a70a4b436a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - "0xd780ddbc43f0c4efd61c5ca1bc8eeee3368abfb1f97aa7355da9f8bf8431c8ae": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x6C71C070e99a2585A72Ae3C8199d9326Ad9E898F", - "transactionHash": "0xb7d6c6a1e736df6d1ec3277b68d87b94fbf479a024d3d59451704175d4efc97e" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/DarknodePaymentStore.json b/build/localnet/DarknodePaymentStore.json deleted file mode 100644 index 6d083600..00000000 --- a/build/localnet/DarknodePaymentStore.json +++ /dev/null @@ -1,342 +0,0 @@ -{ - "contractName": "DarknodePaymentStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "availableBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "incrementDarknodeBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lockedBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "totalBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - } - ], - "name": "transfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePaymentStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x45378fF097d385a342557D291dE59f44f4250982", - "transactionHash": "0x811eb4f3d6ff20255dcdf167993327c6289e4d7a8a8cbdeaa0dc52480f707bda" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/DarknodeRegistryLogicV1.json b/build/localnet/DarknodeRegistryLogicV1.json deleted file mode 100644 index ef8160c1..00000000 --- a/build/localnet/DarknodeRegistryLogicV1.json +++ /dev/null @@ -1,1388 +0,0 @@ -{ - "contractName": "DarknodeRegistryLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "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" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "deregister", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "deregistrationInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "epoch", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getPreviousDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_renAddress", - "type": "address" - }, - { - "internalType": "contract DarknodeRegistryStore", - "name": "_storeAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_minimumBond", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumPodSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumEpochIntervalSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregistrationIntervalSeconds", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregisterable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingDeregistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefundable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefunded", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegisteredInPreviousEpoch", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextSlasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesNextEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesPreviousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "refund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "register", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "slasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "_darknodePayment", - "type": "address" - } - ], - "name": "updateDarknodePayment", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "updateMinimumBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "updateMinimumEpochInterval", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "updateMinimumPodSize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "_slasher", - "type": "address" - } - ], - "name": "updateSlasher", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xf73268ea792d9dbf3e21a95ec9711f0b535c5f6c99f6b4f54f6766838086b842": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - "0xe3e25a79a5ba7c894fcc55794b2712e225537e89f777b9b9df307cc5504ba0e9": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - "0x3eeec3803912dfbf607c8488e8aee15f415e51c9936250a5142642c9e470c128": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - "0x7c56cb7f63b6922d24414bf7c2b2c40c7ea1ea637c3f400efa766a85ecf2f093": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - "0xb43e0cc88b4d6ae901c6c99d1b58769cb8c9ded8e6f20a0d3712d09bf9e1ea77": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - "0x7c77c94944e9e4e5b0d46f1297127d060020792687cd743401d782346c68f655": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - "0xb218cde2730b79a0667ddf869466ee66a12ef56fe65fa4986a590f8a7108c9de": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - "0x6d520e46e5714982ddf8cb6216bcb3e1c1d5b79d337afc305335f819394f5d6a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - "0xaf2fc4796f2932ce294c3684deffe5098d3ef65dc2dd64efa80ef94eed88b01e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - "0x933228a1c3ba8fadd3ce47a9db5b898be647f89af99ba7c1b9a655f59ea306c8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xCd5e48F6F48abAFA46266395AD1C1B7b2219d0aE", - "transactionHash": "0x603d635eea04b40d9178934b6bf008c3e8928802168c8ac172f49d81acc0b988" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/DarknodeRegistryProxy.json b/build/localnet/DarknodeRegistryProxy.json deleted file mode 100644 index 1e51112f..00000000 --- a/build/localnet/DarknodeRegistryProxy.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "DarknodeRegistryProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x6adCF5Ba6e299Cf18D839795997A3c6844f37175", - "transactionHash": "0x44339433387ee17c64f394212ea4158b26046a091b990725a4adcb517abfe2d9" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/DarknodeRegistryStore.json b/build/localnet/DarknodeRegistryStore.json deleted file mode 100644 index ff34641f..00000000 --- a/build/localnet/DarknodeRegistryStore.json +++ /dev/null @@ -1,464 +0,0 @@ -{ - "contractName": "DarknodeRegistryStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_ren", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_darknodeOperator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_registeredAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregisteredAt", - "type": "uint256" - } - ], - "name": "appendDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "begin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeDeregisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeRegisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "next", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "removeDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decreasedBond", - "type": "uint256" - } - ], - "name": "updateDarknodeBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deregisteredAt", - "type": "uint256" - } - ], - "name": "updateDarknodeDeregisteredAt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistryStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xB38e11c615e14aE44173170763753733410D7432", - "transactionHash": "0x1f75d42e5f83f84ae798e4daef8e1e509dff7e28f2ea45449ce485f335910f9d" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/DarknodeSlasher.json b/build/localnet/DarknodeSlasher.json deleted file mode 100644 index ec6e1b8e..00000000 --- a/build/localnet/DarknodeSlasher.json +++ /dev/null @@ -1,609 +0,0 @@ -{ - "contractName": "DarknodeSlasher", - "abi": [ - { - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - } - ], - "name": "blacklist", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "blacklistSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "blacklisted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maliciousSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "secretRevealSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "secretRevealed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setBlacklistSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setMaliciousSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setSecretRevealSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrecommit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrevote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound2", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePropose", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_b", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_c", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_d", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_e", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_f", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - } - ], - "name": "slashSecretReveal", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "slashed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeSlasher/DarknodeSlasher.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x65852e7ECC0eC12dC7e4b198D72e0D590029cDa9", - "transactionHash": "0x045f390f10365720f48d581bbb71ac4201ac98bef7f6631e998438af008e4c12" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/GatewayLogicV1.json b/build/localnet/GatewayLogicV1.json deleted file mode 100644 index adff0502..00000000 --- a/build/localnet/GatewayLogicV1.json +++ /dev/null @@ -1,719 +0,0 @@ -{ - "contractName": "GatewayLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "burnFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - } - ], - "name": "hashForSignature", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_mintAuthority", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_mintFee", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "_burnFee", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBurnAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintAuthority", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextN", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "status", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayLogicV1", - "name": "_nextTokenOwner", - "type": "address" - } - ], - "name": "transferTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextBurnFee", - "type": "uint16" - } - ], - "name": "updateBurnFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextFeeRecipient", - "type": "address" - } - ], - "name": "updateFeeRecipient", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "updateMinimumBurnAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextMintAuthority", - "type": "address" - } - ], - "name": "updateMintAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextMintFee", - "type": "uint16" - } - ], - "name": "updateMintFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "verifySignature", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x1619fc95050ffb8c94c9077c82b3e1ebbf8d571b6234241c55ba0aaf40da019e": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - "0xa58ba939eb08dab7eaf8ad09c16e7405ee88e5153e15da62d5481296a9f727fa": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - "0xf0f08e606c1dd3a2c220ada53422fd9fe0aa75614b27db0549f649de3ad2072a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xb862cE796ac356E4F26507Fa297D5D07Ee4EC8EB" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/GatewayRegistry.json b/build/localnet/GatewayRegistry.json deleted file mode 100644 index a3dd942d..00000000 --- a/build/localnet/GatewayRegistry.json +++ /dev/null @@ -1,556 +0,0 @@ -{ - "contractName": "GatewayRegistry", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - } - ], - "name": "removeGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "setGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "symbolIsValid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "updateGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/GatewayRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x1832eb340d558a3c05C48247C6dF862Fde863ebB" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/ProtocolLogicV1.json b/build/localnet/ProtocolLogicV1.json deleted file mode 100644 index 759b8733..00000000 --- a/build/localnet/ProtocolLogicV1.json +++ /dev/null @@ -1,575 +0,0 @@ -{ - "contractName": "ProtocolLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newDarknodeRegistry", - "type": "address" - } - ], - "name": "_updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "_newGatewayRegistry", - "type": "address" - } - ], - "name": "_updateGatewayRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract DarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePaymentStore", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistryStore", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeSlasher", - "outputs": [ - { - "internalType": "contract DarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "gatewayRegistry", - "outputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "renToken", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xbD276BBAba798339007546392DAEF201EaFA780C", - "transactionHash": "0x2cde7c0185edffacb251626f7c3e28c6a0250d6777f03613ab1ce772b67254ce" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/ProtocolProxy.json b/build/localnet/ProtocolProxy.json deleted file mode 100644 index 6df0b2df..00000000 --- a/build/localnet/ProtocolProxy.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "ProtocolProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xE773eDEb42c56aD10456595b8e03C26BC6cde468", - "transactionHash": "0x9be6c5117be49a63dece2365ebb528e53d15c39ba75e81486a130135111450bd" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/RenBCH.json b/build/localnet/RenBCH.json deleted file mode 100644 index 8806b08e..00000000 --- a/build/localnet/RenBCH.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "RenBCH", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xDF75fb289007DEedcd60f34a069D2941D3448E22", - "transactionHash": "0xf71e7a60db32cbd5aee0f4cacda2584cc2005a899bed24b72769ff7aba791061" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/RenBTC.json b/build/localnet/RenBTC.json deleted file mode 100644 index 0dd41c01..00000000 --- a/build/localnet/RenBTC.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "RenBTC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x74D4d4528E948bCebAE54810F2100B9278cb8dEc" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/RenERC20LogicV1.json b/build/localnet/RenERC20LogicV1.json deleted file mode 100644 index 455cbbfc..00000000 --- a/build/localnet/RenERC20LogicV1.json +++ /dev/null @@ -1,937 +0,0 @@ -{ - "contractName": "RenERC20LogicV1", - "abi": [ - { - "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": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "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": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "_rateScale", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - } - ], - "name": "fromUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "allowed", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextRate", - "type": "uint256" - } - ], - "name": "setExchangeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "toUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x9d6ef0d454e23e234e8c1cf70cee49a44226ffb036017442229a7a5bd1d0957e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - } - }, - "links": {}, - "address": "0x4337DBfAC0348cd81c167CdB382d0c0B43e60187" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/RenProxyAdmin.json b/build/localnet/RenProxyAdmin.json deleted file mode 100644 index 0f1456a7..00000000 --- a/build/localnet/RenProxyAdmin.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "contractName": "RenProxyAdmin", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeProxyAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyImplementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Governance/RenProxyAdmin.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xC822a36df55b8f88E48417A4765C7Fe27170D8eC", - "transactionHash": "0x309f35f0c734badf1a9c201a65b371e65d29547a0fff32ab10388b1da5c57378" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/RenToken.json b/build/localnet/RenToken.json deleted file mode 100644 index 3d4e470c..00000000 --- a/build/localnet/RenToken.json +++ /dev/null @@ -1,757 +0,0 @@ -{ - "contractName": "RenToken", - "abi": [ - { - "inputs": [], - "payable": false, - "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": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addPauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isPauser", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "pause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renouncePauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "unpause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/RenToken/RenToken.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - "0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - }, - "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - } - }, - "links": {}, - "address": "0x2cd647668494c1b15743ab283a0f980d90a87394" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/RenZEC.json b/build/localnet/RenZEC.json deleted file mode 100644 index e1105c11..00000000 --- a/build/localnet/RenZEC.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "RenZEC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x1c2B80b7444FC6235DE9ABdf68900E4EDb2b2617", - "transactionHash": "0xb2baa3e66912c4c8caa839ab86137032ddfd1f97c2e165eb8f4da4f44248b496" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/localnet/ZECGateway.json b/build/localnet/ZECGateway.json deleted file mode 100644 index 5b4ab597..00000000 --- a/build/localnet/ZECGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "ZECGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x36e668b46DF1b4DfFb843FF8dbb6DBf7200AEAC9", - "transactionHash": "0x7aba944c8ad6738f34ac8c9156927c9e14c1811ed6446a5aa245c9e12ad39373" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/BCHGateway.json b/build/mainnet/BCHGateway.json deleted file mode 100644 index 40accd3a..00000000 --- a/build/mainnet/BCHGateway.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "BCHGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xCc4FF5b8A4A7adb35F00ff0CBf53784e07c3C52F" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/BTCGateway.json b/build/mainnet/BTCGateway.json deleted file mode 100644 index 9037454c..00000000 --- a/build/mainnet/BTCGateway.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "BTCGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xe4b679400F0f267212D5D812B95f58C83243EE71" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/BasicAdapter.json b/build/mainnet/BasicAdapter.json deleted file mode 100644 index 2fa822e5..00000000 --- a/build/mainnet/BasicAdapter.json +++ /dev/null @@ -1,294 +0,0 @@ -{ - "contractName": "BasicAdapter", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IGatewayRegistry", - "name": "_registry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "relay", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes", - "name": "encodedFunction", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "transactionFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleCharge", - "type": "uint256" - } - ], - "name": "acceptRelayedCall", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "actualCharge", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "preRetVal", - "type": "bytes32" - } - ], - "name": "postRelayedCall", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - } - ], - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "relayHubVersion", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "setDefaultRelayHub", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/adapters/BasicAdapter.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - } - }, - "links": {}, - "address": "0x32666B64e9fD0F44916E1378Efb2CFa3B3B96e80" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/DarknodePayment.json b/build/mainnet/DarknodePayment.json deleted file mode 100644 index 95677f59..00000000 --- a/build/mainnet/DarknodePayment.json +++ /dev/null @@ -1,1051 +0,0 @@ -{ - "contractName": "DarknodePayment", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - }, - { - "internalType": "contract DarknodePaymentStore", - "name": "_darknodePaymentStore", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_cyclePayoutPercent", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "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" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "changeCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - } - ], - "name": "claim", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "currentCycleRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleChanger", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deregisterToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "pendingTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "previousCycleRewardShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "registerToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "registeredTokenIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rewardClaimed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "tokenPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodePayment", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "unclaimedRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_addr", - "type": "address" - } - ], - "name": "updateCycleChanger", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percent", - "type": "uint256" - } - ], - "name": "updatePayoutPercentage", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "_darknodes", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_tokens", - "type": "address[]" - } - ], - "name": "withdrawMultiple", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePayment.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x9d549c7da0887b9da28aa4897e17429f78345be76b1918673be3430462a4d130": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - "0x99c5ad5c5f898b30039b8cc54b8c0e6eb423e49bfc965a5999ebad131984e40d": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0xd390ef311a884ffc07fe929afa495d106c89041c9b8a73abd2e4f23d6c9c05c0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - "0x5f5d9f6f8b84a834e704e76b91a16ddc49abe97d37d6e61572febf8f1b56f7ce": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - "0x0855549798088e618c4eccab56d3fa69209935ef7bc4ffe7200dff654d975643": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - "0xe46f21bb6906b7d69a6c06d5662a2b6c1c59d134cd7b1235babdb1a70a4b436a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - "0xd780ddbc43f0c4efd61c5ca1bc8eeee3368abfb1f97aa7355da9f8bf8431c8ae": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x098e1708b920EFBdD7afe33Adb6a4CBa30c370B9" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/DarknodePaymentStore.json b/build/mainnet/DarknodePaymentStore.json deleted file mode 100644 index cb521536..00000000 --- a/build/mainnet/DarknodePaymentStore.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "contractName": "DarknodePaymentStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "availableBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "incrementDarknodeBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lockedBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "totalBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - } - ], - "name": "transfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePaymentStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xE33417797d6b8Aec9171d0d6516E88002fbe23E7" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/DarknodeRegistryLogicV1.json b/build/mainnet/DarknodeRegistryLogicV1.json deleted file mode 100644 index 9030095f..00000000 --- a/build/mainnet/DarknodeRegistryLogicV1.json +++ /dev/null @@ -1,1387 +0,0 @@ -{ - "contractName": "DarknodeRegistryLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "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" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "deregister", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "deregistrationInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "epoch", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getPreviousDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_renAddress", - "type": "address" - }, - { - "internalType": "contract DarknodeRegistryStore", - "name": "_storeAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_minimumBond", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumPodSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumEpochIntervalSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregistrationIntervalSeconds", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregisterable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingDeregistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefundable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefunded", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegisteredInPreviousEpoch", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextSlasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesNextEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesPreviousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "refund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "register", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "slasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "_darknodePayment", - "type": "address" - } - ], - "name": "updateDarknodePayment", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "updateMinimumBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "updateMinimumEpochInterval", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "updateMinimumPodSize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "_slasher", - "type": "address" - } - ], - "name": "updateSlasher", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xf73268ea792d9dbf3e21a95ec9711f0b535c5f6c99f6b4f54f6766838086b842": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - "0xe3e25a79a5ba7c894fcc55794b2712e225537e89f777b9b9df307cc5504ba0e9": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - "0x3eeec3803912dfbf607c8488e8aee15f415e51c9936250a5142642c9e470c128": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - "0x7c56cb7f63b6922d24414bf7c2b2c40c7ea1ea637c3f400efa766a85ecf2f093": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - "0xb43e0cc88b4d6ae901c6c99d1b58769cb8c9ded8e6f20a0d3712d09bf9e1ea77": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - "0x7c77c94944e9e4e5b0d46f1297127d060020792687cd743401d782346c68f655": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - "0xb218cde2730b79a0667ddf869466ee66a12ef56fe65fa4986a590f8a7108c9de": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - "0x6d520e46e5714982ddf8cb6216bcb3e1c1d5b79d337afc305335f819394f5d6a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - "0xaf2fc4796f2932ce294c3684deffe5098d3ef65dc2dd64efa80ef94eed88b01e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - "0x933228a1c3ba8fadd3ce47a9db5b898be647f89af99ba7c1b9a655f59ea306c8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x33b53A700de61b6be01d65A758b3635584bCF140" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/DarknodeRegistryProxy.json b/build/mainnet/DarknodeRegistryProxy.json deleted file mode 100644 index 11c9bfa6..00000000 --- a/build/mainnet/DarknodeRegistryProxy.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "DarknodeRegistryProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x2D7b6C95aFeFFa50C068D50f89C5C0014e054f0A" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/DarknodeRegistryStore.json b/build/mainnet/DarknodeRegistryStore.json deleted file mode 100644 index f57bb117..00000000 --- a/build/mainnet/DarknodeRegistryStore.json +++ /dev/null @@ -1,463 +0,0 @@ -{ - "contractName": "DarknodeRegistryStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_ren", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_darknodeOperator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_registeredAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregisteredAt", - "type": "uint256" - } - ], - "name": "appendDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "begin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeDeregisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeRegisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "next", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "removeDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decreasedBond", - "type": "uint256" - } - ], - "name": "updateDarknodeBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deregisteredAt", - "type": "uint256" - } - ], - "name": "updateDarknodeDeregisteredAt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistryStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x60Ab11FE605D2A2C3cf351824816772a131f8782" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/DarknodeSlasher.json b/build/mainnet/DarknodeSlasher.json deleted file mode 100644 index 99ade5f8..00000000 --- a/build/mainnet/DarknodeSlasher.json +++ /dev/null @@ -1,608 +0,0 @@ -{ - "contractName": "DarknodeSlasher", - "abi": [ - { - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - } - ], - "name": "blacklist", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "blacklistSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "blacklisted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maliciousSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "secretRevealSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "secretRevealed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setBlacklistSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setMaliciousSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setSecretRevealSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrecommit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrevote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound2", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePropose", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_b", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_c", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_d", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_e", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_f", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - } - ], - "name": "slashSecretReveal", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "slashed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeSlasher/DarknodeSlasher.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x64512ff05a27756694E306e483cBB725F1754C0e" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/GatewayLogicV1.json b/build/mainnet/GatewayLogicV1.json deleted file mode 100644 index 8a67abda..00000000 --- a/build/mainnet/GatewayLogicV1.json +++ /dev/null @@ -1,719 +0,0 @@ -{ - "contractName": "GatewayLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "burnFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - } - ], - "name": "hashForSignature", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_mintAuthority", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_mintFee", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "_burnFee", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBurnAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintAuthority", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextN", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "status", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayLogicV1", - "name": "_nextTokenOwner", - "type": "address" - } - ], - "name": "transferTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextBurnFee", - "type": "uint16" - } - ], - "name": "updateBurnFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextFeeRecipient", - "type": "address" - } - ], - "name": "updateFeeRecipient", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "updateMinimumBurnAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextMintAuthority", - "type": "address" - } - ], - "name": "updateMintAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextMintFee", - "type": "uint16" - } - ], - "name": "updateMintFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "verifySignature", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x1619fc95050ffb8c94c9077c82b3e1ebbf8d571b6234241c55ba0aaf40da019e": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - "0xa58ba939eb08dab7eaf8ad09c16e7405ee88e5153e15da62d5481296a9f727fa": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - "0xf0f08e606c1dd3a2c220ada53422fd9fe0aa75614b27db0549f649de3ad2072a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x402ec534BaF9e8Dd2968c57fDea368f3856460d6" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/GatewayRegistry.json b/build/mainnet/GatewayRegistry.json deleted file mode 100644 index 6a842573..00000000 --- a/build/mainnet/GatewayRegistry.json +++ /dev/null @@ -1,556 +0,0 @@ -{ - "contractName": "GatewayRegistry", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - } - ], - "name": "removeGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "setGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "symbolIsValid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "updateGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/GatewayRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xe80d347DF1209a76DD9d2319d62912ba98C54DDD" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/ProtocolLogicV1.json b/build/mainnet/ProtocolLogicV1.json deleted file mode 100644 index 679e50b8..00000000 --- a/build/mainnet/ProtocolLogicV1.json +++ /dev/null @@ -1,574 +0,0 @@ -{ - "contractName": "ProtocolLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newDarknodeRegistry", - "type": "address" - } - ], - "name": "_updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "_newGatewayRegistry", - "type": "address" - } - ], - "name": "_updateGatewayRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract DarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePaymentStore", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistryStore", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeSlasher", - "outputs": [ - { - "internalType": "contract DarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "gatewayRegistry", - "outputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "renToken", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x8b49f212F2236F4f49bBeff878a73051a8915DE0" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/ProtocolProxy.json b/build/mainnet/ProtocolProxy.json deleted file mode 100644 index 293cce15..00000000 --- a/build/mainnet/ProtocolProxy.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "ProtocolProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xc25167fFa19B4d9d03c7d5aa4682c7063F345b66" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/RenBCH.json b/build/mainnet/RenBCH.json deleted file mode 100644 index 64d09940..00000000 --- a/build/mainnet/RenBCH.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "RenBCH", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x459086F2376525BdCebA5bDDA135e4E9d3FeF5bf" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/RenBTC.json b/build/mainnet/RenBTC.json deleted file mode 100644 index 3fc4e1ad..00000000 --- a/build/mainnet/RenBTC.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "RenBTC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/RenERC20LogicV1.json b/build/mainnet/RenERC20LogicV1.json deleted file mode 100644 index 1b58997c..00000000 --- a/build/mainnet/RenERC20LogicV1.json +++ /dev/null @@ -1,937 +0,0 @@ -{ - "contractName": "RenERC20LogicV1", - "abi": [ - { - "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": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "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": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "_rateScale", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - } - ], - "name": "fromUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "allowed", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextRate", - "type": "uint256" - } - ], - "name": "setExchangeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "toUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x9d6ef0d454e23e234e8c1cf70cee49a44226ffb036017442229a7a5bd1d0957e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - } - }, - "links": {}, - "address": "0xe2d6cCAC3EE3A21AbF7BeDBE2E107FfC0C037e80" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/RenProxyAdmin.json b/build/mainnet/RenProxyAdmin.json deleted file mode 100644 index 866e7830..00000000 --- a/build/mainnet/RenProxyAdmin.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "contractName": "RenProxyAdmin", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeProxyAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyImplementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Governance/RenProxyAdmin.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0xDf1D8eD27C54bBE5833320cf5a19fd9E73530145" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/RenToken.json b/build/mainnet/RenToken.json deleted file mode 100644 index 76943a9b..00000000 --- a/build/mainnet/RenToken.json +++ /dev/null @@ -1,757 +0,0 @@ -{ - "contractName": "RenToken", - "abi": [ - { - "inputs": [], - "payable": false, - "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": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addPauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isPauser", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "pause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renouncePauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "unpause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/RenToken/RenToken.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - "0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - }, - "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - } - }, - "links": {}, - "address": "0x408e41876cCCDC0F92210600ef50372656052a38" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/RenZEC.json b/build/mainnet/RenZEC.json deleted file mode 100644 index 287373c1..00000000 --- a/build/mainnet/RenZEC.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "RenZEC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x1C5db575E2Ff833E46a2E9864C22F4B22E0B37C2" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/mainnet/ZECGateway.json b/build/mainnet/ZECGateway.json deleted file mode 100644 index 1f0e8320..00000000 --- a/build/mainnet/ZECGateway.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "ZECGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "1": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xc3BbD5aDb611dd74eCa6123F05B18acc886e122D" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/BCHGateway.json b/build/testnet/BCHGateway.json deleted file mode 100644 index 8d5fe3c7..00000000 --- a/build/testnet/BCHGateway.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "BCHGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x9827c8a66a2259fd926E7Fd92EA8DF7ed1D813b1", - "transactionHash": "0xa83b659cd76ae534dd59e063e2156b6db3243c006f8410600c9178d8ce767f12" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/BTCGateway.json b/build/testnet/BTCGateway.json deleted file mode 100644 index ec6618da..00000000 --- a/build/testnet/BTCGateway.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "BTCGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x55363c0dBf97Ff9C0e31dAfe0fC99d3e9ce50b8A" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/BasicAdapter.json b/build/testnet/BasicAdapter.json deleted file mode 100644 index cb241392..00000000 --- a/build/testnet/BasicAdapter.json +++ /dev/null @@ -1,294 +0,0 @@ -{ - "contractName": "BasicAdapter", - "abi": [ - { - "inputs": [ - { - "internalType": "contract IGatewayRegistry", - "name": "_registry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "relay", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "bytes", - "name": "encodedFunction", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "transactionFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleCharge", - "type": "uint256" - } - ], - "name": "acceptRelayedCall", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "actualCharge", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "preRetVal", - "type": "bytes32" - } - ], - "name": "postRelayedCall", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - } - ], - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "relayHubVersion", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "setDefaultRelayHub", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/adapters/BasicAdapter.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xb9f84b8e65164b14439ae3620df0a4d8786d896996c0282b683f9d8c08f046e8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "oldRelayHub", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newRelayHub", - "type": "address" - } - ], - "name": "RelayHubChanged", - "type": "event" - } - }, - "links": {}, - "address": "0x7DDFA2e5435027f6e13Ca8Db2f32ebd5551158Bb" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/DarknodePayment.json b/build/testnet/DarknodePayment.json deleted file mode 100644 index 4f0ac38b..00000000 --- a/build/testnet/DarknodePayment.json +++ /dev/null @@ -1,1052 +0,0 @@ -{ - "contractName": "DarknodePayment", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - }, - { - "internalType": "contract DarknodePaymentStore", - "name": "_darknodePaymentStore", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_cyclePayoutPercent", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "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" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "changeCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - } - ], - "name": "claim", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "currentCycleRewardPool", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleChanger", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "cycleStartTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deposit", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "deregisterToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "forward", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextCyclePayoutPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "pendingTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousCycle", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "previousCycleRewardShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "registerToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "registeredTokenIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "rewardClaimed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "tokenPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodePayment", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "unclaimedRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_addr", - "type": "address" - } - ], - "name": "updateCycleChanger", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percent", - "type": "uint256" - } - ], - "name": "updatePayoutPercentage", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address[]", - "name": "_darknodes", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_tokens", - "type": "address[]" - } - ], - "name": "withdrawMultiple", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePayment.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x9d549c7da0887b9da28aa4897e17429f78345be76b1918673be3430462a4d130": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newCycleChanger", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_oldCycleChanger", - "type": "address" - } - ], - "name": "LogCycleChangerChanged", - "type": "event" - }, - "0x99c5ad5c5f898b30039b8cc54b8c0e6eb423e49bfc965a5999ebad131984e40d": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_cycle", - "type": "uint256" - } - ], - "name": "LogDarknodeClaim", - "type": "event" - }, - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0xd390ef311a884ffc07fe929afa495d106c89041c9b8a73abd2e4f23d6c9c05c0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "LogDarknodeWithdrew", - "type": "event" - }, - "0x5f5d9f6f8b84a834e704e76b91a16ddc49abe97d37d6e61572febf8f1b56f7ce": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_payer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogPaymentReceived", - "type": "event" - }, - "0x0855549798088e618c4eccab56d3fa69209935ef7bc4ffe7200dff654d975643": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_newPercent", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_oldPercent", - "type": "uint256" - } - ], - "name": "LogPayoutPercentChanged", - "type": "event" - }, - "0xe46f21bb6906b7d69a6c06d5662a2b6c1c59d134cd7b1235babdb1a70a4b436a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenDeregistered", - "type": "event" - }, - "0xd780ddbc43f0c4efd61c5ca1bc8eeee3368abfb1f97aa7355da9f8bf8431c8ae": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "LogTokenRegistered", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x023f2e94C3eb128D3bFa6317a3fF860BF93C1616", - "transactionHash": "0x9617ee1c99a4dfb22f8e4242d0f5b5e3d17b8aa6ff212564051bce855d49ae83" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/DarknodePaymentStore.json b/build/testnet/DarknodePaymentStore.json deleted file mode 100644 index 36d7fa2a..00000000 --- a/build/testnet/DarknodePaymentStore.json +++ /dev/null @@ -1,342 +0,0 @@ -{ - "contractName": "DarknodePaymentStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [], - "name": "ETHEREUM", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "availableBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "darknodeBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "incrementDarknodeBalance", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lockedBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "totalBalance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknode", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - } - ], - "name": "transfer", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodePayment/DarknodePaymentStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x0EC73cCDCd8e643d909D0c4b663Eb1B2Fb0b1e1C", - "transactionHash": "0x40434a705a19dcee892f8f7ba35b2a161745040a51ec67d366279ed19ff55088" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/DarknodeRegistryLogicV1.json b/build/testnet/DarknodeRegistryLogicV1.json deleted file mode 100644 index 42eccfb8..00000000 --- a/build/testnet/DarknodeRegistryLogicV1.json +++ /dev/null @@ -1,1388 +0,0 @@ -{ - "contractName": "DarknodeRegistryLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "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" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "deregister", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "deregistrationInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "epoch", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "getDarknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getPreviousDarknodes", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_renAddress", - "type": "address" - }, - { - "internalType": "contract DarknodeRegistryStore", - "name": "_storeAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_minimumBond", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumPodSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minimumEpochIntervalSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregistrationIntervalSeconds", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregisterable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isDeregistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingDeregistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isPendingRegistration", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefundable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRefunded", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegistered", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "isRegisteredInPreviousEpoch", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumEpochInterval", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextMinimumPodSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextSlasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesNextEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "numDarknodesPreviousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "previousEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blocktime", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "refund", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "register", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "slasher", - "outputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "store", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newOwner", - "type": "address" - } - ], - "name": "transferStoreOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodePayment", - "name": "_darknodePayment", - "type": "address" - } - ], - "name": "updateDarknodePayment", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "updateMinimumBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "updateMinimumEpochInterval", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "updateMinimumPodSize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract IDarknodeSlasher", - "name": "_slasher", - "type": "address" - } - ], - "name": "updateSlasher", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xf73268ea792d9dbf3e21a95ec9711f0b535c5f6c99f6b4f54f6766838086b842": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - } - ], - "name": "LogDarknodeDeregistered", - "type": "event" - }, - "0xe3e25a79a5ba7c894fcc55794b2712e225537e89f777b9b9df307cc5504ba0e9": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_previousDarknodePayment", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract IDarknodePayment", - "name": "_nextDarknodePayment", - "type": "address" - } - ], - "name": "LogDarknodePaymentUpdated", - "type": "event" - }, - "0x3eeec3803912dfbf607c8488e8aee15f415e51c9936250a5142642c9e470c128": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "LogDarknodeRefunded", - "type": "event" - }, - "0x7c56cb7f63b6922d24414bf7c2b2c40c7ea1ea637c3f400efa766a85ecf2f093": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - } - ], - "name": "LogDarknodeRegistered", - "type": "event" - }, - "0xb43e0cc88b4d6ae901c6c99d1b58769cb8c9ded8e6f20a0d3712d09bf9e1ea77": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_darknodeOperator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "LogDarknodeSlashed", - "type": "event" - }, - "0x7c77c94944e9e4e5b0d46f1297127d060020792687cd743401d782346c68f655": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumBond", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumBond", - "type": "uint256" - } - ], - "name": "LogMinimumBondUpdated", - "type": "event" - }, - "0xb218cde2730b79a0667ddf869466ee66a12ef56fe65fa4986a590f8a7108c9de": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumEpochInterval", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumEpochInterval", - "type": "uint256" - } - ], - "name": "LogMinimumEpochIntervalUpdated", - "type": "event" - }, - "0x6d520e46e5714982ddf8cb6216bcb3e1c1d5b79d337afc305335f819394f5d6a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "_previousMinimumPodSize", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_nextMinimumPodSize", - "type": "uint256" - } - ], - "name": "LogMinimumPodSizeUpdated", - "type": "event" - }, - "0xaf2fc4796f2932ce294c3684deffe5098d3ef65dc2dd64efa80ef94eed88b01e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "epochhash", - "type": "uint256" - } - ], - "name": "LogNewEpoch", - "type": "event" - }, - "0x933228a1c3ba8fadd3ce47a9db5b898be647f89af99ba7c1b9a655f59ea306c8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_previousSlasher", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_nextSlasher", - "type": "address" - } - ], - "name": "LogSlasherUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x046EDe9916e13De79d5530b67FF5dEbB7B72742C", - "transactionHash": "0x46b9f13071e1a76a51ed7445124fc11df38aba3d625b6fab1ee5219940566ef5" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/DarknodeRegistryProxy.json b/build/testnet/DarknodeRegistryProxy.json deleted file mode 100644 index a7b68f1f..00000000 --- a/build/testnet/DarknodeRegistryProxy.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "DarknodeRegistryProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x9954C9F839b31E82bc9CA98F234313112D269712", - "transactionHash": "0x5792e8220172e77122d16d465fd231c187fd036c2421c3fd46c7a034e000524f" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/DarknodeRegistryStore.json b/build/testnet/DarknodeRegistryStore.json deleted file mode 100644 index 31ac14be..00000000 --- a/build/testnet/DarknodeRegistryStore.json +++ /dev/null @@ -1,464 +0,0 @@ -{ - "contractName": "DarknodeRegistryStore", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_VERSION", - "type": "string" - }, - { - "internalType": "contract RenToken", - "name": "_ren", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "VERSION", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_darknodeID", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_darknodeOperator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bond", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_registeredAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_deregisteredAt", - "type": "uint256" - } - ], - "name": "appendDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "begin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeBond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeDeregisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeOperator", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodePublicKey", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "darknodeRegisteredAt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "next", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - } - ], - "name": "removeDarknode", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "ren", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decreasedBond", - "type": "uint256" - } - ], - "name": "updateDarknodeBond", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "darknodeID", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deregisteredAt", - "type": "uint256" - } - ], - "name": "updateDarknodeDeregisteredAt", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeRegistry/DarknodeRegistryStore.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x9daa16aA19e37f3de06197a8B5E638EC5e487392", - "transactionHash": "0x51a19d88bb1d3d2b58d6d957a6cc2161e33b25135a4919ca545c2440fa8e24ee" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/DarknodeSlasher.json b/build/testnet/DarknodeSlasher.json deleted file mode 100644 index 82d760af..00000000 --- a/build/testnet/DarknodeSlasher.json +++ /dev/null @@ -1,609 +0,0 @@ -{ - "contractName": "DarknodeSlasher", - "abi": [ - { - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - } - ], - "name": "blacklist", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "blacklistSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "blacklisted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "maliciousSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "secretRevealSlashPercent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "secretRevealed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setBlacklistSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setMaliciousSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "setSecretRevealSlashPercent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_guilty", - "type": "address" - }, - { - "internalType": "address", - "name": "_challenger", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_percentage", - "type": "uint256" - } - ], - "name": "slash", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrecommit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePrevote", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_height", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_round", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_blockhash1", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature1", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_blockhash2", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_validRound2", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature2", - "type": "bytes" - } - ], - "name": "slashDuplicatePropose", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_a", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_b", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_c", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_d", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_e", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_f", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - } - ], - "name": "slashSecretReveal", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "slashed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_darknodeRegistry", - "type": "address" - } - ], - "name": "updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/DarknodeSlasher/DarknodeSlasher.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xf9f6dd5c784f63cc27c1079c73574a73485a6c2e7f7e2181c5eb2be8c693cfb7": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_previousDarknodeRegistry", - "type": "address" - }, - { - "indexed": true, - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_nextDarknodeRegistry", - "type": "address" - } - ], - "name": "LogDarknodeRegistryUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x5B403bdC360A447290758c8BA779c44cdFC3476F", - "transactionHash": "0xc8d3510ed09372406ee1bffc9e8e794d01afcdf16345f0f7e1c4d9fc2a2de82b" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/GatewayLogicV1.json b/build/testnet/GatewayLogicV1.json deleted file mode 100644 index 4ac51897..00000000 --- a/build/testnet/GatewayLogicV1.json +++ /dev/null @@ -1,719 +0,0 @@ -{ - "contractName": "GatewayLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "burnFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "feeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - } - ], - "name": "hashForSignature", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_mintAuthority", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_mintFee", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "_burnFee", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "minimumBurnAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes32", - "name": "_pHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintAuthority", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "mintFee", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "nextN", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "status", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract RenERC20LogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayLogicV1", - "name": "_nextTokenOwner", - "type": "address" - } - ], - "name": "transferTokenOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextBurnFee", - "type": "uint16" - } - ], - "name": "updateBurnFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextFeeRecipient", - "type": "address" - } - ], - "name": "updateFeeRecipient", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_minimumBurnAmount", - "type": "uint256" - } - ], - "name": "updateMinimumBurnAmount", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextMintAuthority", - "type": "address" - } - ], - "name": "updateMintAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint16", - "name": "_nextMintFee", - "type": "uint16" - } - ], - "name": "updateMintFee", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "_sig", - "type": "bytes" - } - ], - "name": "verifySignature", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x1619fc95050ffb8c94c9077c82b3e1ebbf8d571b6234241c55ba0aaf40da019e": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "_to", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes", - "name": "_indexedTo", - "type": "bytes" - } - ], - "name": "LogBurn", - "type": "event" - }, - "0xa58ba939eb08dab7eaf8ad09c16e7405ee88e5153e15da62d5481296a9f727fa": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_n", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "_signedMessageHash", - "type": "bytes32" - } - ], - "name": "LogMint", - "type": "event" - }, - "0xf0f08e606c1dd3a2c220ada53422fd9fe0aa75614b27db0549f649de3ad2072a": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_newMintAuthority", - "type": "address" - } - ], - "name": "LogMintAuthorityUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x080d856994Fed1124c93AcA580aF035a86e9e9c7" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/GatewayRegistry.json b/build/testnet/GatewayRegistry.json deleted file mode 100644 index 5fff8a57..00000000 --- a/build/testnet/GatewayRegistry.json +++ /dev/null @@ -1,556 +0,0 @@ -{ - "contractName": "GatewayRegistry", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - } - ], - "name": "removeGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "setGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "symbolIsValid", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "updateGateway", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/GatewayRegistry.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayContract", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayContract", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayContract", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x557e211EC5fc9a6737d2C6b7a1aDe3e0C11A8D5D" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/ProtocolLogicV1.json b/build/testnet/ProtocolLogicV1.json deleted file mode 100644 index 1b388615..00000000 --- a/build/testnet/ProtocolLogicV1.json +++ /dev/null @@ -1,575 +0,0 @@ -{ - "contractName": "ProtocolLogicV1", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "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" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "_newDarknodeRegistry", - "type": "address" - } - ], - "name": "_updateDarknodeRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "_newGatewayRegistry", - "type": "address" - } - ], - "name": "_updateGatewayRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePayment", - "outputs": [ - { - "internalType": "contract DarknodePayment", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodePaymentStore", - "outputs": [ - { - "internalType": "contract DarknodePaymentStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistry", - "outputs": [ - { - "internalType": "contract DarknodeRegistryLogicV1", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeRegistryStore", - "outputs": [ - { - "internalType": "contract DarknodeRegistryStore", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "darknodeSlasher", - "outputs": [ - { - "internalType": "contract DarknodeSlasher", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "gatewayRegistry", - "outputs": [ - { - "internalType": "contract GatewayRegistry", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getGatewayBySymbol", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "name": "getGatewayByToken", - "outputs": [ - { - "internalType": "contract IGateway", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getGateways", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_start", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_count", - "type": "uint256" - } - ], - "name": "getRenTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "name": "getTokenBySymbol", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "renToken", - "outputs": [ - { - "internalType": "contract RenToken", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0xea98e49727cf7c3a8c3926a036a6d41047c9b766d9109f22962950f37a2094aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayDeregistered", - "type": "event" - }, - "0xd433aae9ea620c1976ff88f75c629f477dbffe6bf277edad8a31c983117ab32a": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "_indexedSymbol", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_gatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayRegistered", - "type": "event" - }, - "0x2dc9e208c924a5b14066ecb7121b371da427e696ad69456ed07a52cd2a710d99": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_currentGatewayAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_newGatewayAddress", - "type": "address" - } - ], - "name": "LogGatewayUpdated", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x43d39d7ea61741f26E09D377F4E79B1F847Dc356", - "transactionHash": "0xcf278a30b3f4eb4eead20f5b4c022ce7e134ffc89dc61f1a26e9107cf2215a04" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/ProtocolProxy.json b/build/testnet/ProtocolProxy.json deleted file mode 100644 index 6f3a68c1..00000000 --- a/build/testnet/ProtocolProxy.json +++ /dev/null @@ -1,214 +0,0 @@ -{ - "contractName": "ProtocolProxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Protocol/Protocol.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x59e23c087cA9bd9ce162875811CD6e99134D6d0F", - "transactionHash": "0x61b13d0aac547cef1bf7ef582236a9f457a0b9cca5c374a169b57cd29ff1a918" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/RenBCH.json b/build/testnet/RenBCH.json deleted file mode 100644 index d32e625e..00000000 --- a/build/testnet/RenBCH.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "RenBCH", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x618dC53e856b1A601119F2Fed5F1E873bCf7Bd6e" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/RenBTC.json b/build/testnet/RenBTC.json deleted file mode 100644 index 0fc1f290..00000000 --- a/build/testnet/RenBTC.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "RenBTC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x0A9ADD98C076448CBcFAcf5E457DA12ddbEF4A8f" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/RenERC20LogicV1.json b/build/testnet/RenERC20LogicV1.json deleted file mode 100644 index bab70960..00000000 --- a/build/testnet/RenERC20LogicV1.json +++ /dev/null @@ -1,937 +0,0 @@ -{ - "contractName": "RenERC20LogicV1", - "abi": [ - { - "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": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "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": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "_rateScale", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "balanceOfUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "blacklistRecoverableToken", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amountUnderlying", - "type": "uint256" - } - ], - "name": "fromUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_chainId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_version", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_initialRate", - "type": "uint256" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "pendingOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "holder", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expiry", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "allowed", - "type": "bool" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "recoverTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "_nextRate", - "type": "uint256" - } - ], - "name": "setExchangeRate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "toUnderlying", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x9d6ef0d454e23e234e8c1cf70cee49a44226ffb036017442229a7a5bd1d0957e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "_rate", - "type": "uint256" - } - ], - "name": "LogRateChanged", - "type": "event" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - } - }, - "links": {}, - "address": "0xCe77c29b479bDF510f39bc4A2e43B0E4344fAB0f" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/RenProxyAdmin.json b/build/testnet/RenProxyAdmin.json deleted file mode 100644 index 9328da6a..00000000 --- a/build/testnet/RenProxyAdmin.json +++ /dev/null @@ -1,219 +0,0 @@ -{ - "contractName": "RenProxyAdmin", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeProxyAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyAdmin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - } - ], - "name": "getProxyImplementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "contract AdminUpgradeabilityProxy", - "name": "proxy", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Governance/RenProxyAdmin.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - } - }, - "links": {}, - "address": "0x4C695C4Aa6238f0A7092733180328c2E64C912C7", - "transactionHash": "0xad604049b22bd69d4fde2c372448164a52e3afd46fe7b8ecc7d057f7c94eecb0" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/RenToken.json b/build/testnet/RenToken.json deleted file mode 100644 index 3d4e470c..00000000 --- a/build/testnet/RenToken.json +++ /dev/null @@ -1,757 +0,0 @@ -{ - "contractName": "RenToken", - "abi": [ - { - "inputs": [], - "payable": false, - "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": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "INITIAL_SUPPLY", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addPauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "isOwner", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isPauser", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "pause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renouncePauser", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferTokens", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "unpause", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/RenToken/RenToken.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { - "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" - }, - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - "0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - "0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserAdded", - "type": "event" - }, - "0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "PauserRemoved", - "type": "event" - }, - "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { - "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" - }, - "0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - } - }, - "links": {}, - "address": "0x2cd647668494c1b15743ab283a0f980d90a87394" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/RenZEC.json b/build/testnet/RenZEC.json deleted file mode 100644 index 0003d974..00000000 --- a/build/testnet/RenZEC.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "RenZEC", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/RenERC20.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0x42805DA220DF1f8a33C16B0DF9CE876B9d416610" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/build/testnet/ZECGateway.json b/build/testnet/ZECGateway.json deleted file mode 100644 index 04aef001..00000000 --- a/build/testnet/ZECGateway.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "contractName": "ZECGateway", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": false, - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "changeAdmin", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "address", - "name": "_admin", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_logic", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "initialize", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "upgradeTo", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "upgradeToAndCall", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - } - ], - "sourcePath": "~/github/renproject/ren-sol/contracts/Gateway/Gateway.sol", - "compiler": { - "name": "solc", - "version": "0.5.16+commit.9c3226ce.Emscripten.clang" - }, - "networks": { - "42": { - "events": { - "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f": { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b": { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - } - }, - "links": {}, - "address": "0xAACbB1e7bA99F2Ed6bd02eC96C2F9a52013Efe2d" - } - }, - "schemaVersion": "3.0.23" -} \ No newline at end of file diff --git a/contracts/Bindings.sol b/contracts/Bindings.sol index ff42e522..1b1b281e 100644 --- a/contracts/Bindings.sol +++ b/contracts/Bindings.sol @@ -1,13 +1,13 @@ pragma solidity 0.5.17; +import "./DarknodePayment/ClaimRewards.sol"; import "./DarknodePayment/DarknodePayment.sol"; import "./DarknodePayment/DarknodePaymentStore.sol"; import "./DarknodeRegistry/DarknodeRegistry.sol"; import "./DarknodeRegistry/DarknodeRegistryStore.sol"; +import "./DarknodeRegistry/GetOperatorDarknodes.sol"; import "./DarknodeSlasher/DarknodeSlasher.sol"; import "./RenToken/RenToken.sol"; -import "./Gateway/Gateway.sol"; -import "./Gateway/GatewayRegistry.sol"; import "./Protocol/Protocol.sol"; /// @notice Bindings imports all of the contracts for generating bindings. diff --git a/contracts/DarknodePayment/ClaimRewards.sol b/contracts/DarknodePayment/ClaimRewards.sol new file mode 100644 index 00000000..30932f18 --- /dev/null +++ b/contracts/DarknodePayment/ClaimRewards.sol @@ -0,0 +1,145 @@ +//SPDX-License-Identifier: MIT + +pragma solidity 0.5.17; + +import "./ValidString.sol"; + +contract ClaimRewards { + uint256 public constant BPS_DENOMINATOR = 10000; + + event LogClaimRewards( + address indexed operatorAddress_, + string assetSymbol_, + string recipientAddress_, + string recipientChain_, + bytes recipientPayload_, + uint256 fractionInBps_, + // Repeated values for indexing. + string indexed assetSymbolIndexed_, + string indexed recipientAddressIndexed_ + ); + + modifier validFractionInBps(uint256 fraction_) { + require( + fraction_ <= BPS_DENOMINATOR, + "ClaimRewards: invalid fractionInBps" + ); + _; + } + + /** + * claimRewardsToChain allows darknode operators to withdraw darknode + * earnings, as an on-chain alternative to the JSON-RPC claim method. + * + * It will the operators total sum of rewards, for all of their nodes. + * + * @param assetSymbol_ The token symbol. + * E.g. "BTC", "DOGE" or "FIL". + * @param recipientAddress_ An address on the asset's native chain, for + * receiving the withdrawn rewards. This should be a string as + * provided by the user - no encoding or decoding required. + * E.g.: "miMi2VET41YV1j6SDNTeZoPBbmH8B4nEx6" for BTC. + * @param recipientChain_ A string indicating which chain the rewards should + * be withdrawn to. It should be the name of the chain as expected by + * RenVM (e.g. "Ethereum" or "Solana"). Support for different chains + * will be rolled out after this contract is deployed, starting with + * "Ethereum", then other host chains (e.g. "Polygon" or "Solana") + * and then lock chains (e.g. "Bitcoin" for "BTC"), also represented + * by an empty string "". + * @param recipientPayload_ An associated payload that can be provided along + * with the recipient chain and address. Should be empty if not + * required. + * @param fractionInBps_ A value between 0 and 10000 (inclusive) that + * indicates the percent to withdraw from each of the operator's + * darknodes. The value should be in BPS, meaning 10000 represents + * 100%, 5000 represents 50%, etc. + */ + function claimRewardsToChain( + string memory assetSymbol_, + string memory recipientAddress_, + string memory recipientChain_, + bytes memory recipientPayload_, + uint256 fractionInBps_ + ) public validFractionInBps(fractionInBps_) { + // Validate asset symbol. + require( + ValidString.isNotEmpty(assetSymbol_), + "ClaimRewards: invalid empty asset" + ); + require( + ValidString.isAlphanumeric(assetSymbol_), + "ClaimRewards: invalid asset" + ); + + // Validate recipient address. + require( + ValidString.isNotEmpty(recipientAddress_), + "ClaimRewards: invalid empty recipient address" + ); + require( + ValidString.isAlphanumeric(recipientAddress_), + "ClaimRewards: invalid recipient address" + ); + + // Validate recipient chain. + // Note that the chain can be empty - which is planned to represent the + // asset's native lock chain. + require( + ValidString.isAlphanumeric(recipientChain_), + "ClaimRewards: invalid recipient chain" + ); + + address operatorAddress = msg.sender; + + // Emit event. + emit LogClaimRewards( + operatorAddress, + assetSymbol_, + recipientAddress_, + recipientChain_, + recipientPayload_, + fractionInBps_, + // Indexed + assetSymbol_, + recipientAddress_ + ); + } + + /** + * `claimRewardsToEthereum` calls `claimRewardsToChain` internally + */ + function claimRewardsToEthereum( + string memory assetSymbol_, + address recipientAddress_, + uint256 fractionInBps_ + ) public { + return + claimRewardsToChain( + assetSymbol_, + addressToString(recipientAddress_), + "Ethereum", + "", + fractionInBps_ + ); + } + + // From https://ethereum.stackexchange.com/questions/8346/convert-address-to-string + function addressToString(address address_) + public + pure + returns (string memory) + { + bytes memory data = abi.encodePacked(address_); + + bytes memory alphabet = "0123456789abcdef"; + + bytes memory str = new bytes(2 + data.length * 2); + str[0] = "0"; + str[1] = "x"; + for (uint256 i = 0; i < data.length; i++) { + str[2 + i * 2] = alphabet[uint256(uint8(data[i] >> 4))]; + str[3 + i * 2] = alphabet[uint256(uint8(data[i] & 0x0f))]; + } + return string(str); + } +} diff --git a/contracts/DarknodePayment/ClaimlessRewards.sol b/contracts/DarknodePayment/ClaimlessRewards.sol new file mode 100644 index 00000000..21d9049a --- /dev/null +++ b/contracts/DarknodePayment/ClaimlessRewards.sol @@ -0,0 +1,706 @@ +pragma solidity ^0.5.17; + +import "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol"; +import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol"; +import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/SafeERC20.sol"; + +import "../DarknodeRegistry/DarknodeRegistry.sol"; +import "./DarknodePaymentStore.sol"; +import "../libraries/LinkedList.sol"; +import "../Governance/Claimable.sol"; + +contract ClaimlessRewardsEvents { + /// @notice Emitted when a node calls withdraw + /// @param _payee The address of the node which withdrew + /// @param _value The amount of DAI withdrawn + /// @param _token The address of the token that was withdrawn + event LogDarknodeWithdrew( + address indexed _payee, + uint256 _value, + address indexed _token + ); + + /// @notice Emitted when the cycle is changed. + /// @param _newTimestamp The start timestamp of the new cycle. + /// @param _previousTimestamp The start timestamp of the previous cycle. + /// @param _shareCount The number of darknodes at the end of the previous + /// cycle. + event LogCycleChanged( + uint256 _newTimestamp, + uint256 _previousTimestamp, + uint256 _shareCount + ); + + /// @notice Emitted when the node payout percent changes. + /// @param _newNumerator The new numerator. + /// @param _oldNumerator The old numerator. + event LogHourlyPayoutChanged(uint256 _newNumerator, uint256 _oldNumerator); + + /// @notice Emitted when the community fund percent changes. + /// @param _newNumerator The new numerator. + /// @param _oldNumerator The old numerator. + event LogCommunityFundNumeratorChanged( + uint256 _newNumerator, + uint256 _oldNumerator + ); + + /// @notice Emitted when a new token is registered. + /// @param _token The token that was registered. + event LogTokenRegistered(address indexed _token); + + /// @notice Emitted when a token is deregistered. + /// @param _token The token that was deregistered. + event LogTokenDeregistered(address indexed _token); + + /// @notice Emitted when the DarknodeRegistry is updated. + /// @param _previousDarknodeRegistry The address of the old registry. + /// @param _nextDarknodeRegistry The address of the new registry. + event LogDarknodeRegistryUpdated( + DarknodeRegistryLogicV1 indexed _previousDarknodeRegistry, + DarknodeRegistryLogicV1 indexed _nextDarknodeRegistry + ); + + /// @notice Emitted when the community fund recipient is updated. + /// @param _previousCommunityFund The address of the old community fund. + /// @param _nextCommunityFund The address of the new community fund. + event LogCommunityFundUpdated( + address indexed _previousCommunityFund, + address indexed _nextCommunityFund + ); +} + +contract ClaimlessRewardsState { + using LinkedList for LinkedList.List; + + /// @notice The special address for the collective funds that haven't been + /// withdrawn yet. + address public constant POOLED_REWARDS = address(0); + + /// @notice The address of the Darknode Registry, used to look up the + /// operators of nodes and the number of registered nodes. + /// Passed in as a constructor parameter. + DarknodeRegistryLogicV1 public darknodeRegistry; + + /// @notice DarknodePaymentStore stores the rewards until they are paid out. + DarknodePaymentStore public store; // Passed in as a constructor parameter. + + /// @notice Mapping from token -> amount. + /// The amount of rewards allocated for each node. + mapping(uint256 => mapping(address => uint256)) + public cycleCumulativeTokenShares; + + /// @notice Mapping of node -> token -> last claimed timestamp + /// Used to keep track of which nodes have already claimed their rewards. + mapping(address => mapping(address => uint256)) public rewardsLastClaimed; + + uint256 public latestCycleTimestamp; + uint256[] public epochTimestamps; + + /// @notice The list of tokens which are already registered and rewards can + /// be claimed for. + LinkedList.List internal registeredTokens; + + /// @notice The list of deregistered tokens, tracked to ensure that users + /// can still withdraw rewards for tokens that have been deregistered. + LinkedList.List internal deregisteredTokens; + + /// @notice The recipient of a proportion of rewards. The proportion can be + /// updated, allowing this to be governed by a DAO. + address public communityFund; + + /// @notice The denominator used by `hourlyPayoutWithheldNumerator` and + /// `communityFundNumerator`. + uint256 public constant HOURLY_PAYOUT_WITHHELD_DENOMINATOR = 1000000; + + /// @notice The proportion of the payout that is withheld each hour to be + /// paid out over future cycles. + /// The target payout is 50% over 28 days, so the following was calculated + /// as `0.5 ** (1 / (28 * 24))`. + /// Rounding is done in favor of the current cycle payout instead of the + /// rewards withheld for future cycles. + uint256 public hourlyPayoutWithheldNumerator = 998969; + + /// @notice The proportion of the reward pool that goes to the community + /// fund. `communityFundNumerator` can be set to 0 to disable rewards going + /// to the fund. + uint256 public communityFundNumerator; +} + +contract ClaimlessRewardsTokenHandler is + Ownable, + ClaimlessRewardsEvents, + ClaimlessRewardsState +{ + using SafeERC20 for ERC20; + + /// @notice Adds tokens to be payable. Registration is pending until next + /// cycle. + /// + /// @param _token The address of the token to be registered. + function registerToken(address _token) external onlyOwner { + require( + !registeredTokens.isInList(_token), + "ClaimlessRewards: token already registered" + ); + registeredTokens.append(_token); + + // Remove from deregistered tokens. + if (deregisteredTokens.isInList(_token)) { + deregisteredTokens.remove(_token); + } + } + + /// @notice Removes a token from the list of supported tokens. + /// Deregistration is pending until next cycle. + /// + /// @param _token The address of the token to be deregistered. + function deregisterToken(address _token) external onlyOwner { + require( + registeredTokens.isInList(_token), + "ClaimlessRewards: token not registered" + ); + registeredTokens.remove(_token); + + // Add to deregistered tokens. This check should always be true. + if (!deregisteredTokens.isInList(_token)) { + deregisteredTokens.append(_token); + } + } + + /// @notice (external view) Returns the full list of registered tokens. + function getRegisteredTokens() external view returns (address[] memory) { + address[] memory tokens = new address[](registeredTokens.length); + address nextToken = registeredTokens.begin(); + for (uint256 i = 0; i < tokens.length; i++) { + tokens[i] = nextToken; + + // Take next token. + nextToken = registeredTokens.next(nextToken); + } + return tokens; + } + + /// @notice (external view) Returns whether a token is registered. + function isRegistered(address _token) external view returns (bool) { + return registeredTokens.isInList(_token); + } + + /// @notice Forwards any balance held by this contract on to the store. + /// + /// @param _token The token to forward. For ETH, this is 0xeeee... . + function forward(address _token) external { + // If no token has been provided, forward ETH. + if (_token == address(0x0)) { + address(store).transfer(address(this).balance); + } else { + ERC20(_token).safeTransfer( + address(store), + ERC20(_token).balanceOf(address(this)) + ); + } + } +} + +contract ClaimlessRewardsAdminHandler is + Ownable, + ClaimlessRewardsEvents, + ClaimlessRewardsState +{ + /// @notice Allows the contract owner to update the address of the + /// Darknode Registry contract. + /// @param _darknodeRegistry The address of the new Darknode Registry + /// contract. + function updateDarknodeRegistry(DarknodeRegistryLogicV1 _darknodeRegistry) + external + onlyOwner + { + _updateDarknodeRegistry(_darknodeRegistry); + } + + /// @notice Allows the contract owner to update the address of the new dev + /// fund. + /// @param _communityFund The address of new community fund address. + function updateCommunityFund(address _communityFund) external onlyOwner { + _updateCommunityFund(_communityFund); + } + + /// @notice Updates the proportion of the rewards that are withheld to be + /// paid out over future cycles. + /// + /// @param _numerator The numerator of payout for darknodes. + function updateHourlyPayoutWithheld(uint256 _numerator) external onlyOwner { + require( + _numerator <= HOURLY_PAYOUT_WITHHELD_DENOMINATOR, + "ClaimlessRewards: invalid numerator" + ); + + // Emit before updating so that the old payout can be logged. + emit LogHourlyPayoutChanged(_numerator, hourlyPayoutWithheldNumerator); + hourlyPayoutWithheldNumerator = _numerator; + } + + /// @notice Updates the proportion of the rewards that are withheld to be + /// sent to the community fund. + /// + /// @param _numerator The numerator of payout for darknodes. + function updateCommunityFundNumerator(uint256 _numerator) + external + onlyOwner + { + _updateCommunityFundNumerator(_numerator); + } + + /// @notice Allows the contract owner to initiate an ownership transfer of + /// the DarknodePaymentStore. + /// + /// @param _newOwner The address to transfer the ownership to. + function transferStoreOwnership(ClaimlessRewardsAdminHandler _newOwner) + external + onlyOwner + { + store.transferOwnership(address(_newOwner)); + _newOwner.claimStoreOwnership(); + } + + /// @notice Claims ownership of the store passed in to the constructor. + /// `transferStoreOwnership` must have previously been called when + /// transferring from another DarknodePaymentStore. + function claimStoreOwnership() external { + store.claimOwnership(); + } + + /// @notice See `updateDarknodeRegistry`. + function _updateDarknodeRegistry(DarknodeRegistryLogicV1 _darknodeRegistry) + internal + { + require( + address(_darknodeRegistry) != address(0x0), + "ClaimlessRewards: invalid Darknode Registry address" + ); + + // Emit before updating so that the old registry can be logged. + emit LogDarknodeRegistryUpdated(_darknodeRegistry, darknodeRegistry); + darknodeRegistry = _darknodeRegistry; + } + + /// @notice See `updateCommunityFund`. + function _updateCommunityFund(address _communityFund) internal { + // Ensure that the community fund is set properly, and that it's not the + // POOLED_REWARDS address, which would allow the darknode rewards to + // be withdrawn to the community fund. + require( + address(_communityFund) != address(0x0), + "ClaimlessRewards: invalid community fund address" + ); + + // Ensure that the community fund isn't a registered node (this would + // allow anyone to withdraw the node's legacy rewards to the node's + // address - not a big issue, but disallowed nonetheless). + require( + darknodeRegistry.getDarknodeOperator(_communityFund) == + address(0x0), + "ClaimlessRewards: community fund must not be a registered darknode" + ); + + // Emit before updating so that the old registry can be logged. + emit LogCommunityFundUpdated(_communityFund, communityFund); + communityFund = _communityFund; + } + + /// @notice See `_updateCommunityFundNumerator`. + function _updateCommunityFundNumerator(uint256 _numerator) internal { + require( + _numerator <= HOURLY_PAYOUT_WITHHELD_DENOMINATOR, + "ClaimlessRewards: invalid numerator" + ); + + // Emit before updating so that the old payout can be logged. + emit LogCommunityFundNumeratorChanged( + _numerator, + communityFundNumerator + ); + communityFundNumerator = _numerator; + } +} + +contract ClaimlessRewardsCycleHandler is + ClaimlessRewardsEvents, + ClaimlessRewardsState +{ + using SafeMath for uint256; + + /// @notice (external view) Return the length of the array of cycle + /// timestamps. This makes it easier for clients to loop through them. + function epochTimestampsLength() external view returns (uint256) { + return epochTimestamps.length; + } + + /// @notice (external view) Returns the full array of timestamps. If this + /// grows too large to return, they should be fetched one-by-one or by + /// fetching tx logs. + function getEpochTimestamps() external view returns (uint256[] memory) { + return epochTimestamps; + } + + /// @notice Changes the current cycle. + /// Callable by anyone. + function changeCycle() external returns (uint256) { + uint256 numerator = hourlyPayoutWithheldNumerator; + uint256 denominator = HOURLY_PAYOUT_WITHHELD_DENOMINATOR; + + uint256 newCycleTimestamp; + uint256 rewardsWithheldNumerator = denominator; + uint256 cycleTimestamp = latestCycleTimestamp; + uint256 currentCommunityFundNumerator = communityFundNumerator; + + for ( + uint256 hour = cycleTimestamp; + hour <= block.timestamp; + hour += 1 hours + ) { + rewardsWithheldNumerator = rewardsWithheldNumerator + .mul(numerator) + .div(denominator); + newCycleTimestamp = hour; + } + + // If the caller is the Darknode Registry, set the cycle timestamp to be + // the current timestamp so that the cycle and epoch are in sync + // (instead of rounding down by up to an hour). This ensures that any + // newly registered darknodes don't lose the fees until the next cycle. + // The difference in time won't get counted in the rewards paiout + // schedule. + // Also, if the caller is the darknode registry, use the number of + // darknodes in the previous epoch instead of the new once, since the + // implementation calls `changeCycle` at the end of the epoch update, + // not the start. + uint256 shareCount; + if (msg.sender == address(darknodeRegistry)) { + newCycleTimestamp = block.timestamp; + shareCount = darknodeRegistry.numDarknodesPreviousEpoch(); + epochTimestamps.push(newCycleTimestamp); + } else { + shareCount = darknodeRegistry.numDarknodes(); + } + + // Require that at least an hour has passed since the last cycle, or, + // if being called from the epoch function, that cycle wasn't called + // previously in the same block. + require( + newCycleTimestamp > cycleTimestamp, + "ClaimlessRewards: previous cycle too recent" + ); + + // Snapshot balances for the past cycle + address nextToken = registeredTokens.begin(); + while (nextToken != address(0x0)) { + { + uint256 total = store.availableBalance(nextToken); + uint256 totalWithheld = + (total.mul(rewardsWithheldNumerator)).div(denominator); + + // The amount being paid out to the darknodes and the community + // fund. + uint256 totalPayout = total.sub(totalWithheld); + + // The amount being paid out to the community fund. + uint256 communityFundPayout = + totalPayout.mul(currentCommunityFundNumerator).div( + denominator + ); + + // The amount being paid out to the darknodes. + uint256 nodePayout = totalPayout.sub(communityFundPayout); + + // The amount being paid out to each indidivual darknode. + uint256 share = + shareCount == 0 ? 0 : nodePayout.div(shareCount); + + // The amount being paid out to the darknodes after ignoring + // the amount left-over from dividing. + uint256 nodePayoutAdjusted = share.mul(shareCount); + + // Store funds that can now be withdrawn by darknodes. + if (nodePayoutAdjusted > 0) { + store.incrementDarknodeBalance( + POOLED_REWARDS, + nextToken, + nodePayoutAdjusted + ); + } + + // Store funds that can be withdrawn to the community fund. + if (communityFundPayout > 0) { + store.incrementDarknodeBalance( + communityFund, + nextToken, + communityFundPayout + ); + } + + cycleCumulativeTokenShares[newCycleTimestamp][ + nextToken + ] = cycleCumulativeTokenShares[cycleTimestamp][nextToken].add( + share + ); + } + + // Take next token. + nextToken = registeredTokens.next(nextToken); + } + + // Keep track of deregistered token amounts. + address nextDeregisteredToken = deregisteredTokens.begin(); + while (nextDeregisteredToken != address(0x0)) { + { + cycleCumulativeTokenShares[newCycleTimestamp][ + nextDeregisteredToken + ] = cycleCumulativeTokenShares[cycleTimestamp][ + nextDeregisteredToken + ]; + } + + // Take next token. + nextDeregisteredToken = deregisteredTokens.next( + nextDeregisteredToken + ); + } + + // Start a new cycle + latestCycleTimestamp = newCycleTimestamp; + + emit LogCycleChanged(newCycleTimestamp, cycleTimestamp, shareCount); + + return newCycleTimestamp; + } +} + +contract ClaimlessRewardsWithdrawHandler is + ClaimlessRewardsEvents, + ClaimlessRewardsState, + ClaimlessRewardsCycleHandler +{ + using SafeMath for uint256; + using SafeERC20 for ERC20; + + // Return the next cycle with a timestamp greater than or equal to the + // passed in timestamp. + function getNextEpochFromTimestamp(uint256 _target) + public + view + returns (uint256) + { + uint256 start = 0; + uint256 end = epochTimestamps.length.sub(1); + + // Binary search. Relies on `epochTimestamps` being sorted. + while (start <= end) { + // Check if the middle element satisfies the conditions. + uint256 mid = (start + end) / 2; + if ( + epochTimestamps[mid] >= _target && + (mid == 0 || epochTimestamps[mid - 1] < _target) + ) { + return epochTimestamps[mid]; + } + // Restrict the search space. + else if (epochTimestamps[mid] < _target) { + start = mid + 1; + } else { + end = mid.sub(1); + } + } + return 0; + } + + function darknodeBalances(address _node, address _token) + external + view + returns (uint256) + { + uint256 nodeRegistered = darknodeRegistry.darknodeRegisteredAt(_node); + + uint256 newWithdrawable = 0; + if (nodeRegistered > 0) { + (newWithdrawable, ) = _calculateNewWithdrawable(_node, _token); + } + uint256 legacyWithdrawable = store.darknodeBalances(_node, _token); + + return newWithdrawable.add(legacyWithdrawable); + } + + /// @notice Withdraw the provided asset for each node in the list. + function withdrawToken(address[] memory _nodes, address _token) public { + uint256 withdrawTotal = 0; + + for (uint256 i = 0; i < _nodes.length; i++) { + address _node = _nodes[i]; + + // The Darknode Registry already prevents IDs from being 0x0, but a + // user could attempt to register the communityFund address as a + // darknode and then withdraw the pending community fund rewards. + require( + _node != POOLED_REWARDS && _node != communityFund, + "ClaimlessRewards: invalid node ID" + ); + + require( + darknodeRegistry.getDarknodeOperator(_node) == msg.sender, + "ClaimlessRewards: not operator" + ); + + (uint256 newRewards, uint256 claimUntil) = + _calculateNewWithdrawable(_node, _token); + + withdrawTotal = withdrawTotal.add(newRewards); + rewardsLastClaimed[_node][_token] = claimUntil; + emit LogDarknodeWithdrew(_node, newRewards, _token); + + // Check if there's a legacy amount to withdraw. This only has + // to be withdrawn once. + uint256 legacyAmount = store.darknodeBalances(_node, _token); + if (legacyAmount > 0) { + store.transfer(_node, _token, legacyAmount, msg.sender); + emit LogDarknodeWithdrew(_node, legacyAmount, _token); + } + } + + store.transfer(POOLED_REWARDS, _token, withdrawTotal, msg.sender); + } + + /// @notice Withdraw multiple assets for each darknode in the list. + /// The interface has been kept the same as the DarknodePayment contract + /// for backward-compatibility. + function withdrawMultiple(address[] memory _nodes, address[] memory _tokens) + public + { + for (uint256 i = 0; i < _tokens.length; i++) { + withdrawToken(_nodes, _tokens[i]); + } + } + + /// @notice Withdraw the provided asset for the given darknode. + /// The interface has been kept the same as the DarknodePayment contract + /// for backward-compatibility. + function withdraw(address _node, address _token) public { + address[] memory nodes = new address[](1); + nodes[0] = _node; + return withdrawToken(nodes, _token); + } + + function withdrawToCommunityFund(address[] memory _tokens) public { + // Access storage outside of loop. + address memoryCommunityFund = communityFund; + address payable communityFundPayable = + address(uint160(address(memoryCommunityFund))); + + for (uint256 i = 0; i < _tokens.length; i++) { + address _token = _tokens[i]; + uint256 amount = + store.darknodeBalances(memoryCommunityFund, _token); + + if (amount > 0) { + store.transfer( + memoryCommunityFund, + _token, + amount, + communityFundPayable + ); + } + } + } + + function _calculateNewWithdrawable(address _node, address _token) + internal + view + returns (uint256, uint256) + { + uint256 nodeRegistered = darknodeRegistry.darknodeRegisteredAt(_node); + + require(nodeRegistered > 0, "ClaimlessRewards: not registered"); + + uint256 nodeDeregistered = + darknodeRegistry.darknodeDeregisteredAt(_node); + + uint256 claimFrom = rewardsLastClaimed[_node][_token]; + if (claimFrom < nodeRegistered) { + claimFrom = getNextEpochFromTimestamp(nodeRegistered); + + // A node can start claiming from the first epoch after (or at) its + // registration time. If this is 0, then the node is still in the + // pending-registration state. + require(claimFrom > 0, "ClaimlessRewards: registration pending"); + } + + uint256 claimUntil = latestCycleTimestamp; + if (nodeDeregistered != 0) { + uint256 deregisteredCycle = + getNextEpochFromTimestamp(nodeDeregistered); + + // A node can only claim up until the next epoch after (or at) its + // deregistration time. If this is 0, then the node is still + // in the pending-deregistration state. + if (deregisteredCycle != 0) { + claimUntil = deregisteredCycle; + } + } + + uint256 lastCumulativeShare = + cycleCumulativeTokenShares[claimFrom][_token]; + uint256 currentCumulativeShare = + cycleCumulativeTokenShares[claimUntil][_token]; + + return ( + currentCumulativeShare.sub( + lastCumulativeShare, + "ClaimlessRewards: error calculating withdrawable balance" + ), + claimUntil + ); + } +} + +/// @notice ClaimlessRewards is intended to replace the DarknodePayment +/// contract. It's to main improvements are: +/// 1) no longer requiring nodes to call `claim` each epoch, and +/// 2) allowing for a community fund to earn a proportion of the rewards. +contract ClaimlessRewards is + Claimable, + ClaimlessRewardsEvents, + ClaimlessRewardsState, + ClaimlessRewardsTokenHandler, + ClaimlessRewardsAdminHandler, + ClaimlessRewardsCycleHandler, + ClaimlessRewardsWithdrawHandler +{ + /// @notice The contract constructor. Starts the current cycle using the + /// latest epoch. + /// + /// @dev The DarknodeRegistry should be set to point to the + /// ClaimlessRewards contract before the next epoch is called. + /// + /// @param _darknodeRegistry The address of the DarknodeRegistry contract + /// @param _darknodePaymentStore The address of the DarknodePaymentStore + /// contract. Can be updated by the contract owner. + /// @param _communityFund The address to which the community fund balances + /// can be withdrawn to. Can be updated by the contract owner. + /// @param _communityFundNumerator The portion of the rewards that are paid + /// to the community fund. Can be updated by the contract owner. + constructor( + DarknodeRegistryLogicV1 _darknodeRegistry, + DarknodePaymentStore _darknodePaymentStore, + address _communityFund, + uint256 _communityFundNumerator + ) public Claimable() { + Claimable.initialize(msg.sender); + + store = _darknodePaymentStore; + _updateDarknodeRegistry(_darknodeRegistry); + _updateCommunityFund(_communityFund); + _updateCommunityFundNumerator(_communityFundNumerator); + + // Initialize the current cycle to the start of the Registry's epoch. + (, latestCycleTimestamp) = darknodeRegistry.currentEpoch(); + epochTimestamps.push(latestCycleTimestamp); + } +} diff --git a/contracts/DarknodePayment/DarknodePaymentMigrator.sol b/contracts/DarknodePayment/DarknodePaymentMigrator.sol new file mode 100644 index 00000000..68e63e90 --- /dev/null +++ b/contracts/DarknodePayment/DarknodePaymentMigrator.sol @@ -0,0 +1,69 @@ +pragma solidity 0.5.17; + +import "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol"; +import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol"; +import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/SafeERC20.sol"; + +import "../Governance/Claimable.sol"; +import "./DarknodePaymentStore.sol"; +import "./DarknodePayment.sol"; + +/// @notice The DarknodePaymentMigrator migrates unclaimed funds from the +/// DarknodePayment contract. In a single transaction, it claims the store +/// ownership from the DNP contract, migrates unclaimed fees and then returns +/// the store ownership back to the DNP. +contract DarknodePaymentMigrator is Claimable { + DarknodePayment public dnp; + address[] public tokens; + + constructor(DarknodePayment _dnp, address[] memory _tokens) public { + Claimable.initialize(msg.sender); + dnp = _dnp; + tokens = _tokens; + } + + function setTokens(address[] memory _tokens) public onlyOwner { + tokens = _tokens; + } + + function claimStoreOwnership() external { + require(msg.sender == address(dnp), "Not darknode payment contract"); + DarknodePaymentStore store = dnp.store(); + + store.claimOwnership(); + + for (uint256 i = 0; i < tokens.length; i++) { + address token = tokens[i]; + + uint256 unclaimed = store.availableBalance(token); + + if (unclaimed > 0) { + store.incrementDarknodeBalance(address(0x0), token, unclaimed); + + store.transfer( + address(0x0), + token, + unclaimed, + _payableAddress(owner()) + ); + } + } + + store.transferOwnership(address(dnp)); + dnp.claimStoreOwnership(); + + require( + store.owner() == address(dnp), + "Store ownership not transferred back." + ); + } + + // Cast an address to a payable address + function _payableAddress(address a) + internal + pure + returns (address payable) + { + return address(uint160(address(a))); + } +} diff --git a/contracts/DarknodePayment/DarknodeRegistryForwarder.sol b/contracts/DarknodePayment/DarknodeRegistryForwarder.sol new file mode 100644 index 00000000..55af44cf --- /dev/null +++ b/contracts/DarknodePayment/DarknodeRegistryForwarder.sol @@ -0,0 +1,45 @@ +pragma solidity 0.5.17; + +import "../DarknodeRegistry/DarknodeRegistry.sol"; + +/// @notice DarknodeRegistryForwarder implements the DNR's methods that are used +/// by the DNP, and it forwards them all to the DNR except +/// `isRegisteredInPreviousEpoch`, for which it returns false in order to make +/// calls to `claim` revert. +contract DarknodeRegistryForwarder { + DarknodeRegistryLogicV1 dnr; + + constructor(DarknodeRegistryLogicV1 _dnr) public { + dnr = _dnr; + } + + /// @notice Returns if a darknode is in the registered state. + function isRegistered(address _darknodeID) public view returns (bool) { + return dnr.isRegistered(_darknodeID); + } + + function currentEpoch() public view returns (uint256, uint256) { + return dnr.currentEpoch(); + } + + function getDarknodeOperator(address _darknodeID) + public + view + returns (address payable) + { + return dnr.getDarknodeOperator(_darknodeID); + } + + function isRegisteredInPreviousEpoch(address _darknodeID) + public + view + returns (bool) + { + // return dnr.isRegisteredInPreviousEpoch(_darknodeID); + return false; + } + + function numDarknodesPreviousEpoch() public view returns (uint256) { + return dnr.numDarknodesPreviousEpoch(); + } +} diff --git a/contracts/DarknodePayment/ValidString.sol b/contracts/DarknodePayment/ValidString.sol new file mode 100644 index 00000000..2cbc0fe8 --- /dev/null +++ b/contracts/DarknodePayment/ValidString.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.5.17; + +library ValidString { + function isAlphanumeric(string memory _string) + internal + pure + returns (bool) + { + for (uint256 i = 0; i < bytes(_string).length; i++) { + uint8 char = uint8(bytes(_string)[i]); + if ( + !((char >= 65 && char <= 90) || + (char >= 97 && char <= 122) || + (char >= 48 && char <= 57)) + ) { + return false; + } + } + return true; + } + + function isNotEmpty(string memory _string) internal pure returns (bool) { + return bytes(_string).length > 0; + } +} diff --git a/contracts/DarknodeRegistry/DarknodeRegistry.sol b/contracts/DarknodeRegistry/DarknodeRegistry.sol index 714278ba..35898db9 100644 --- a/contracts/DarknodeRegistry/DarknodeRegistry.sol +++ b/contracts/DarknodeRegistry/DarknodeRegistry.sol @@ -282,8 +282,7 @@ contract DarknodeRegistryLogicV1 is /// until the end of the epoch. After another epoch, the bond can be /// refunded by calling the refund method. /// @param _darknodeID The darknode ID that will be deregistered. The caller - /// of this method store.darknodeRegisteredAt(_darknodeID) must be - // the owner of this darknode. + /// of this method must be the owner of this darknode. function deregister(address _darknodeID) external onlyDeregisterable(_darknodeID) @@ -633,6 +632,24 @@ contract DarknodeRegistryLogicV1 is (previousEpoch.blocktime - deregistrationInterval); } + /// @notice Returns the registration time of a given darknode. + function darknodeRegisteredAt(address darknodeID) + external + view + returns (uint256) + { + return store.darknodeRegisteredAt(darknodeID); + } + + /// @notice Returns the deregistration time of a given darknode. + function darknodeDeregisteredAt(address darknodeID) + external + view + returns (uint256) + { + return store.darknodeDeregisteredAt(darknodeID); + } + /// @notice Returns if a darknode is in the registered state. function isRegistered(address _darknodeID) public view returns (bool) { return isRegisteredInEpoch(_darknodeID, currentEpoch); diff --git a/contracts/DarknodeRegistry/GetOperatorDarknodes.sol b/contracts/DarknodeRegistry/GetOperatorDarknodes.sol new file mode 100644 index 00000000..c26e692a --- /dev/null +++ b/contracts/DarknodeRegistry/GetOperatorDarknodes.sol @@ -0,0 +1,42 @@ +pragma solidity 0.5.17; + +import "./DarknodeRegistry.sol"; + +contract GetOperatorDarknodes { + DarknodeRegistryLogicV1 public darknodeRegistry; + + constructor(DarknodeRegistryLogicV1 _darknodeRegistry) public { + darknodeRegistry = _darknodeRegistry; + } + + function getOperatorDarknodes(address _operator) + public + view + returns (address[] memory) + { + uint256 numDarknodes = darknodeRegistry.numDarknodes(); + address[] memory nodesPadded = new address[](numDarknodes); + + address[] memory allNodes = darknodeRegistry.getDarknodes( + address(0), + 0 + ); + + uint256 j = 0; + for (uint256 i = 0; i < allNodes.length; i++) { + if ( + darknodeRegistry.getDarknodeOperator(allNodes[i]) == _operator + ) { + nodesPadded[j] = (allNodes[i]); + j++; + } + } + + address[] memory nodes = new address[](j); + for (uint256 i = 0; i < j; i++) { + nodes[i] = nodesPadded[i]; + } + + return nodes; + } +} diff --git a/contracts/Gateway/ERC20WithPermit.sol b/contracts/Gateway/ERC20WithPermit.sol deleted file mode 100644 index 2cc9edbc..00000000 --- a/contracts/Gateway/ERC20WithPermit.sol +++ /dev/null @@ -1,90 +0,0 @@ -pragma solidity 0.5.17; - -import "@openzeppelin/upgrades/contracts/Initializable.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol"; - -/// @notice Taken from the DAI token. -contract ERC20WithPermit is Initializable, ERC20, ERC20Detailed { - using SafeMath for uint256; - - mapping(address => uint256) public nonces; - - // If the token is redeployed, the version is increased to prevent a permit - // signature being used on both token instances. - string public version; - - // --- EIP712 niceties --- - bytes32 public DOMAIN_SEPARATOR; - // PERMIT_TYPEHASH is the value returned from - // keccak256("Permit(address holder,address spender,uint256 nonce,uint256 expiry,bool allowed)") - bytes32 public constant PERMIT_TYPEHASH = - 0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb; - - function initialize( - uint256 _chainId, - string memory _version, - string memory _name, - string memory _symbol, - uint8 _decimals - ) public initializer { - ERC20Detailed.initialize(_name, _symbol, _decimals); - version = _version; - DOMAIN_SEPARATOR = keccak256( - abi.encode( - keccak256( - "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" - ), - keccak256(bytes(name())), - keccak256(bytes(version)), - _chainId, - address(this) - ) - ); - } - - // --- Approve by signature --- - function permit( - address holder, - address spender, - uint256 nonce, - uint256 expiry, - bool allowed, - uint8 v, - bytes32 r, - bytes32 s - ) external { - bytes32 digest = - keccak256( - abi.encodePacked( - "\x19\x01", - DOMAIN_SEPARATOR, - keccak256( - abi.encode( - PERMIT_TYPEHASH, - holder, - spender, - nonce, - expiry, - allowed - ) - ) - ) - ); - - require(holder != address(0), "ERC20WithRate: address must not be 0x0"); - require( - holder == ecrecover(digest, v, r, s), - "ERC20WithRate: invalid signature" - ); - require( - expiry == 0 || now <= expiry, - "ERC20WithRate: permit has expired" - ); - require(nonce == nonces[holder]++, "ERC20WithRate: invalid nonce"); - uint256 amount = allowed ? uint256(-1) : 0; - _approve(holder, spender, amount); - } -} diff --git a/contracts/Gateway/ERC20WithRate.sol b/contracts/Gateway/ERC20WithRate.sol deleted file mode 100644 index 8377d113..00000000 --- a/contracts/Gateway/ERC20WithRate.sol +++ /dev/null @@ -1,62 +0,0 @@ -pragma solidity 0.5.17; - -import "@openzeppelin/upgrades/contracts/Initializable.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol"; - -import "../Governance/Claimable.sol"; - -/// @notice ERC20WithRate allows for a more dynamic fee model by storing a rate -/// that tracks the number of the underlying asset's unit represented by a -/// single ERC20 token. -contract ERC20WithRate is Initializable, Ownable, ERC20 { - using SafeMath for uint256; - - uint256 public constant _rateScale = 1e18; - uint256 internal _rate; - - event LogRateChanged(uint256 indexed _rate); - - /* solium-disable-next-line no-empty-blocks */ - function initialize(address _nextOwner, uint256 _initialRate) - public - initializer - { - Ownable.initialize(_nextOwner); - _setRate(_initialRate); - } - - function setExchangeRate(uint256 _nextRate) public onlyOwner { - _setRate(_nextRate); - } - - function exchangeRateCurrent() public view returns (uint256) { - require(_rate != 0, "ERC20WithRate: rate has not been initialized"); - return _rate; - } - - function _setRate(uint256 _nextRate) internal { - require(_nextRate > 0, "ERC20WithRate: rate must be greater than zero"); - _rate = _nextRate; - } - - function balanceOfUnderlying(address _account) - public - view - returns (uint256) - { - return toUnderlying(balanceOf(_account)); - } - - function toUnderlying(uint256 _amount) public view returns (uint256) { - return _amount.mul(_rate).div(_rateScale); - } - - function fromUnderlying(uint256 _amountUnderlying) - public - view - returns (uint256) - { - return _amountUnderlying.mul(_rateScale).div(_rate); - } -} diff --git a/contracts/Gateway/Gateway.sol b/contracts/Gateway/Gateway.sol deleted file mode 100644 index ff3d5f30..00000000 --- a/contracts/Gateway/Gateway.sol +++ /dev/null @@ -1,329 +0,0 @@ -pragma solidity 0.5.17; - -import "@openzeppelin/upgrades/contracts/Initializable.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/cryptography/ECDSA.sol"; -import "@openzeppelin/upgrades/contracts/upgradeability/InitializableAdminUpgradeabilityProxy.sol"; - -import "../Governance/Claimable.sol"; -import "../libraries/String.sol"; -import "./RenERC20.sol"; -import "./interfaces/IGateway.sol"; -import "../libraries/CanReclaimTokens.sol"; - -contract GatewayStateV1 { - uint256 constant BIPS_DENOMINATOR = 10000; - uint256 public minimumBurnAmount; - - /// @notice Each Gateway is tied to a specific RenERC20 token. - RenERC20LogicV1 public token; - - /// @notice The mintAuthority is an address that can sign mint requests. - address public mintAuthority; - - /// @dev feeRecipient is assumed to be an address (or a contract) that can - /// accept erc20 payments it cannot be 0x0. - /// @notice When tokens are mint or burnt, a portion of the tokens are - /// forwarded to a fee recipient. - address public feeRecipient; - - /// @notice The mint fee in bips. - uint16 public mintFee; - - /// @notice The burn fee in bips. - uint16 public burnFee; - - /// @notice Each signature can only be seen once. - mapping(bytes32 => bool) public status; - - // LogMint and LogBurn contain a unique `n` that identifies - // the mint or burn event. - uint256 public nextN = 0; -} - -/// @notice Gateway handles verifying mint and burn requests. A mintAuthority -/// approves new assets to be minted by providing a digital signature. An owner -/// of an asset can request for it to be burnt. -contract GatewayLogicV1 is - Initializable, - Claimable, - CanReclaimTokens, - IGateway, - GatewayStateV1 -{ - using SafeMath for uint256; - - event LogMintAuthorityUpdated(address indexed _newMintAuthority); - event LogMint( - address indexed _to, - uint256 _amount, - uint256 indexed _n, - bytes32 indexed _signedMessageHash - ); - event LogBurn( - bytes _to, - uint256 _amount, - uint256 indexed _n, - bytes indexed _indexedTo - ); - - /// @notice Only allow the Darknode Payment contract. - modifier onlyOwnerOrMintAuthority() { - require( - msg.sender == mintAuthority || msg.sender == owner(), - "Gateway: caller is not the owner or mint authority" - ); - _; - } - - /// @param _token The RenERC20 this Gateway is responsible for. - /// @param _feeRecipient The recipient of burning and minting fees. - /// @param _mintAuthority The address of the key that can sign mint - /// requests. - /// @param _mintFee The amount subtracted each mint request and - /// forwarded to the feeRecipient. In BIPS. - /// @param _burnFee The amount subtracted each burn request and - /// forwarded to the feeRecipient. In BIPS. - function initialize( - RenERC20LogicV1 _token, - address _feeRecipient, - address _mintAuthority, - uint16 _mintFee, - uint16 _burnFee, - uint256 _minimumBurnAmount - ) public initializer { - Claimable.initialize(msg.sender); - CanReclaimTokens.initialize(msg.sender); - minimumBurnAmount = _minimumBurnAmount; - token = _token; - mintFee = _mintFee; - burnFee = _burnFee; - updateMintAuthority(_mintAuthority); - updateFeeRecipient(_feeRecipient); - } - - // Public functions //////////////////////////////////////////////////////// - - /// @notice Claims ownership of the token passed in to the constructor. - /// `transferStoreOwnership` must have previously been called. - /// Anyone can call this function. - function claimTokenOwnership() public { - token.claimOwnership(); - } - - /// @notice Allow the owner to update the owner of the RenERC20 token. - function transferTokenOwnership(GatewayLogicV1 _nextTokenOwner) - public - onlyOwner - { - token.transferOwnership(address(_nextTokenOwner)); - _nextTokenOwner.claimTokenOwnership(); - } - - /// @notice Allow the owner to update the fee recipient. - /// - /// @param _nextMintAuthority The address to start paying fees to. - function updateMintAuthority(address _nextMintAuthority) - public - onlyOwnerOrMintAuthority - { - // The mint authority should not be set to 0, which is the result - // returned by ecrecover for an invalid signature. - require( - _nextMintAuthority != address(0), - "Gateway: mintAuthority cannot be set to address zero" - ); - mintAuthority = _nextMintAuthority; - emit LogMintAuthorityUpdated(mintAuthority); - } - - /// @notice Allow the owner to update the minimum burn amount. - /// - /// @param _minimumBurnAmount The new min burn amount. - function updateMinimumBurnAmount(uint256 _minimumBurnAmount) - public - onlyOwner - { - minimumBurnAmount = _minimumBurnAmount; - } - - /// @notice Allow the owner to update the fee recipient. - /// - /// @param _nextFeeRecipient The address to start paying fees to. - function updateFeeRecipient(address _nextFeeRecipient) public onlyOwner { - // 'mint' and 'burn' will fail if the feeRecipient is 0x0 - require( - _nextFeeRecipient != address(0x0), - "Gateway: fee recipient cannot be 0x0" - ); - - feeRecipient = _nextFeeRecipient; - } - - /// @notice Allow the owner to update the 'mint' fee. - /// - /// @param _nextMintFee The new fee for minting and burning. - function updateMintFee(uint16 _nextMintFee) public onlyOwner { - mintFee = _nextMintFee; - } - - /// @notice Allow the owner to update the burn fee. - /// - /// @param _nextBurnFee The new fee for minting and burning. - function updateBurnFee(uint16 _nextBurnFee) public onlyOwner { - burnFee = _nextBurnFee; - } - - /// @notice mint verifies a mint approval signature from RenVM and creates - /// tokens after taking a fee for the `_feeRecipient`. - /// - /// @param _pHash (payload hash) The hash of the payload associated with the - /// mint. - /// @param _amountUnderlying The amount of the token being minted, in its smallest - /// value. (e.g. satoshis for BTC). - /// @param _nHash (nonce hash) The hash of the nonce, amount and pHash. - /// @param _sig The signature of the hash of the following values: - /// (pHash, amount, msg.sender, nHash), signed by the mintAuthority. - function mint( - bytes32 _pHash, - uint256 _amountUnderlying, - bytes32 _nHash, - bytes memory _sig - ) public returns (uint256) { - // Verify signature - bytes32 signedMessageHash = - hashForSignature(_pHash, _amountUnderlying, msg.sender, _nHash); - require( - status[signedMessageHash] == false, - "Gateway: nonce hash already spent" - ); - if (!verifySignature(signedMessageHash, _sig)) { - // Return a detailed string containing the hash and recovered - // signer. This is somewhat costly but is only run in the revert - // branch. - revert( - String.add8( - "Gateway: invalid signature. pHash: ", - String.fromBytes32(_pHash), - ", amount: ", - String.fromUint(_amountUnderlying), - ", msg.sender: ", - String.fromAddress(msg.sender), - ", _nHash: ", - String.fromBytes32(_nHash) - ) - ); - } - status[signedMessageHash] = true; - - uint256 amountScaled = token.fromUnderlying(_amountUnderlying); - - // Mint `amount - fee` for the recipient and mint `fee` for the minter - uint256 absoluteFeeScaled = - amountScaled.mul(mintFee).div(BIPS_DENOMINATOR); - uint256 receivedAmountScaled = - amountScaled.sub(absoluteFeeScaled, "Gateway: fee exceeds amount"); - - // Mint amount minus the fee - token.mint(msg.sender, receivedAmountScaled); - // Mint the fee - token.mint(feeRecipient, absoluteFeeScaled); - - // Emit a log with a unique identifier 'n'. - uint256 receivedAmountUnderlying = - token.toUnderlying(receivedAmountScaled); - emit LogMint( - msg.sender, - receivedAmountUnderlying, - nextN, - signedMessageHash - ); - nextN += 1; - - return receivedAmountScaled; - } - - /// @notice burn destroys tokens after taking a fee for the `_feeRecipient`, - /// allowing the associated assets to be released on their native - /// chain. - /// - /// @param _to The address to receive the un-bridged asset. The format of - /// this address should be of the destination chain. - /// For example, when burning to Bitcoin, _to should be a - /// Bitcoin address. - /// @param _amount The amount of the token being burnt, in its - /// smallest value. (e.g. satoshis for BTC) - function burn(bytes memory _to, uint256 _amount) public returns (uint256) { - // The recipient must not be empty. Better validation is possible, - // but would need to be customized for each destination ledger. - require(_to.length != 0, "Gateway: to address is empty"); - - // Calculate fee, subtract it from amount being burnt. - uint256 fee = _amount.mul(burnFee).div(BIPS_DENOMINATOR); - uint256 amountAfterFee = - _amount.sub(fee, "Gateway: fee exceeds amount"); - - // If the scaled token can represent more precision than the underlying - // token, the difference is lost. This won't exceed 1 sat, so is - // negligible compared to burning and transaction fees. - uint256 amountAfterFeeUnderlying = token.toUnderlying(amountAfterFee); - - // Burn the whole amount, and then re-mint the fee. - token.burn(msg.sender, _amount); - token.mint(feeRecipient, fee); - - require( - // Must be strictly greater, to that the release transaction is of - // at least one unit. - amountAfterFeeUnderlying > minimumBurnAmount, - "Gateway: amount is less than the minimum burn amount" - ); - - emit LogBurn(_to, amountAfterFeeUnderlying, nextN, _to); - nextN += 1; - - return amountAfterFeeUnderlying; - } - - /// @notice verifySignature checks the the provided signature matches the provided - /// parameters. - function verifySignature(bytes32 _signedMessageHash, bytes memory _sig) - public - view - returns (bool) - { - return mintAuthority == ECDSA.recover(_signedMessageHash, _sig); - } - - /// @notice hashForSignature hashes the parameters so that they can be signed. - function hashForSignature( - bytes32 _pHash, - uint256 _amount, - address _to, - bytes32 _nHash - ) public view returns (bytes32) { - return - keccak256(abi.encode(_pHash, _amount, address(token), _to, _nHash)); - } -} - -/* solium-disable-next-line no-empty-blocks */ -// contract GatewayProxy is InitializableAdminUpgradeabilityProxy {} - -/// @dev The following duplicates are not necessary for deploying BTCGateway or -/// ZECGateway contracts, but are used to track deployments. - -/* solium-disable-next-line no-empty-blocks */ -contract BTCGateway is InitializableAdminUpgradeabilityProxy { - -} - -/* solium-disable-next-line no-empty-blocks */ -contract ZECGateway is InitializableAdminUpgradeabilityProxy { - -} - -/* solium-disable-next-line no-empty-blocks */ -contract BCHGateway is InitializableAdminUpgradeabilityProxy { - -} diff --git a/contracts/Gateway/GatewayRegistry.sol b/contracts/Gateway/GatewayRegistry.sol deleted file mode 100644 index 04d02d43..00000000 --- a/contracts/Gateway/GatewayRegistry.sol +++ /dev/null @@ -1,232 +0,0 @@ -pragma solidity 0.5.17; - -import "../Governance/Claimable.sol"; -import "./RenERC20.sol"; -import "../libraries/LinkedList.sol"; -import "./interfaces/IGateway.sol"; -import "../libraries/CanReclaimTokens.sol"; - -/// @notice GatewayRegistry is a mapping from assets to their associated -/// RenERC20 and Gateway contracts. -contract GatewayRegistry is Claimable, CanReclaimTokens { - constructor() public { - Claimable.initialize(msg.sender); - CanReclaimTokens.initialize(msg.sender); - } - - /// @dev The symbol is included twice because strings have to be hashed - /// first in order to be used as a log index/topic. - event LogGatewayRegistered( - string _symbol, - string indexed _indexedSymbol, - address indexed _token, - address indexed _gatewayContract - ); - event LogGatewayDeregistered( - string _symbol, - string indexed _indexedSymbol, - address indexed _token, - address indexed _gatewayContract - ); - event LogGatewayUpdated( - address indexed _token, - address indexed _currentGatewayContract, - address indexed _newGatewayContract - ); - - /// @notice The number of gateways registered. - uint256 numGatewayContracts = 0; - - /// @notice A list of gateway contracts. - LinkedList.List private gatewayContractList; - - /// @notice A list of ren token contracts. - LinkedList.List private renTokenList; - - /// @notice A map of token addresses to canonical gateway contract addresses. - mapping(address => address) private gatewayByToken; - - /// @notice A map of token symbols to token addresses. - mapping(string => address) private tokenBySymbol; - - /// @notice Allow the owner to set the Gateway contract for a given - /// RenERC20 token contract. - /// - /// @param _token The address of the RenERC20 token contract. - /// @param _gatewayContract The address of the Gateway contract. - function setGateway( - string calldata _symbol, - address _token, - address _gatewayContract - ) external onlyOwner { - require( - symbolIsValid(_symbol), - "GatewayRegistry: symbol must be alphanumeric" - ); - - // Check that token, Gateway and symbol haven't already been registered. - require( - !LinkedList.isInList(gatewayContractList, _gatewayContract), - "GatewayRegistry: gateway already registered" - ); - require( - gatewayByToken[_token] == address(0x0), - "GatewayRegistry: token already registered" - ); - require( - tokenBySymbol[_symbol] == address(0x0), - "GatewayRegistry: symbol already registered" - ); - - // Add to list of gateways. - LinkedList.append(gatewayContractList, _gatewayContract); - - // Add to list of ren tokens. - LinkedList.append(renTokenList, _token); - - tokenBySymbol[_symbol] = _token; - gatewayByToken[_token] = _gatewayContract; - numGatewayContracts += 1; - - emit LogGatewayRegistered(_symbol, _symbol, _token, _gatewayContract); - } - - /// @notice Allow the owner to update the Gateway contract for a given - /// RenERC20 contract. - /// - /// @param _token The address of the RenERC20 contract. - /// @param _newGatewayContract The updated address of the Gateway contract. - function updateGateway(address _token, address _newGatewayContract) - external - onlyOwner - { - // Check that token, Gateway are registered - address currentGateway = gatewayByToken[_token]; - require( - currentGateway != address(0x0), - "GatewayRegistry: token not registered" - ); - - // Remove to list of Gateway contracts. - LinkedList.remove(gatewayContractList, currentGateway); - - // Add to list of RenERC20 tokens. - LinkedList.append(gatewayContractList, _newGatewayContract); - - gatewayByToken[_token] = _newGatewayContract; - - emit LogGatewayUpdated(_token, currentGateway, _newGatewayContract); - } - - /// @notice Allows the owner to remove the Gateway contract for a given - /// RenERC20 contract. - /// - /// @param _symbol The symbol of the token to deregister. - function removeGateway(string calldata _symbol) external onlyOwner { - // Look up token address - address tokenAddress = tokenBySymbol[_symbol]; - require( - tokenAddress != address(0x0), - "GatewayRegistry: symbol not registered" - ); - - // Look up Gateway contract address - address gatewayAddress = gatewayByToken[tokenAddress]; - - // Remove token and Gateway contract - delete gatewayByToken[tokenAddress]; - delete tokenBySymbol[_symbol]; - LinkedList.remove(gatewayContractList, gatewayAddress); - LinkedList.remove(renTokenList, tokenAddress); - numGatewayContracts -= 1; - - emit LogGatewayDeregistered( - _symbol, - _symbol, - tokenAddress, - gatewayAddress - ); - } - - /// @dev To get all the registered Gateway contracts use count = 0. - function getGateways(address _start, uint256 _count) - external - view - returns (address[] memory) - { - return - LinkedList.elements( - gatewayContractList, - _start, - _count == 0 ? numGatewayContracts : _count - ); - } - - /// @dev To get all the registered RenERC20 tokens use count = 0. - function getRenTokens(address _start, uint256 _count) - external - view - returns (address[] memory) - { - return - LinkedList.elements( - renTokenList, - _start, - _count == 0 ? numGatewayContracts : _count - ); - } - - /// @notice Returns the Gateway contract for the given RenERC20 token - /// address. - /// - /// @param _token The address of the RenERC20 token contract. - function getGatewayByToken(address _token) - external - view - returns (IGateway) - { - return IGateway(gatewayByToken[_token]); - } - - /// @notice Returns the Gateway contract for the given RenERC20 token - /// symbol. - /// - /// @param _tokenSymbol The symbol of the RenERC20 token contract. - function getGatewayBySymbol(string calldata _tokenSymbol) - external - view - returns (IGateway) - { - return IGateway(gatewayByToken[tokenBySymbol[_tokenSymbol]]); - } - - /// @notice Returns the RenERC20 address for the given token symbol. - /// - /// @param _tokenSymbol The symbol of the RenERC20 token contract to - /// lookup. - function getTokenBySymbol(string calldata _tokenSymbol) - external - view - returns (IERC20) - { - return IERC20(tokenBySymbol[_tokenSymbol]); - } - - function symbolIsValid(string memory _tokenSymbol) - public - pure - returns (bool) - { - for (uint256 i = 0; i < bytes(_tokenSymbol).length; i++) { - uint8 char = uint8(bytes(_tokenSymbol)[i]); - if ( - !((char >= 65 && char <= 90) || - (char >= 97 && char <= 122) || - (char >= 48 && char <= 57)) - ) { - return false; - } - } - return true; - } -} diff --git a/contracts/Gateway/RenERC20.sol b/contracts/Gateway/RenERC20.sol deleted file mode 100644 index 4d3db248..00000000 --- a/contracts/Gateway/RenERC20.sol +++ /dev/null @@ -1,106 +0,0 @@ -pragma solidity 0.5.17; - -import "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol"; -import "@openzeppelin/upgrades/contracts/upgradeability/InitializableAdminUpgradeabilityProxy.sol"; -import "@openzeppelin/upgrades/contracts/Initializable.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol"; - -import "../Governance/Claimable.sol"; -import "../libraries/CanReclaimTokens.sol"; -import "./ERC20WithRate.sol"; -import "./ERC20WithPermit.sol"; - -/// @notice RenERC20 represents a digital asset that has been bridged on to -/// the Ethereum ledger. It exposes mint and burn functions that can only be -/// called by it's associated Gateway contract. -contract RenERC20LogicV1 is - Initializable, - ERC20, - ERC20Detailed, - ERC20WithRate, - ERC20WithPermit, - Claimable, - CanReclaimTokens -{ - /* solium-disable-next-line no-empty-blocks */ - function initialize( - uint256 _chainId, - address _nextOwner, - uint256 _initialRate, - string memory _version, - string memory _name, - string memory _symbol, - uint8 _decimals - ) public initializer { - ERC20Detailed.initialize(_name, _symbol, _decimals); - ERC20WithRate.initialize(_nextOwner, _initialRate); - ERC20WithPermit.initialize( - _chainId, - _version, - _name, - _symbol, - _decimals - ); - Claimable.initialize(_nextOwner); - CanReclaimTokens.initialize(_nextOwner); - } - - /// @notice mint can only be called by the tokens' associated Gateway - /// contract. See Gateway's mint function instead. - function mint(address _to, uint256 _amount) public onlyOwner { - _mint(_to, _amount); - } - - /// @notice burn can only be called by the tokens' associated Gateway - /// contract. See Gateway's burn functions instead. - function burn(address _from, uint256 _amount) public onlyOwner { - _burn(_from, _amount); - } - - function transfer(address recipient, uint256 amount) public returns (bool) { - // Disallow sending tokens to the ERC20 contract address - a common - // mistake caused by the Ethereum transaction's `to` needing to be - // the token's address. - require( - recipient != address(this), - "RenERC20: can't transfer to token address" - ); - return super.transfer(recipient, amount); - } - - function transferFrom( - address sender, - address recipient, - uint256 amount - ) public returns (bool) { - // Disallow sending tokens to the ERC20 contract address (see comment - // in `transfer`). - require( - recipient != address(this), - "RenERC20: can't transfer to token address" - ); - return super.transferFrom(sender, recipient, amount); - } -} - -/* solium-disable-next-line no-empty-blocks */ -// contract RenERC20Proxy is InitializableAdminUpgradeabilityProxy {} - -/// @dev The following are not necessary for deploying renBTC or renZEC contracts, -/// but are used to track deployments. - -/* solium-disable-next-line no-empty-blocks */ -contract RenBTC is InitializableAdminUpgradeabilityProxy { - -} - -/* solium-disable-next-line no-empty-blocks */ -contract RenZEC is InitializableAdminUpgradeabilityProxy { - -} - -/* solium-disable-next-line no-empty-blocks */ -contract RenBCH is InitializableAdminUpgradeabilityProxy { - -} diff --git a/contracts/Gateway/adapters/BasicAdapter.sol b/contracts/Gateway/adapters/BasicAdapter.sol deleted file mode 100644 index 0eed3dc0..00000000 --- a/contracts/Gateway/adapters/BasicAdapter.sol +++ /dev/null @@ -1,77 +0,0 @@ -pragma solidity 0.5.17; - -import "@openzeppelin/contracts-ethereum-package/contracts/GSN/GSNRecipient.sol"; - -import "../interfaces/IGateway.sol"; -import "../interfaces/IGatewayRegistry.sol"; - -contract BasicAdapter is GSNRecipient { - IGatewayRegistry registry; - - constructor(IGatewayRegistry _registry) public { - GSNRecipient.initialize(); - registry = _registry; - } - - function mint( - // Payload - string calldata _symbol, - address _recipient, - // Required - uint256 _amount, - bytes32 _nHash, - bytes calldata _sig - ) external { - bytes32 payloadHash = keccak256(abi.encode(_symbol, _recipient)); - uint256 amount = - registry.getGatewayBySymbol(_symbol).mint( - payloadHash, - _amount, - _nHash, - _sig - ); - registry.getTokenBySymbol(_symbol).transfer(_recipient, amount); - } - - function burn( - string calldata _symbol, - bytes calldata _to, - uint256 _amount - ) external { - require( - registry.getTokenBySymbol(_symbol).transferFrom( - _msgSender(), - address(this), - _amount - ), - "token transfer failed" - ); - registry.getGatewayBySymbol(_symbol).burn(_to, _amount); - } - - // GSN functions - - function acceptRelayedCall( - address relay, - address from, - bytes calldata encodedFunction, - uint256 transactionFee, - uint256 gasPrice, - uint256 gasLimit, - uint256 nonce, - bytes calldata approvalData, - uint256 maxPossibleCharge - ) external view returns (uint256, bytes memory) { - return _approveRelayedCall(); - } - - // We won't do any pre or post processing, so leave _preRelayedCall and _postRelayedCall empty - function _preRelayedCall(bytes memory context) internal returns (bytes32) {} - - function _postRelayedCall( - bytes memory context, - bool, - uint256 actualCharge, - bytes32 - ) internal {} -} diff --git a/contracts/Gateway/examples/README.md b/contracts/Gateway/examples/README.md deleted file mode 100644 index af54d621..00000000 --- a/contracts/Gateway/examples/README.md +++ /dev/null @@ -1,9 +0,0 @@ -## Gateway examples - -This directory contains a collection of Ethereum smart contracts for interacting with the Gateway contract. Please note the code is for example purposes only and has not been audited. - -### Vesting - -The Vesting contract is an example of a Bitcoin vesting contract on the Ethereum blockchain. This contract allows the owner to create vesting schedules for Bitcoin. Beneficiaries can claim the Bitcoin at monthly intervals based on their schedule. - -This contract demonstrates the use of the `mint` and `burn` functions in the Gateway contract. `mint` is called when we first add a vesting schedule and `burn` is called when a user wants to claim their vested Bitcoin. \ No newline at end of file diff --git a/contracts/Gateway/examples/Vesting.sol b/contracts/Gateway/examples/Vesting.sol deleted file mode 100644 index dba87310..00000000 --- a/contracts/Gateway/examples/Vesting.sol +++ /dev/null @@ -1,144 +0,0 @@ -pragma solidity 0.5.17; - -import "../GatewayRegistry.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/math/Math.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/math/SafeMath.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol"; - -contract Vesting is Ownable { - using SafeMath for uint256; - - GatewayRegistry public registry; - - uint256 private constant SECONDS_PER_MONTH = 365 days / 12; - - /// @notice Defines the fields required for a vesting schedule. - struct VestingSchedule { - // The start time (in seconds since Unix epoch) at which the vesting - // period should begin. - uint256 startTime; - // The number of months for the vesting period. - uint16 duration; - // The total amount of Bitcoin apart of the vesting schedule. - uint256 amount; - // The number of months claimed by the user. - uint256 monthsClaimed; - // The total amount of Bitcoin claimed by the user. - uint256 amountClaimed; - } - - /// @notice Mapping of a beneficiary address to a vesting schedule. Each - // beneficiary can have a maximum of 1 vesting schedule. - mapping(address => VestingSchedule) public schedules; - - /// @notice The contract constructor. - /// @param _registry The GatewayRegistry contract address. - constructor(GatewayRegistry _registry) public { - Ownable.initialize(msg.sender); - registry = _registry; - } - - /// @notice Allows the contract owner to add a vesting schedule for a - /// beneficiary. - /// @param _amount The amount of Bitcoin provided to the Darknodes in Sats. - /// @param _nHash The hash of the nonce returned by the Darknodes. - /// @param _sig The signature returned by the Darknodes. - /// @param _beneficiary The address of the recipient entitled to claim the vested tokens. - /// @param _startTime The start time (in seconds since Unix epoch) at which the vesting - /// period should begin. - /// @param _duration The number of months for the vesting period. - function addVestingSchedule( - // Payload - address _beneficiary, - uint256 _startTime, - uint16 _duration, - // Required - uint256 _amount, - bytes32 _nHash, - bytes calldata _sig - ) external onlyOwner { - require( - schedules[_beneficiary].startTime == 0, - "vesting schedule already exists" - ); - require(_amount > 0, "amount must be greater than 0"); - require(_duration > 0, "duration must be at least 1 month"); - - // Construct the payload hash and mint new tokens using the Gateway - // contract. This will verify the signature to ensure the Darknodes have - // received the Bitcoin. - bytes32 pHash = - keccak256(abi.encode(_beneficiary, _startTime, _duration)); - uint256 finalAmountScaled = - registry.getGatewayBySymbol("BTC").mint( - pHash, - _amount, - _nHash, - _sig - ); - - // Construct a vesting schedule and assign it to the beneficiary. - VestingSchedule memory schedule = - VestingSchedule({ - startTime: _startTime == 0 ? now : _startTime, - duration: _duration, - amount: finalAmountScaled, - monthsClaimed: 0, - amountClaimed: 0 - }); - - schedules[_beneficiary] = schedule; - } - - /// @notice Allows a beneficiary to withdraw their vested Bitcoin. - /// @param _to The Bitcoin address to which the beneficiary will receive - /// their Bitcoin. - function claim(bytes calldata _to) external { - // Calculate the claimable amount for the caller of the function. - uint256 monthsClaimable; - uint256 amountClaimable; - (monthsClaimable, amountClaimable) = calculateClaimable(msg.sender); - - require(amountClaimable > 0, "no amount claimable"); - - // Update the claimed details in the vesting schedule. - VestingSchedule storage schedule = schedules[msg.sender]; - schedule.monthsClaimed = schedule.monthsClaimed.add(monthsClaimable); - schedule.amountClaimed = schedule.amountClaimed.add(amountClaimable); - - // Burn the tokens using the Gateway contract. This will burn the - // tokens after taking a fee. The Darknodes will watch for this event to - // transfer the user the Bitcoin. - registry.getGatewayBySymbol("BTC").burn(_to, amountClaimable); - } - - /// @notice Retrieves the claimable amount for a given beneficiary. - /// @param _to The Ethereum address of the beneficiary. - function calculateClaimable(address _to) - public - view - returns (uint256, uint256) - { - VestingSchedule storage schedule = schedules[_to]; - - // Return if the vesting schedule does not exist or has not yet started. - if (schedule.amount == 0 || now < schedule.startTime) { - return (0, 0); - } - - // Calculate the months elapsed since the start of the vesting period. - uint256 elapsedTime = now.sub(schedule.startTime); - uint256 elapsedMonths = elapsedTime.div(SECONDS_PER_MONTH); - - // Calculate the months elapsed and amount claimable since the last - // claim attempt. - uint256 monthsClaimable = - Math.min(schedule.duration, elapsedMonths).sub( - schedule.monthsClaimed - ); - uint256 amountClaimable = - schedule.amount.mul(monthsClaimable).div(schedule.duration); - - return (monthsClaimable, amountClaimable); - } -} diff --git a/contracts/Gateway/interfaces/IGateway.sol b/contracts/Gateway/interfaces/IGateway.sol deleted file mode 100644 index 0e6223b0..00000000 --- a/contracts/Gateway/interfaces/IGateway.sol +++ /dev/null @@ -1,40 +0,0 @@ -pragma solidity 0.5.17; - -interface IMintGateway { - function mint( - bytes32 _pHash, - uint256 _amount, - bytes32 _nHash, - bytes calldata _sig - ) external returns (uint256); - - function mintFee() external view returns (uint256); -} - -interface IBurnGateway { - function burn(bytes calldata _to, uint256 _amountScaled) - external - returns (uint256); - - function burnFee() external view returns (uint256); -} - -// TODO: In ^0.6.0, should be `interface IGateway is IMintGateway,IBurnGateway {}` -interface IGateway { - // is IMintGateway - function mint( - bytes32 _pHash, - uint256 _amount, - bytes32 _nHash, - bytes calldata _sig - ) external returns (uint256); - - function mintFee() external view returns (uint256); - - // is IBurnGateway - function burn(bytes calldata _to, uint256 _amountScaled) - external - returns (uint256); - - function burnFee() external view returns (uint256); -} diff --git a/contracts/Gateway/interfaces/IGatewayRegistry.sol b/contracts/Gateway/interfaces/IGatewayRegistry.sol deleted file mode 100644 index 8c2ab140..00000000 --- a/contracts/Gateway/interfaces/IGatewayRegistry.sol +++ /dev/null @@ -1,68 +0,0 @@ -pragma solidity 0.5.17; - -import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol"; - -import "./IGateway.sol"; - -/// @notice GatewayRegistry is a mapping from assets to their associated -/// RenERC20 and Gateway contracts. -interface IGatewayRegistry { - /// @dev The symbol is included twice because strings have to be hashed - /// first in order to be used as a log index/topic. - event LogGatewayRegistered( - string _symbol, - string indexed _indexedSymbol, - address indexed _tokenAddress, - address indexed _gatewayAddress - ); - event LogGatewayDeregistered( - string _symbol, - string indexed _indexedSymbol, - address indexed _tokenAddress, - address indexed _gatewayAddress - ); - event LogGatewayUpdated( - address indexed _tokenAddress, - address indexed _currentGatewayAddress, - address indexed _newGatewayAddress - ); - - /// @dev To get all the registered gateways use count = 0. - function getGateways(address _start, uint256 _count) - external - view - returns (address[] memory); - - /// @dev To get all the registered RenERC20s use count = 0. - function getRenTokens(address _start, uint256 _count) - external - view - returns (address[] memory); - - /// @notice Returns the Gateway contract for the given RenERC20 - /// address. - /// - /// @param _tokenAddress The address of the RenERC20 contract. - function getGatewayByToken(address _tokenAddress) - external - view - returns (IGateway); - - /// @notice Returns the Gateway contract for the given RenERC20 - /// symbol. - /// - /// @param _tokenSymbol The symbol of the RenERC20 contract. - function getGatewayBySymbol(string calldata _tokenSymbol) - external - view - returns (IGateway); - - /// @notice Returns the RenERC20 address for the given token symbol. - /// - /// @param _tokenSymbol The symbol of the RenERC20 contract to - /// lookup. - function getTokenBySymbol(string calldata _tokenSymbol) - external - view - returns (IERC20); -} diff --git a/contracts/Protocol/Protocol.sol b/contracts/Protocol/Protocol.sol index bd7c928d..a5ddb643 100644 --- a/contracts/Protocol/Protocol.sol +++ b/contracts/Protocol/Protocol.sol @@ -1,173 +1,49 @@ pragma solidity 0.5.17; -import "@openzeppelin/upgrades/contracts/upgradeability/InitializableAdminUpgradeabilityProxy.sol"; import "@openzeppelin/upgrades/contracts/Initializable.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol"; -import "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol"; - -import "../DarknodePayment/DarknodePayment.sol"; -import "../DarknodePayment/DarknodePaymentStore.sol"; -import "../DarknodeRegistry/DarknodeRegistry.sol"; -import "../DarknodeRegistry/DarknodeRegistryStore.sol"; -import "../DarknodeSlasher/DarknodeSlasher.sol"; -import "../RenToken/RenToken.sol"; -import "../Gateway/GatewayRegistry.sol"; -import "../Gateway/interfaces/IGatewayRegistry.sol"; -import "../Gateway/interfaces/IGateway.sol"; import "../Governance/Claimable.sol"; -/// @notice ProtocolStateV1 stores the values used by Protocol as a -/// separate contract to reduce the risk of memory slots being moved. -contract ProtocolStateV1 { - /** - * - * NOTICE: New variables should be added to a new contract ProtocolStateV2, - * not added to ProtocolStateV1. ProtocolStateV1 should not be changed once - * the Protocol contract has been deployed. ProtocolLogicV1 should then inherit - * both ProtocolStateV1 and ProtocolStateV2. - * - */ - - // These are all private so that the getter interfaced can be changed - // if necessary. - - // DarknodeRegistry also points to RenToken, DarknodeRegistryStore and - // DarknodePayment, which in turn points to DarknodePaymentStore. - DarknodeRegistryLogicV1 internal _darknodeRegistry; - - // GatewayRegistry is used to access the Gateways and RenERC20s. - GatewayRegistry internal _gatewayRegistry; -} - -/// @notice ProtocolLogicV1 implements the getter functions for the Protocol proxy -/// as well as onlyOwner functions for updating the values in ProtocolState. -contract ProtocolLogicV1 is - Initializable, - Claimable, - ProtocolStateV1, - IGatewayRegistry -{ - function initialize(address _nextOwner) public initializer { - Claimable.initialize(_nextOwner); - } +/** The Protocol contract is used to look-up other Ren contracts. */ +contract Protocol is Initializable, Claimable { + event LogContractUpdated( + string contractName, + address indexed contractAddress, + string indexed contractNameIndexed + ); - // Darknode contracts + mapping(string => address) internal contractMap; - function darknodeRegistry() public view returns (DarknodeRegistryLogicV1) { - return ProtocolStateV1._darknodeRegistry; + function __Protocol_init(address adminAddress_) public initializer { + Claimable.initialize(adminAddress_); } - function darknodeRegistryStore() + function addContract(string memory contractName, address contractAddress) public - view - returns (DarknodeRegistryStore) - { - return darknodeRegistry().store(); - } - - function renToken() public view returns (RenToken) { - return darknodeRegistry().ren(); - } - - function darknodePayment() public view returns (DarknodePayment) { - return - DarknodePayment( - _payableAddress(address(darknodeRegistry().darknodePayment())) - ); - } - - function darknodePaymentStore() public view returns (DarknodePaymentStore) { - return darknodePayment().store(); - } - - function darknodeSlasher() public view returns (DarknodeSlasher) { - return - DarknodeSlasher( - _payableAddress(address(darknodeRegistry().slasher())) - ); - } - - // Gateway contracts - - function gatewayRegistry() public view returns (GatewayRegistry) { - return ProtocolStateV1._gatewayRegistry; - } - - function getGateways(address _start, uint256 _count) - external - view - returns (address[] memory) - { - return gatewayRegistry().getGateways(_start, _count); - } - - function getRenTokens(address _start, uint256 _count) - external - view - returns (address[] memory) - { - return gatewayRegistry().getRenTokens(_start, _count); - } - - function getGatewayByToken(address _tokenAddress) - external - view - returns (IGateway) - { - return gatewayRegistry().getGatewayByToken(_tokenAddress); - } - - function getGatewayBySymbol(string calldata _tokenSymbol) - external - view - returns (IGateway) - { - return gatewayRegistry().getGatewayBySymbol(_tokenSymbol); - } - - function getTokenBySymbol(string calldata _tokenSymbol) - external - view - returns (IERC20) + onlyOwner { - return gatewayRegistry().getTokenBySymbol(_tokenSymbol); - } - - // Only owner ////////////////////////////////////////////////////////////// + require( + contractMap[contractName] == address(0x0), + "Protocol: contract entry already exists" + ); + contractMap[contractName] = contractAddress; - /// @notice Update the address of DarknodeRegistry. This could affect the - /// addresses of DarknodeRegistryStore, DarknodePayment, - /// DarknodePaymentStore and DarknodeSlasher. - function _updateDarknodeRegistry( - DarknodeRegistryLogicV1 _newDarknodeRegistry - ) public onlyOwner { - ProtocolStateV1._darknodeRegistry = _newDarknodeRegistry; + emit LogContractUpdated(contractName, contractAddress, contractName); } - /// @notice Update the address of GatewayRegistry. This could affect the - /// addresses of all of the gateways and tokens. - function _updateGatewayRegistry(GatewayRegistry _newGatewayRegistry) + function updateContract(string memory contractName, address contractAddress) public onlyOwner { - ProtocolStateV1._gatewayRegistry = _newGatewayRegistry; - } + contractMap[contractName] = contractAddress; - // Internal functions ////////////////////////////////////////////////////// + emit LogContractUpdated(contractName, contractAddress, contractName); + } - // Cast an address to a payable address - function _payableAddress(address a) - internal - pure - returns (address payable) + function getContract(string memory contractName) + public + view + returns (address) { - return address(uint160(address(a))); + return contractMap[contractName]; } } - -/// @notice Protocol is a directory of the current contract addresses. -/* solium-disable-next-line no-empty-blocks */ -contract ProtocolProxy is InitializableAdminUpgradeabilityProxy { - -} diff --git a/migrations/1_darknodes.js b/migrations/1_darknodes.js index 8d04abff..54016bea 100644 --- a/migrations/1_darknodes.js +++ b/migrations/1_darknodes.js @@ -6,12 +6,14 @@ const { execSync } = require("child_process"); const RenToken = artifacts.require("RenToken"); const DarknodePayment = artifacts.require("DarknodePayment"); const DarknodePaymentStore = artifacts.require("DarknodePaymentStore"); +const ClaimlessRewards = artifacts.require("ClaimlessRewards"); const DarknodeRegistryStore = artifacts.require("DarknodeRegistryStore"); const DarknodeRegistryProxy = artifacts.require("DarknodeRegistryProxy"); const DarknodeRegistryLogicV1 = artifacts.require("DarknodeRegistryLogicV1"); const DarknodeSlasher = artifacts.require("DarknodeSlasher"); -const ProtocolProxy = artifacts.require("ProtocolProxy"); -const ProtocolLogicV1 = artifacts.require("ProtocolLogicV1"); +const Protocol = artifacts.require("Protocol"); +const ClaimRewards = artifacts.require("ClaimRewards"); +const GetOperatorDarknodes = artifacts.require("GetOperatorDarknodes"); const RenProxyAdmin = artifacts.require("RenProxyAdmin"); const networks = require("./networks.js"); @@ -62,13 +64,30 @@ module.exports = async function(deployer, network) { DarknodeRegistryStore.address = addresses.DarknodeRegistryStore || ""; DarknodePaymentStore.address = addresses.DarknodePaymentStore || ""; DarknodePayment.address = addresses.DarknodePayment || ""; - ProtocolProxy.address = addresses.ProtocolProxy || ""; - ProtocolLogicV1.address = addresses.ProtocolLogicV1 || ""; + ClaimlessRewards.address = addresses.ClaimlessRewards || ""; + Protocol.address = addresses.Protocol || ""; RenProxyAdmin.address = addresses.RenProxyAdmin || ""; + GetOperatorDarknodes.address = addresses.GetOperatorDarknodes || ""; + ClaimRewards.address = addresses.ClaimRewards || ""; const tokens = addresses.tokens || {}; let actionCount = 0; + /** GetOperatorDarknodes **************************************************************/ + + // !!! 0x4e27a3e21e747cf875ad5829b6d9cb7700b8b5f0 + // if (!GetOperatorDarknodes.address) { + // deployer.logger.log("Deploying GetOperatorDarknodes"); + // await deployer.deploy( + // GetOperatorDarknodes, + // DarknodeRegistryProxy.address + // ); + // actionCount++; + // } + // const getOperatorDarknodes = await GetOperatorDarknodes.at( + // GetOperatorDarknodes.address + // ); + /** PROXY ADMIN ***********************************************************/ if (!RenProxyAdmin.address) { deployer.logger.log("Deploying Proxy "); @@ -77,53 +96,24 @@ module.exports = async function(deployer, network) { } let renProxyAdmin = await RenProxyAdmin.at(RenProxyAdmin.address); - /** PROTOCOL **************************************************************/ - if (!ProtocolLogicV1.address) { - deployer.logger.log("Deploying ProtocolLogicV1"); - await deployer.deploy(ProtocolLogicV1); - actionCount++; - } - const protocolLogic = await ProtocolLogicV1.at(ProtocolLogicV1.address); - const protocolParameters = { types: ["address"], values: [contractOwner] }; - - // Initialize ProtocolLogic so others can't initialize it. - const protocolLogicOwner = await protocolLogic.owner.call(); - if (Ox(protocolLogicOwner) === Ox(NULL)) { - deployer.logger.log("Ensuring ProtocolLogic is initialized"); - await protocolLogic.initialize(...protocolParameters.values); - actionCount++; - } + // /** GetOperatorDarknodes **************************************************************/ + // if (!GetOperatorDarknodes.address) { + // deployer.logger.log("Deploying GetOperatorDarknodes"); + // await deployer.deploy(GetOperatorDarknodes); + // actionCount++; + // } + // const getOperatorDarknodes = await GetOperatorDarknodes.at( + // GetOperatorDarknodes.address + // ); - let protocolProxy; - if (!ProtocolProxy.address) { - deployer.logger.log("Deploying ProtocolProxy"); - await deployer.deploy(ProtocolProxy); - protocolProxy = await ProtocolProxy.at(ProtocolProxy.address); - await protocolProxy.initialize( - protocolLogic.address, - renProxyAdmin.address, - encodeCallData( - web3, - "initialize", - protocolParameters.types, - protocolParameters.values - ) - ); + /** PROTOCOL **************************************************************/ + if (!Protocol.address) { + deployer.logger.log("Deploying Protocol"); + await deployer.deploy(Protocol); actionCount++; - } else { - protocolProxy = await ProtocolProxy.at(ProtocolProxy.address); } - - const protocolProxyLogic = await renProxyAdmin.getProxyImplementation( - protocolProxy.address - ); - if (Ox(protocolProxyLogic) !== Ox(ProtocolLogicV1.address)) { - throw new Error( - "ERROR: ProtocolProxy is pointing to out-dated ProtocolLogicV1." - ); - } - - const protocol = await ProtocolLogicV1.at(ProtocolProxy.address); + const protocol = await Protocol.at(Protocol.address); + await protocol.__Protocol_init(contractOwner); /** Ren TOKEN *************************************************************/ if (!RenToken.address) { @@ -132,6 +122,14 @@ module.exports = async function(deployer, network) { actionCount++; } + /** ClaimRewards **************************************************************/ + if (!ClaimRewards.address) { + deployer.logger.log("Deploying ClaimRewards"); + await deployer.deploy(ClaimRewards); + actionCount++; + } + // const claimRewards = await ClaimRewards.at(ClaimRewards.address); + /** DARKNODE REGISTRY *****************************************************/ if (!DarknodeRegistryStore.address) { deployer.logger.log("Deploying DarknodeRegistryStore"); @@ -175,7 +173,7 @@ module.exports = async function(deployer, network) { }; // Initialize darknodeRegistryLogic so others can't initialize it. - const darknodeRegistryLogicOwner = await darknodeRegistryLogic.owner.call(); + const darknodeRegistryLogicOwner = await darknodeRegistryLogic.owner(); if (Ox(darknodeRegistryLogicOwner) === Ox(NULL)) { deployer.logger.log("Ensuring DarknodeRegistryLogic is initialized"); await darknodeRegistryLogic.initialize( @@ -233,14 +231,14 @@ module.exports = async function(deployer, network) { actionCount++; } - const storeOwner = await darknodeRegistryStore.owner.call(); + const storeOwner = await darknodeRegistryStore.owner(); if (Ox(storeOwner) !== Ox(darknodeRegistry.address)) { deployer.logger.log( "Linking DarknodeRegistryStore and DarknodeRegistry" ); if (Ox(storeOwner) === Ox(contractOwner)) { // Initiate ownership transfer of DNR store - const pendingOwner = await darknodeRegistryStore.pendingOwner.call(); + const pendingOwner = await darknodeRegistryStore.pendingOwner(); if (Ox(pendingOwner) !== Ox(darknodeRegistry.address)) { deployer.logger.log( "Transferring DarknodeRegistryStore ownership" @@ -271,16 +269,21 @@ module.exports = async function(deployer, network) { actionCount++; } - const protocolDarknodeRegistry = await protocol.darknodeRegistry.call(); + const protocolDarknodeRegistry = await protocol.getContract( + "DarknodeRegistry" + ); if (Ox(protocolDarknodeRegistry) !== Ox(darknodeRegistry.address)) { deployer.logger.log( `Updating DarknodeRegistry in Protocol contract. Was ${protocolDarknodeRegistry}, now is ${darknodeRegistry.address}` ); - await protocol._updateDarknodeRegistry(darknodeRegistry.address); + await protocol.updateContract( + "DarknodeRegistry", + darknodeRegistry.address + ); actionCount++; } - const renInDNR = await darknodeRegistry.ren.call(); + const renInDNR = await darknodeRegistry.ren(); if (Ox(renInDNR) !== Ox(RenToken.address)) { console.error( `ERROR! DNR is pointing to wrong REN token - ${Ox( @@ -291,7 +294,7 @@ module.exports = async function(deployer, network) { ); } - const renInDNRS = await darknodeRegistryStore.ren.call(); + const renInDNRS = await darknodeRegistryStore.ren(); if (Ox(renInDNRS) !== Ox(RenToken.address)) { console.error( `ERROR! DNRS is pointing to wrong REN token - ${Ox( @@ -312,7 +315,7 @@ module.exports = async function(deployer, network) { } const slasher = await DarknodeSlasher.at(DarknodeSlasher.address); - const dnrInSlasher = await slasher.darknodeRegistry.call(); + const dnrInSlasher = await slasher.darknodeRegistry(); if (Ox(dnrInSlasher) !== Ox(darknodeRegistry.address)) { deployer.logger.log("Updating DNR in Slasher"); await slasher.updateDarknodeRegistry(darknodeRegistry.address); @@ -321,7 +324,7 @@ module.exports = async function(deployer, network) { // Set the slash percentages const blacklistSlashPercent = new BN( - await slasher.blacklistSlashPercent.call() + await slasher.blacklistSlashPercent() ).toNumber(); if (blacklistSlashPercent !== config.BLACKLIST_SLASH_PERCENT) { deployer.logger.log("Setting blacklist slash percent"); @@ -331,7 +334,7 @@ module.exports = async function(deployer, network) { actionCount++; } const maliciousSlashPercent = new BN( - await slasher.maliciousSlashPercent.call() + await slasher.maliciousSlashPercent() ).toNumber(); if (maliciousSlashPercent !== config.MALICIOUS_SLASH_PERCENT) { deployer.logger.log("Setting malicious slash percent"); @@ -341,7 +344,7 @@ module.exports = async function(deployer, network) { actionCount++; } const secretRevealSlashPercent = new BN( - await slasher.secretRevealSlashPercent.call() + await slasher.secretRevealSlashPercent() ).toNumber(); if (secretRevealSlashPercent !== config.SECRET_REVEAL_SLASH_PERCENT) { deployer.logger.log("Setting secret reveal slash percent"); @@ -351,8 +354,8 @@ module.exports = async function(deployer, network) { actionCount++; } - const currentSlasher = await darknodeRegistry.slasher.call(); - const nextSlasher = await darknodeRegistry.nextSlasher.call(); + const currentSlasher = await darknodeRegistry.slasher(); + const nextSlasher = await darknodeRegistry.nextSlasher(); if ( Ox(currentSlasher) != Ox(DarknodeSlasher.address) && Ox(nextSlasher) != Ox(DarknodeSlasher.address) @@ -385,6 +388,19 @@ module.exports = async function(deployer, network) { actionCount++; } + if (!ClaimlessRewards.address) { + // Deploy Darknode Payment + deployer.logger.log("Deploying ClaimlessRewards"); + await deployer.deploy( + ClaimlessRewards, + darknodeRegistry.address, + DarknodePaymentStore.address, + config.communityFund || contractOwner, + config.communityFundNumerator || 50000 + ); + actionCount++; + } + // Update darknode payment address if ( Ox(await darknodeRegistry.darknodePayment()) !== @@ -400,9 +416,9 @@ module.exports = async function(deployer, network) { const tokenAddress = tokens[tokenName]; const registered = ( - await darknodePayment.registeredTokenIndex.call(tokenAddress) + await darknodePayment.registeredTokenIndex(tokenAddress) ).toString() !== "0"; - const pendingRegistration = await darknodePayment.tokenPendingRegistration.call( + const pendingRegistration = await darknodePayment.tokenPendingRegistration( tokenAddress ); if (!registered && !pendingRegistration) { @@ -414,17 +430,19 @@ module.exports = async function(deployer, network) { } } - const dnrInDarknodePayment = await darknodePayment.darknodeRegistry.call(); + const dnrInDarknodePayment = await darknodePayment.darknodeRegistry(); if (Ox(dnrInDarknodePayment) !== Ox(darknodeRegistry.address)) { - deployer.logger.log("Updating DNR in DNP"); - await darknodePayment.updateDarknodeRegistry(darknodeRegistry.address); - actionCount++; + deployer.logger.log("DNP is still pointing to Forwarder."); + + // deployer.logger.log("Updating DNR in DNP"); + // await darknodePayment.updateDarknodeRegistry(darknodeRegistry.address); + // actionCount++; } const darknodePaymentStore = await DarknodePaymentStore.at( DarknodePaymentStore.address ); - const currentOwner = await darknodePaymentStore.owner.call(); + const currentOwner = await darknodePaymentStore.owner(); if (Ox(currentOwner) !== Ox(DarknodePayment.address)) { deployer.logger.log("Linking DarknodePaymentStore and DarknodePayment"); @@ -485,8 +503,7 @@ module.exports = async function(deployer, network) { RenToken: "${RenToken.address}", // Protocol - ProtocolLogicV1: "${ProtocolLogicV1.address}", - ProtocolProxy: "${ProtocolProxy.address}", + Protocol: "${Protocol.address}", // DNR DarknodeRegistryStore: "${DarknodeRegistryStore.address}", diff --git a/migrations/2_shifter.js b/migrations/2_shifter.js deleted file mode 100644 index 290d9c8e..00000000 --- a/migrations/2_shifter.js +++ /dev/null @@ -1,284 +0,0 @@ -/// - -const NULL = "0x0000000000000000000000000000000000000000"; -const NULL1 = "0x0000000000000000000000000000000000000001"; - -const GatewayRegistry = artifacts.require("GatewayRegistry"); - -const RenERC20LogicV1 = artifacts.require("RenERC20LogicV1"); - -const GatewayLogicV1 = artifacts.require("GatewayLogicV1"); - -const BTCGateway = artifacts.require("BTCGateway"); -const RenBTC = artifacts.require("RenBTC"); - -const ZECGateway = artifacts.require("ZECGateway"); -const RenZEC = artifacts.require("RenZEC"); - -const BCHGateway = artifacts.require("BCHGateway"); -const RenBCH = artifacts.require("RenBCH"); - -const DarknodePayment = artifacts.require("DarknodePayment"); -const DarknodePaymentStore = artifacts.require("DarknodePaymentStore"); -const ProtocolLogicV1 = artifacts.require("ProtocolLogicV1"); -const ProtocolProxy = artifacts.require("ProtocolProxy"); -const BasicAdapter = artifacts.require("BasicAdapter"); -const RenProxyAdmin = artifacts.require("RenProxyAdmin"); - -const networks = require("./networks.js"); -const { encodeCallData } = require("./encode"); - -/** - * @param {any} deployer - * @param {string} network - */ -module.exports = async function (deployer, network) { - - const contractOwner = (await web3.eth.getAccounts())[0]; - - const Ox = web3.utils.toChecksumAddress; - - deployer.logger.log(`Deploying to ${network} (${network.replace("-fork", "")})...`); - - network = network.replace("-fork", ""); - - const addresses = networks[network] || {}; - const config = networks[network] ? networks[network].config : networks.config; - const _mintAuthority = config.mintAuthority || contractOwner; - - // TODO: _feeRecipient should be the DarknodePayment contract - const _feeRecipient = DarknodePaymentStore.address || addresses.DarknodePaymentStore || contractOwner; - - BTCGateway.address = addresses.BTCGateway || ""; - ZECGateway.address = addresses.ZECGateway || ""; - BCHGateway.address = addresses.BCHGateway || ""; - GatewayRegistry.address = addresses.GatewayRegistry || ""; - GatewayLogicV1.address = addresses.GatewayLogicV1 || ""; - RenZEC.address = addresses.renZEC || ""; - RenBCH.address = addresses.renBCH || ""; - RenBTC.address = addresses.renBTC || ""; - BasicAdapter.address = addresses.BasicAdapter || ""; - RenERC20LogicV1.address = addresses.RenERC20LogicV1 || ""; - - const darknodePayment = await DarknodePayment.at(DarknodePayment.address); - const protocol = await ProtocolLogicV1.at(ProtocolProxy.address); - let renProxyAdmin = await RenProxyAdmin.at(RenProxyAdmin.address); - - let actionCount = 0; - - /** Registry **************************************************************/ - - if (!GatewayRegistry.address) { - deployer.logger.log(`Deploying Gateway contract`); - await deployer.deploy( - GatewayRegistry, - ); - actionCount++; - } - const registry = await GatewayRegistry.at(GatewayRegistry.address); - - const protocolGatewayRegistry = await protocol.gatewayRegistry.call(); - if (Ox(protocolGatewayRegistry) !== Ox(registry.address)) { - deployer.logger.log(`Updating GatewayRegistry in Protocol contract. Was ${protocolGatewayRegistry}, now is ${registry.address}`); - await protocol._updateGatewayRegistry(registry.address); - actionCount++; - } - - if (!BasicAdapter.address) { - deployer.logger.log(`Deploying BasicAdapter`); - await deployer.deploy( - BasicAdapter, - registry.address, - ); - actionCount++; - } - - // try { - // deployer.logger.log("Attempting to change cycle"); - // await darknodePayment.changeCycle(); - // } catch (error) { - // deployer.logger.log("Unable to call darknodePayment.changeCycle()"); - // } - - if (!RenERC20LogicV1.address) { - deployer.logger.log(`Deploying RenERC20LogicV1 logic`); - await deployer.deploy(RenERC20LogicV1); - actionCount++; - } - const renERC20Logic = await RenERC20LogicV1.at(RenERC20LogicV1.address); - - // Initialize RenERC20Logic so others can't. - if (Ox(await renERC20Logic.owner()) === Ox(NULL)) { - deployer.logger.log("Ensuring RenERC20Logic is initialized"); - await renERC20Logic.initialize(0, contractOwner, "1000000000000000000", "1", "", "", 0); - actionCount++; - } - - if (!GatewayLogicV1.address) { - deployer.logger.log(`Deploying GatewayLogicV1 logic`); - await deployer.deploy(GatewayLogicV1); - actionCount++; - } - const gatewayLogic = await GatewayLogicV1.at(GatewayLogicV1.address); - - // Initialize GatewayLogic so others can't. - if (Ox(await gatewayLogic.owner()) === Ox(NULL)) { - deployer.logger.log("Ensuring GatewayLogic is initialized"); - await gatewayLogic.initialize( - NULL, - NULL1, - NULL1, - 10000, - 10000, - 0 - ); - actionCount++; - } - - const chainID = await web3.eth.net.getId(); - - for (const [Token, Gateway, name, decimals, minimumBurnAmount] of [ - [RenBTC, BTCGateway, "BTC", 8, config.renBTCMinimumBurnAmount], - [RenZEC, ZECGateway, "ZEC", 8, config.renZECMinimumBurnAmount], - [RenBCH, BCHGateway, "BCH", 8, config.renBCHMinimumBurnAmount], - ]) { - const symbol = `${config.tokenPrefix}${name}`; - deployer.logger.log(`Handling ${symbol}`); - - if (!Token.address) { - deployer.logger.log(`Deploying ${symbol} proxy`); - await deployer.deploy(Token); - const tokenProxy = await Token.at(Token.address); - await tokenProxy.initialize(RenERC20LogicV1.address, renProxyAdmin.address, encodeCallData( - web3, - "initialize", - ["uint256", "address", "uint256", "string", "string", "string", "uint8"], - [chainID, contractOwner, "1000000000000000000", "1", symbol, symbol, decimals]) - ); - actionCount++; - } - const token = await RenERC20LogicV1.at(Token.address); - - const tokenProxyLogic = await renProxyAdmin.getProxyImplementation(Token.address); - if (Ox(tokenProxyLogic) !== Ox(RenERC20LogicV1.address)) { - deployer.logger.log(`${symbol} is pointing to out-dated RenERC20Logic.`); - await renProxyAdmin.upgrade(Token.address, RenERC20LogicV1.address); - actionCount++; - } - - if (!Gateway.address) { - deployer.logger.log(`Deploying ${symbol} Gateway proxy`); - await deployer.deploy(Gateway); - const tokenProxy = await Gateway.at(Gateway.address); - await tokenProxy.initialize(GatewayLogicV1.address, renProxyAdmin.address, encodeCallData( - web3, - "initialize", - ["address", "address", "address", "uint16", "uint16", "uint256"], - [ - Token.address, - _feeRecipient, - _mintAuthority, - config.mintFee, - config.burnFee, - minimumBurnAmount, - ]) - ); - actionCount++; - } - const tokenGateway = await GatewayLogicV1.at(Gateway.address); - - const gatewayProxyLogic = await renProxyAdmin.getProxyImplementation(tokenGateway.address); - if (Ox(gatewayProxyLogic) !== Ox(GatewayLogicV1.address)) { - deployer.logger.log(`${symbol} gateway is pointing to out-dated GatewayLogic.`); - await renProxyAdmin.upgrade.write(tokenGateway.address, GatewayLogicV1.address); - actionCount++; - } - - const gatewayMintAuthority = await tokenGateway.mintAuthority.call(); - if (Ox(gatewayMintAuthority) !== Ox(_mintAuthority)) { - deployer.logger.log(`Updating mint authority in ${symbol} Gateway. Was ${gatewayMintAuthority}, now is ${_mintAuthority}`); - await tokenGateway.updateMintAuthority(_mintAuthority); - actionCount++; - } - - const tokenOwner = await token.owner.call(); - if (Ox(tokenOwner) !== Ox(tokenGateway.address)) { - deployer.logger.log(`Transferring ${symbol} ownership`); - - if (Ox(tokenOwner) === Ox(contractOwner)) { - await token.transferOwnership(tokenGateway.address); - - // Update token's Gateway contract - deployer.logger.log(`Claiming ${symbol} ownership in Gateway`); - await tokenGateway.claimTokenOwnership(); - } else { - deployer.logger.log(`Transferring token ownership from ${tokenOwner} to new ${symbol} Gateway`); - const oldGateway = await Gateway.at(tokenOwner); - await oldGateway.transferTokenOwnership(tokenGateway.address); - // This will also call claim, but we try anyway because older - // contracts didn't: - try { - // Claim ownership - await tokenGateway.claimTokenOwnership(); - } catch (error) { - console.error(error); - } - } - actionCount++; - } - - let tokenRegistered = (await darknodePayment.registeredTokenIndex.call(Token.address)).toString() !== "0"; - const pendingRegistration = await darknodePayment.tokenPendingRegistration.call(Token.address); - if (!tokenRegistered && !pendingRegistration) { - deployer.logger.log(`Registering token ${symbol} in DarknodePayment`); - await darknodePayment.registerToken(Token.address); - actionCount++; - } - - const registered = await registry.getGatewayByToken.call(Token.address); - if (Ox(registered) === Ox(NULL) || Ox(registered) !== Ox(Gateway.address)) { - const otherRegistration = (await registry.getGatewayBySymbol.call(name)); - if (Ox(otherRegistration) === Ox(NULL)) { - deployer.logger.log(`Registering ${symbol} Gateway`); - await registry.setGateway(name, Token.address, Gateway.address); - } else { - deployer.logger.log(`Updating registered ${symbol} Gateway (was ${otherRegistration})`); - await registry.updateGateway(Token.address, Gateway.address); - } - actionCount++; - } - - const feeRecipient = await tokenGateway.feeRecipient.call(); - if (Ox(feeRecipient) !== Ox(DarknodePaymentStore.address)) { - deployer.logger.log(`Updating fee recipient for ${symbol} Gateway. Was ${Ox(feeRecipient)}, now is ${Ox(_feeRecipient)}`); - await tokenGateway.updateFeeRecipient(_feeRecipient); - actionCount++; - } - } - - deployer.logger.log(`Performed ${actionCount} updates.`); - - /** LOG *******************************************************************/ - - deployer.logger.log(` - /* 2_shifter.js */ - - GatewayRegistry: "${GatewayRegistry.address}", - BasicAdapter: "${BasicAdapter.address}", - - RenERC20LogicV1: "${RenERC20LogicV1.address}", - GatewayLogicV1: "${GatewayLogicV1.address}", - - // BTC - renBTC: "${RenBTC.address}", - BTCGateway: "${BTCGateway.address}", - - // ZEC - renZEC: "${RenZEC.address}", - ZECGateway: "${ZECGateway.address}", - - // BCH - renBCH: "${RenBCH.address}", - BCHGateway: "${BCHGateway.address}",` - ); -} diff --git a/migrations/networks.js b/migrations/networks.js index 70a813f9..7ad4db8c 100644 --- a/migrations/networks.js +++ b/migrations/networks.js @@ -7,15 +7,7 @@ const config = { DARKNODE_PAYOUT_PERCENT: 50, // Only payout 50% of the reward pool BLACKLIST_SLASH_PERCENT: 0, // Don't slash bond for blacklisting MALICIOUS_SLASH_PERCENT: 50, // Slash 50% of the bond - SECRET_REVEAL_SLASH_PERCENT: 100, // Slash 100% of the bond - mintAuthority: "", // Darknode public key - mintFee: 10, - burnFee: 10, - renBTCMinimumBurnAmount: 10000, - renZECMinimumBurnAmount: 10000, - renBCHMinimumBurnAmount: 10000, - - tokenPrefix: "mock" + SECRET_REVEAL_SLASH_PERCENT: 100 // Slash 100% of the bond }; module.exports = { @@ -42,86 +34,14 @@ module.exports = { ETH: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" }, - RenERC20LogicV1: "0xe2d6cCAC3EE3A21AbF7BeDBE2E107FfC0C037e80", - GatewayLogicV1: "0x402ec534BaF9e8Dd2968c57fDea368f3856460d6", - BTCGateway: "0xe4b679400F0f267212D5D812B95f58C83243EE71", - ZECGateway: "0xc3BbD5aDb611dd74eCa6123F05B18acc886e122D", - BCHGateway: "0xCc4FF5b8A4A7adb35F00ff0CBf53784e07c3C52F", - renBTC: "0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D", - renZEC: "0x1C5db575E2Ff833E46a2E9864C22F4B22E0B37C2", - renBCH: "0x459086F2376525BdCebA5bDDA135e4E9d3FeF5bf", - GatewayRegistry: "0xe80d347DF1209a76DD9d2319d62912ba98C54DDD", - - BasicAdapter: "0x32666B64e9fD0F44916E1378Efb2CFa3B3B96e80", - config: { - ...config, - mintAuthority: "0x7f64e4e4b2d7589eb0ac8439c0e639856aeceee7", - // devFund: "", - - tokenPrefix: "ren" - } - }, - chaosnet: { - tokens: { - DAI: "0x6b175474e89094c44da98b954eedeac495271d0f", - ETH: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" - }, - - /* 1_darknodes.js */ - - RenProxyAdmin: "0x3840c01167cf06C3101762f0Fce991BEfA1CdFAF", - RenToken: "0x8E0679d0d4691Ea345fB8C2aEc9bf9c1d3eb40eD", - - // Protocol - ProtocolLogicV1: "0x637278Bf72127c76d98D9a9BE36D2121fB2447c8", - ProtocolProxy: "0xf61e97c464ec0cf48b33262c3a1ef42114275144", - - // DNR - DarknodeRegistryStore: "0x4C2f0533af3792695e71699Ff221205f7FA47579", - DarknodeRegistryLogicV1: "0x308ecdCEfA3231ad1a8083Bd42510830e749FbB7", - DarknodeRegistryProxy: "0x7C08FF068b7FF6d7d2f431f08B8C2e536ed693DD", - - // DNP - DarknodePaymentStore: "0x9C5B076dE6c5c01c9E1ac4cB5b48fB681384742B", - DarknodePayment: "0xdf2a33Bf44F917b85a716aA1e98Af0bBa4085dEc", - - // Slasher - DarknodeSlasher: "0xD33CfE24e84D3156211CC2eA74192593Ccf559Aa", - - /* 2_shifter.js */ - - GatewayRegistry: "0x817d2E41dABbA7A5e840353c9D73A40674ED3400", - BasicAdapter: "0x0807d0810714d85B49E40349a3002F06e841B7c3", - - RenERC20LogicV1: "0x0A2d368E4EeCBd515033BA29253909F2978C1Bee", - GatewayLogicV1: "0x85BdE74CA4760587eC9d77f775Cb83d4Cb76e5ae", - - // BTC - renBTC: "0x93E47eC9B8cD1a669C7267E20ACF1F6a9c5340Ba", - BTCGateway: "0xD4d496632b9aF3122FB5DdbF0614aA82effa9F99", - - // ZEC - renZEC: "0x82E728594b87318e513931469A30713FEF966c8E", - ZECGateway: "0x37A4860728E292E5852B215c46DBE7a18862EF93", - - // BCH - renBCH: "0xa2F0a92396cb245BaD15BA77817E1620c58bf05b", - BCHGateway: "0xc3AC15BEc6dA89e8DC5c4d1b4d0C785547676e3a", - - config: { - ...config, - MINIMUM_BOND: new BN(10000).mul(new BN(10).pow(new BN(18))), - mintAuthority: "0x1D1A5e08Cb784BA16d69F25551Aea5C49482505c", - - tokenPrefix: "chaos" + ...config } }, testnet: { - /* 1_darknodes.js */ - RenProxyAdmin: "0x4C695C4Aa6238f0A7092733180328c2E64C912C7", RenToken: "0x2cd647668494c1b15743ab283a0f980d90a87394", + DarknodeSlasher: "0x5B403bdC360A447290758c8BA779c44cdFC3476F", // Protocol ProtocolLogicV1: "0x43d39d7ea61741f26E09D377F4E79B1F847Dc356", @@ -136,45 +56,17 @@ module.exports = { DarknodePaymentStore: "0x0EC73cCDCd8e643d909D0c4b663Eb1B2Fb0b1e1C", DarknodePayment: "0x023f2e94C3eb128D3bFa6317a3fF860BF93C1616", - // Slasher - DarknodeSlasher: "0x5B403bdC360A447290758c8BA779c44cdFC3476F", - tokens: { DAI: "0xc4375b7de8af5a38a93548eb8453a498222c4ff2", ETH: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" }, - /* 2_shifter.js */ - - GatewayRegistry: "0x557e211EC5fc9a6737d2C6b7a1aDe3e0C11A8D5D", - BasicAdapter: "0x7DDFA2e5435027f6e13Ca8Db2f32ebd5551158Bb", - - RenERC20LogicV1: "0xCe77c29b479bDF510f39bc4A2e43B0E4344fAB0f", - GatewayLogicV1: "0x080d856994Fed1124c93AcA580aF035a86e9e9c7", - - // BTC - renBTC: "0x0A9ADD98C076448CBcFAcf5E457DA12ddbEF4A8f", - BTCGateway: "0x55363c0dBf97Ff9C0e31dAfe0fC99d3e9ce50b8A", - - // ZEC - renZEC: "0x42805DA220DF1f8a33C16B0DF9CE876B9d416610", - ZECGateway: "0xAACbB1e7bA99F2Ed6bd02eC96C2F9a52013Efe2d", - - // BCH - renBCH: "0x618dC53e856b1A601119F2Fed5F1E873bCf7Bd6e", - BCHGateway: "0x9827c8a66a2259fd926E7Fd92EA8DF7ed1D813b1", - config: { - ...config, - mintAuthority: "0x44Bb4eF43408072bC888Afd1a5986ba0Ce35Cb54", - - tokenPrefix: "test" + ...config } }, devnet: { - /* 1_darknodes.js */ - RenProxyAdmin: "0xA2C9D593bC096FbB3Cf5b869270645C470E5416B", RenToken: "0x2cd647668494c1b15743ab283a0f980d90a87394", DarknodeSlasher: "0xf4E4AdbDDfd6EBc9457ad7ab9249f63701942BE3", @@ -197,118 +89,8 @@ module.exports = { ETH: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" }, - /* 2_shifter.js */ - - GatewayRegistry: "0x5F051E588f39D95bc6c1742f6FA98B103aa0E5c8", - BasicAdapter: "0xFABDB1F53Ef8B080332621cBc9F820a39e7A1B83", - - RenERC20LogicV1: "0xE121991B5DAB075E33C30E5C36EB5FFa9B2Af1A4", - GatewayLogicV1: "0xcADcCC772991d8c49c6242604d334f8a0B07A039", - - renBTC: "0x581347fc652f9FCdbCA8372A4f65404C4154e93b", - BTCGateway: "0xb4fc6D131A44A3b44668E997Ce0CE00A52D4D9ed", - - renZEC: "0x6f35D542f3E0886281fb6152010fb52aC6B931F6", - ZECGateway: "0x3E31c6E07Eb4C471A6443e90E304E9C68dcdEd7d", - - renBCH: "0x148234809A551c131951bD01640494eecB905b08", - BCHGateway: "0x86efB11aF3f2c3E3df525a851e3F28E03F4Dcb17", - config: { - ...config, - mintAuthority: "0x1B9d58208879AA9aa9E10040b34cF2b684237621", - - tokenPrefix: "dev" - } - }, - - rinkebyDevnet: { - /* 1_darknodes.js */ - - RenProxyAdmin: "0xed01c6323829CbFD3b6bAC8Baa11C7aC8A0F26fb", - RenToken: "0x8BCCcA938b311029948F70249709CAd7c0F28Bb4", - - // Protocol - ProtocolLogicV1: "0x9Cc2d9cCea0AE9f7EDD91Cf91ab74074EeDbABE1", - ProtocolProxy: "0xc5786B864D1DaF57D653470f2fd0c921dC080953", - - // DNR - DarknodeRegistryStore: "0x93151b8c88A7f6004656556880e2a3E701452375", - DarknodeRegistryLogicV1: "0xD46dc8a22B980C871207bC57b0e524C46cfB4c1B", - DarknodeRegistryProxy: "0x74d0651259Cd63e7c15Dc11e3787dB1D80D41d9E", - - // DNP - DarknodePaymentStore: "0x0a1b343bB36dA2593d15162c8e0370eF5E0085B1", - DarknodePayment: "0x40BC55A28f07D2208c1a9Da4008912BFcc617463", - - // Slasher - DarknodeSlasher: "0x78eFADC45D1ba7a2E51072F73b3C2E5Be1ca1B10", - - tokens: { - DAI: "0x5592ec0cfb4dbc12d3ab100b257153436a1f0fea", - ETH: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" - }, - - /* 2_shifter.js */ - - GatewayRegistry: "0xcF9F36668ad5b28B336B248a67268AFcF1ECbdbF", - - config: { - ...config, - mintAuthority: "0xbb8c61159153d8a6ffd555584d1ac77fd57feca7", - - tokenPrefix: "dev" - } - }, - - localnet: { - /* 1_darknodes.js */ - - RenProxyAdmin: "0xC822a36df55b8f88E48417A4765C7Fe27170D8eC", - - RenToken: "0x2cd647668494c1b15743ab283a0f980d90a87394", - DarknodeSlasher: "0x65852e7ECC0eC12dC7e4b198D72e0D590029cDa9", - - // Protocol - ProtocolLogicV1: "0xbD276BBAba798339007546392DAEF201EaFA780C", - ProtocolProxy: "0xE773eDEb42c56aD10456595b8e03C26BC6cde468", - - // DNR - DarknodeRegistryStore: "0xB38e11c615e14aE44173170763753733410D7432", - DarknodeRegistryLogicV1: "0xCd5e48F6F48abAFA46266395AD1C1B7b2219d0aE", - DarknodeRegistryProxy: "0x6adCF5Ba6e299Cf18D839795997A3c6844f37175", - - // DNP - DarknodePaymentStore: "0x45378fF097d385a342557D291dE59f44f4250982", - DarknodePayment: "0x6C71C070e99a2585A72Ae3C8199d9326Ad9E898F", - - tokens: { - DAI: "0xc4375b7de8af5a38a93548eb8453a498222c4ff2", - ETH: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" - }, - - /* 2_shifter.js */ - - GatewayRegistry: "0x1832eb340d558a3c05C48247C6dF862Fde863ebB", - BasicAdapter: "0xD98d8EFF683129d040357439AbA49577452ECcaA", - - RenERC20LogicV1: "0x4337DBfAC0348cd81c167CdB382d0c0B43e60187", - GatewayLogicV1: "0xb862cE796ac356E4F26507Fa297D5D07Ee4EC8EB", - - renBTC: "0x74D4d4528E948bCebAE54810F2100B9278cb8dEc", - BTCGateway: "0xA86B7E2C8f45334EE63A379c6C84EAC539d98acA", - - renZEC: "0x1c2B80b7444FC6235DE9ABdf68900E4EDb2b2617", - ZECGateway: "0x36e668b46DF1b4DfFb843FF8dbb6DBf7200AEAC9", - - renBCH: "0xDF75fb289007DEedcd60f34a069D2941D3448E22", - BCHGateway: "0xEA96469Cd32D00b2EA1B00d9796e70b71134eD3f", - - config: { - ...config, - mintAuthority: "0x04084f1cACCB87Dcab9a29a084281294dA96Bf44", - - tokenPrefix: "local" + ...config } }, diff --git a/package.json b/package.json index 0f28a910..da7fa4a4 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "@renproject/sol", - "version": "1.0.1", + "version": "1.1.0", "repository": "https://github.io/renproject/darknode-sol", "public": true, "scripts": { - "generate": "truffle compile && typechain --target truffle './build/development/*.json'", + "generate": "truffle compile && typechain --target truffle-v5 './build/development/*.json'", "coverage": "yarn run generate && truffle run coverage", "build": "yarn run generate && truffle build", "test": "yarn run generate && truffle test", @@ -16,48 +16,51 @@ "deploy-skipDryRun": "truffle migrate --network $NETWORK --skipDryRun 2>&1 | tee $NETWORK-output.log", "clean-build": "echo \"Have all contracts been verified on Etherscan? Continuing in 10 seconds...\" && sleep 10 && grep -R -l 'networks\": {}' build --exclude-dir=development | xargs rm; node build/clean.js", "verify": "truffle run verify --network $NETWORK", + "docs": "solidity-docgen --exclude contracts/migrations,contracts/test --solc-module solc --templates ./templates --helpers ./templates/helpers.js --extension=mdx", "prepare-release": "npmignore" }, "dependencies": { - "@openzeppelin/contracts": "^2.5.0", - "@openzeppelin/contracts-ethereum-package": "^2.4.0", - "@openzeppelin/upgrades": "^2.7.2" + "@openzeppelin/contracts": "^2.5.1", + "@openzeppelin/contracts-ethereum-package": "^2.5.0", + "@openzeppelin/upgrades": "^2.8.0" }, "devDependencies": { - "@types/chai": "^4.2.11", - "@types/chai-as-promised": "^7.1.2", + "@typechain/truffle-v5": "^5.0.0", + "@typechain/web3-v1": "^3.0.0", + "@types/chai": "^4.2.21", + "@types/chai-as-promised": "^7.1.4", "@types/ethereumjs-abi": "^0.6.3", - "@types/mocha": "^7.0.2", - "@types/node": "^13.9.1", - "bignumber.js": "^9.0.0", - "bn.js": "^5.1.1", - "chai": "^4.2.0", + "@types/mocha": "^9.0.0", + "@types/node": "^16.7.1", + "@types/seedrandom": "^3.0.1", + "bignumber.js": "^9.0.1", + "bn.js": "^5.2.0", + "chai": "^4.3.4", "chai-as-promised": "^7.1.1", "chai-bignumber": "github:ren-forks/chai-bignumber.git#afa6f46dcbef0b7e622dc27b9b3354fc67afafbc", - "coveralls": "^3.0.9", - "dotenv": "^8.2.0", - "eth-gas-reporter": "^0.2.15", + "coveralls": "^3.1.1", + "dotenv": "^10.0.0", + "eth-gas-reporter": "^0.2.22", "ethereumjs-abi": "^0.6.8", "ganache-cli": "^6.12.2", "hash.js": "^1.1.7", - "immutable": "^4.0.0-rc.12", + "immutable": "^4.0.0-rc.14", "moment": "^2.29.1", "npmignore": "^0.2.0", - "patch-package": "^6.2.1", + "patch-package": "^6.4.7", + "seedrandom": "^3.0.5", "solc": "^0.5.17", - "solidity-coverage": "^0.7.2", - "truffle": "^5.2.4", + "solidity-coverage": "^0.7.16", + "truffle": "^5.4.7", "truffle-hdwallet-provider": "^1.0.17", - "truffle-plugin-verify": "0.3.9", + "truffle-plugin-verify": "0.5.11", "truffle-typings": "^1.0.8", - "ts-node": "^8.6.2", - "tslint": "^6.1.0", - "typechain": "^1.0.5", - "typechain-target-truffle": "^1.0.2", - "typechain-target-web3-v1": "^1.0.4", - "typescript": "^3.8.3", + "ts-node": "^10.2.1", + "tslint": "^6.1.3", + "typechain": "^5.1.2", + "typescript": "^4.3.5", "web3": "^2.0.0-alpha", - "web3-core": "^1.3.4", + "web3-core": "^1.5.2", "web3-utils": "^2.0.0-alpha" }, "resolutions": { diff --git a/patches/@openzeppelin+contracts+2.5.0.patch b/patches/@openzeppelin+contracts+2.5.1.patch similarity index 100% rename from patches/@openzeppelin+contracts+2.5.0.patch rename to patches/@openzeppelin+contracts+2.5.1.patch diff --git a/patches/@openzeppelin+contracts-ethereum-package+2.4.0.patch b/patches/@openzeppelin+contracts-ethereum-package+2.5.0.patch similarity index 100% rename from patches/@openzeppelin+contracts-ethereum-package+2.4.0.patch rename to patches/@openzeppelin+contracts-ethereum-package+2.5.0.patch diff --git a/patches/truffle-typings+1.0.8.patch b/patches/truffle-typings+1.0.8.patch deleted file mode 100644 index f8891935..00000000 --- a/patches/truffle-typings+1.0.8.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/truffle-typings/index.d.ts b/node_modules/truffle-typings/index.d.ts -index eae5e74..4511ef2 100644 ---- a/node_modules/truffle-typings/index.d.ts -+++ b/node_modules/truffle-typings/index.d.ts -@@ -5,7 +5,7 @@ - /// - - declare type BN = import("bn.js"); --declare type Web3 = import("web3"); -+declare type Web3 = import("web3").default; - - declare const assert: Chai.AssertStatic; - declare const expect: Chai.ExpectStatic; diff --git a/patches/typechain-target-truffle+1.0.2.patch b/patches/typechain-target-truffle+1.0.2.patch deleted file mode 100644 index f109ef01..00000000 --- a/patches/typechain-target-truffle+1.0.2.patch +++ /dev/null @@ -1,145 +0,0 @@ -diff --git a/node_modules/typechain-target-truffle/dist/generation.js b/node_modules/typechain-target-truffle/dist/generation.js -index 9c66899..b62db8a 100644 ---- a/node_modules/typechain-target-truffle/dist/generation.js -+++ b/node_modules/typechain-target-truffle/dist/generation.js -@@ -5,7 +5,8 @@ const lodash_1 = require("lodash"); - function codegen(contracts) { - const template = ` - /// --import { BigNumber } from "bignumber.js"; -+import BN from "bn.js"; -+type BigNumber = string | number | BN; - - ${contracts.map(generateContractInterface).join("\n")} - -@@ -24,8 +25,8 @@ function generateArtifactHeaders(contracts) { - namespace Truffle { - interface Artifacts { - ${contracts -- .map(f => `require(name: "${f.name}"): TruffleContracts.${f.name}Contract;`) -- .join("\n")} -+ .map(f => `require(name: "${f.name}"): TruffleContracts.${f.name}Contract;`) -+ .join("\n")} - } - } - } -@@ -36,8 +37,8 @@ function generateContractInterface(c) { - return ` - export interface ${c.name}Contract extends Truffle.Contract<${c.name}Instance> { - ${c.constructor && c.constructor[0] -- ? `"new"(${generateInputTypes(c.constructor[0].inputs)} meta?: Truffle.TransactionDetails): Promise<${c.name}Instance>;` -- : `"new"(meta?: Truffle.TransactionDetails): Promise<${c.name}Instance>;`} -+ ? `"new"(${generateInputTypes(c.constructor[0].inputs)} meta?: Truffle.TransactionDetails): Promise<${c.name}Instance>;` -+ : `"new"(meta?: Truffle.TransactionDetails): Promise<${c.name}Instance>;`} - } - `; - } -@@ -45,9 +46,9 @@ function generateContractInstanceInterface(c) { - return ` - export interface ${c.name}Instance extends Truffle.ContractInstance { - ${lodash_1.values(c.functions) -- .map(v => v[0]) -- .map(generateFunction) -- .join("\n")} -+ .map(v => v[0]) -+ .map(generateFunction) -+ .join("\n")} - } - `; - } -@@ -66,7 +67,7 @@ function generateFunction(fn) { - } - function generateConstantFunction(fn) { - return ` -- ${fn.name}(${generateInputTypes(fn.inputs)} txDetails?: Truffle.TransactionDetails): Promise<${generateOutputTypes(fn.outputs)}>; -+ ${fn.name}: { call(${generateInputTypes(fn.inputs)} txDetails?: Truffle.TransactionDetails): Promise<${generateOutputTypes(fn.outputs)}> }; - `; - } - function generateInputTypes(input) { -diff --git a/node_modules/typechain-target-truffle/lib/generation.ts b/node_modules/typechain-target-truffle/lib/generation.ts -index fcb22ce..46e87f3 100644 ---- a/node_modules/typechain-target-truffle/lib/generation.ts -+++ b/node_modules/typechain-target-truffle/lib/generation.ts -@@ -14,7 +14,8 @@ import { values } from "lodash"; - export function codegen(contracts: Contract[]) { - const template = ` - /// --import { BigNumber } from "bignumber.js"; -+import BN from "bn.js"; -+type BigNumber = string | number | BN; - - ${contracts.map(generateContractInterface).join("\n")} - -@@ -34,8 +35,8 @@ export function generateArtifactHeaders(contracts: Contract[]): string { - namespace Truffle { - interface Artifacts { - ${contracts -- .map(f => `require(name: "${f.name}"): TruffleContracts.${f.name}Contract;`) -- .join("\n")} -+ .map(f => `require(name: "${f.name}"): TruffleContracts.${f.name}Contract;`) -+ .join("\n")} - } - } - } -@@ -48,10 +49,10 @@ export interface ${c.name}Contract extends Truffle.Contract<${c.name}Instance> { - ${ - c.constructor && c.constructor[0] - ? `"new"(${generateInputTypes( -- c.constructor[0].inputs, -- )} meta?: Truffle.TransactionDetails): Promise<${c.name}Instance>;` -+ c.constructor[0].inputs, -+ )} meta?: Truffle.TransactionDetails): Promise<${c.name}Instance>;` - : `"new"(meta?: Truffle.TransactionDetails): Promise<${c.name}Instance>;` -- } -+ } - } - `; - } -@@ -60,9 +61,9 @@ function generateContractInstanceInterface(c: Contract): string { - return ` - export interface ${c.name}Instance extends Truffle.ContractInstance { - ${values(c.functions) -- .map(v => v[0]) -- .map(generateFunction) -- .join("\n")} -+ .map(v => v[0]) -+ .map(generateFunction) -+ .join("\n")} - } - `; - } -@@ -75,8 +76,8 @@ function generateFunction(fn: FunctionDeclaration): string { - return ` - ${fn.name}: { - (${generateInputTypes( -- fn.inputs, -- )} txDetails?: Truffle.TransactionDetails): Promise; -+ fn.inputs, -+ )} txDetails?: Truffle.TransactionDetails): Promise; - call(${generateInputTypes( - fn.inputs, - )} txDetails?: Truffle.TransactionDetails): Promise<${generateOutputTypes(fn.outputs)}>; -@@ -91,10 +92,22 @@ function generateFunction(fn: FunctionDeclaration): string { - } - - function generateConstantFunction(fn: FunctionDeclaration): string { -+ // return ` -+ // { -+ // ${fn.name}(${generateInputTypes( -+ // fn.inputs, -+ // )} txDetails?: Truffle.TransactionDetails): Promise<${generateOutputTypes(fn.outputs)}>; -+ // call(${generateInputTypes( -+ // fn.inputs, -+ // )} txDetails?: Truffle.TransactionDetails): Promise<${generateOutputTypes(fn.outputs)}>; -+ // } -+ // `; - return ` -- ${fn.name}(${generateInputTypes( -+ { -+ call(${generateInputTypes( - fn.inputs, - )} txDetails?: Truffle.TransactionDetails): Promise<${generateOutputTypes(fn.outputs)}>; -+ } - `; - } - diff --git a/patches/typechain-target-web3-v1+1.0.4.patch b/patches/typechain-target-web3-v1+1.0.4.patch deleted file mode 100644 index b02b4e34..00000000 --- a/patches/typechain-target-web3-v1+1.0.4.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/node_modules/typechain-target-web3-v1/dist/generation.js b/node_modules/typechain-target-web3-v1/dist/generation.js -index 39d0e80..811bafc 100644 ---- a/node_modules/typechain-target-web3-v1/dist/generation.js -+++ b/node_modules/typechain-target-web3-v1/dist/generation.js -@@ -18,6 +18,7 @@ function codegen(contract) { - export class ${contract.name} extends Contract { - constructor(jsonInterface: any[], address?: string, options?: ContractOptions); - clone(): ${contract.name}; -+ address: string; - methods: { - ${codegenForFunctions(contract.functions)} - }; -diff --git a/node_modules/typechain-target-web3-v1/lib/generation.ts b/node_modules/typechain-target-web3-v1/lib/generation.ts -index 70cb4bb..1fa729c 100644 ---- a/node_modules/typechain-target-web3-v1/lib/generation.ts -+++ b/node_modules/typechain-target-web3-v1/lib/generation.ts -@@ -28,6 +28,7 @@ export function codegen(contract: Contract) { - export class ${contract.name} extends Contract { - constructor(jsonInterface: any[], address?: string, options?: ContractOptions); - clone(): ${contract.name}; -+ address: string; - methods: { - ${codegenForFunctions(contract.functions)} - }; diff --git a/templates/contract.hbs b/templates/contract.hbs new file mode 100644 index 00000000..4548fe63 --- /dev/null +++ b/templates/contract.hbs @@ -0,0 +1,121 @@ +--- +title: {{name}} +--- + +import { DocTag, DocType } from "/components/DocTag"; + + + +## Contract: `{{name}}` + +{{{natspec.userdoc}}} + +{{{natspec.devdoc}}} + +{{#if (filterContracts inheritance name)}} +Inherits from: + +{{#each (filterContracts inheritance name)}} +- `{{name}}` +{{/each}} + +{{/if}} + +
+ +{{#if ownVariables}} + +
+ +## Variables + +{{#each ownVariables}} + +### **`{{name}}`**: *`{{type}}`* + +{{visibility}} + +{{{natspec.userdoc}}} + +{{{natspec.devdoc}}} + +
+{{/each}} +{{/if}} + +{{#if ownModifiers}} + +
+ +## Modifiers + +{{#each ownModifiers}} +### `{{name}}({{args}})` + +{{{natspec.userdoc}}} + +{{{natspec.devdoc}}} + +
+ +{{/each}} +{{/if}} + +{{#if ownFunctions}} + +
+ +## Functions + +{{#each ownFunctions}} +### **`{{name}}`** *`({{args}}){{#if outputs}} → {{outputs}}{{/if}}`* ({{visibility}}) + +{{#if natspec.params}} +**Params** +{{#each natspec.params}} +- `{{param}}`: {{description}} +{{/each}} +{{/if}} + +{{#if natspec.returns}} +**Returns** +{{#each natspec.returns}} +- `{{param}}`: {{description}} +{{/each}} +{{/if}} + +{{{natspec.userdoc}}} + +{{{natspec.devdoc}}} + +
+ +{{/each}} +{{/if}} + +{{#if ownEvents}} + +
+ +## Events + +{{#each ownEvents}} +### **`{{name}}`** *`({{args}})`* + +{{{natspec.userdoc}}} + +{{#if natspec.devdoc}} +*{{natspec.devdoc}}* +{{/if}} + +{{#if natspec.params}} +**Params** +{{#each natspec.params}} +- `{{param}}`: {{description}} +{{/each}} +{{/if}} + +
+ +{{/each}} +{{/if}} \ No newline at end of file diff --git a/templates/helpers.js b/templates/helpers.js new file mode 100644 index 00000000..2ab43fc4 --- /dev/null +++ b/templates/helpers.js @@ -0,0 +1,13 @@ +module.exports = { + public(visibility) { + return visibility === "public"; + }, + + hasPublic(children) { + return children.visibility === "public"; + }, + + filterContracts(list, item) { + return list.filter(i => i.name !== item); + } +}; diff --git a/templates/prelude.sample.hbs b/templates/prelude.sample.hbs new file mode 100644 index 00000000..5d3e0866 --- /dev/null +++ b/templates/prelude.sample.hbs @@ -0,0 +1,3 @@ +{{#links}} +[{{target.anchor}}]: {{relativePath}}#{{target.anchor}} +{{/links}} \ No newline at end of file diff --git a/test/Adapter.ts b/test/Adapter.ts deleted file mode 100644 index 0e79032a..00000000 --- a/test/Adapter.ts +++ /dev/null @@ -1,138 +0,0 @@ -import BN from "bn.js"; -import { ecsign } from "ethereumjs-util"; -import { Account } from "web3-eth-accounts"; -import { keccak256 } from "web3-utils"; - -import { - GatewayLogicV1Instance, - GatewayRegistryInstance, - RenERC20LogicV1Instance -} from "../types/truffle-contracts"; -import { deployProxy, Ox, randomBytes } from "./helper/testUtils"; - -const BasicAdapter = artifacts.require("BasicAdapter"); -const BTCGateway = artifacts.require("BTCGateway"); -const GatewayRegistry = artifacts.require("GatewayRegistry"); -const RenBTC = artifacts.require("RenBTC"); -const RenERC20LogicV1 = artifacts.require("RenERC20LogicV1"); -const GatewayLogicV1 = artifacts.require("GatewayLogicV1"); - -contract.skip( - "Adapter", - ([owner, feeRecipient, user, proxyGovernanceAddress]) => { - let btcGateway: GatewayLogicV1Instance; - let renbtc: RenERC20LogicV1Instance; - let registry: GatewayRegistryInstance; - - // We generate a new account so that we have access to its private key for - // `ecsign`. Web3's sign functions all prefix the message being signed. - let mintAuthority: Account; - let privKey: Buffer; - - const mintFees = new BN(5); - const burnFees = new BN(15); - - before(async () => { - renbtc = await deployProxy( - web3, - RenBTC, - RenERC20LogicV1, - proxyGovernanceAddress, - [ - { type: "uint256", value: await web3.eth.net.getId() }, - { type: "address", value: owner }, - { type: "uint256", value: "500000000000000000" }, - { type: "string", value: "1" }, - { type: "string", value: "renBTC" }, - { type: "uint8", value: 8 } - ], - { from: owner } - ); - mintAuthority = web3.eth.accounts.create(); - privKey = Buffer.from(mintAuthority.privateKey.slice(2), "hex"); - - btcGateway = await deployProxy( - web3, - BTCGateway, - GatewayLogicV1, - proxyGovernanceAddress, - [ - { type: "address", value: renbtc.address }, - { type: "address", value: feeRecipient }, - { type: "address", value: mintAuthority.address }, - { type: "uint16", value: mintFees }, - { type: "uint16", value: burnFees }, - { type: "uint256", value: 10000 } - ], - { from: owner } - ); - - registry = await GatewayRegistry.new(); - await registry.setGateway( - "BTC", - renbtc.address, - btcGateway.address - ); - - await renbtc.transferOwnership(btcGateway.address); - await btcGateway.claimTokenOwnership(); - }); - - const removeFee = (value: number | BN, bips: number | BN) => - new BN(value).sub( - new BN(value).mul(new BN(bips)).div(new BN(10000)) - ); - - it("can mint to an adapter", async () => { - const value = new BN(20000); - const burnValue = removeFee(value, mintFees); - - const basicAdapter = await BasicAdapter.new(registry.address); - - const nHash = randomBytes(32); - const bitcoinAddress = - "0x" + Buffer.from("BITCOIN ADDRESS").toString("hex"); - - const pHash = keccak256( - web3.eth.abi.encodeParameters( - ["string", "address"], - ["BTC", user] - ) - ); - - const hash = await btcGateway.hashForSignature.call( - pHash, - value, - basicAdapter.address, - nHash - ); - const sig = ecsign(Buffer.from(hash.slice(2), "hex"), privKey); - const sigString = Ox( - `${sig.r.toString("hex")}${sig.s.toString( - "hex" - )}${sig.v.toString(16)}` - ); - - const balanceBeforeMint = new BN( - (await renbtc.balanceOfUnderlying.call(user)).toString() - ); - await basicAdapter.mint("BTC", user, value, nHash, sigString); - const balanceAfterMint = new BN( - (await renbtc.balanceOfUnderlying.call(user)).toString() - ); - balanceAfterMint.should.bignumber.equal( - balanceBeforeMint.add(burnValue) - ); - - await renbtc.approve(basicAdapter.address, burnValue, { - from: user - }); - await basicAdapter.burn("BTC", bitcoinAddress, burnValue, { - from: user - }); - ( - await renbtc.balanceOfUnderlying.call(user) - ).should.bignumber.equal(balanceAfterMint.sub(burnValue)); - }); - } -); diff --git a/test/ClaimlessRewards/ClaimlessRewards.ts b/test/ClaimlessRewards/ClaimlessRewards.ts new file mode 100644 index 00000000..2fa68907 --- /dev/null +++ b/test/ClaimlessRewards/ClaimlessRewards.ts @@ -0,0 +1,1217 @@ +import BigNumber from "bignumber.js"; +import BN from "bn.js"; +import seedrandom from "seedrandom"; + +import { + ClaimlessRewardsInstance, + DarknodePaymentInstance, + DarknodePaymentStoreInstance, + DarknodeRegistryLogicV1Instance, + DarknodeSlasherInstance, + PaymentTokenInstance, + RenTokenInstance, +} from "../../types/truffle-contracts"; +import { + DAYS, + ETHEREUM, + getDecimals, + HOURS, + ID, + increaseTime, + MINIMUM_BOND, + NULL, + PUBK, + range, + toBN, + waitForEpoch, +} from "../helper/testUtils"; +import { STEPS } from "./steps"; + +const RenToken = artifacts.require("RenToken"); +const ERC20 = artifacts.require("PaymentToken"); +const DarknodePaymentStore = artifacts.require("DarknodePaymentStore"); +const ClaimlessRewards = artifacts.require("ClaimlessRewards"); +const DarknodePayment = artifacts.require("DarknodePayment"); +const DarknodeRegistryProxy = artifacts.require("DarknodeRegistryProxy"); +const DarknodeRegistryLogicV1 = artifacts.require("DarknodeRegistryLogicV1"); +const SelfDestructingToken = artifacts.require("SelfDestructingToken"); +const DarknodeSlasher = artifacts.require("DarknodeSlasher"); + +contract("ClaimlessRewards", (accounts: string[]) => { + let store: DarknodePaymentStoreInstance; + let dai: PaymentTokenInstance; + let erc20Token: PaymentTokenInstance; + let dnr: DarknodeRegistryLogicV1Instance; + let rewards: ClaimlessRewardsInstance; + let ren: RenTokenInstance; + let slasher: DarknodeSlasherInstance; + let dnp: DarknodePaymentInstance; + + const owner = accounts[0]; + const operator1 = accounts[1]; + const operator2 = accounts[2]; + + before(async () => { + ren = await RenToken.deployed(); + dai = await ERC20.new("DAI"); + erc20Token = await ERC20.new("ERC20"); + const dnrProxy = await DarknodeRegistryProxy.deployed(); + dnr = await DarknodeRegistryLogicV1.at(dnrProxy.address); + store = await DarknodePaymentStore.deployed(); + rewards = await ClaimlessRewards.deployed(); + dnp = await DarknodePayment.deployed(); + slasher = await DarknodeSlasher.deployed(); + await dnr.updateSlasher(slasher.address); + + await dnp.transferStoreOwnership(rewards.address); + await dnr.updateDarknodePayment(rewards.address); + await dnr.updateMinimumEpochInterval(60 * 60); + await STEPS.waitForEpoch(rewards); + + new BN(await dnr.numDarknodes()).should.bignumber.equal(new BN(0)); + }); + + after(async () => { + await rewards.transferStoreOwnership(dnp.address); + await dnr.updateDarknodePayment(dnp.address); + await dnr.updateMinimumEpochInterval(30); + }); + + afterEach(async () => { + // Deregister tokens. + const tokens = await rewards.getRegisteredTokens(); + for (const token of tokens) { + await rewards.deregisterToken(token); + } + + await STEPS.waitForEpoch(rewards); + + // Deregister darknodes. + const darknodes = await dnr.getDarknodes(NULL, 0); + if (darknodes.length) { + for (const darknode of darknodes) { + await dnr.deregister(darknode, { + from: await dnr.getDarknodeOperator(darknode), + }); + } + + await STEPS.waitForEpoch(rewards); + + await STEPS.waitForEpoch(rewards); + + for (const darknode of darknodes) { + await dnr.refund(darknode, { + from: await dnr.getDarknodeOperator(darknode), + }); + } + } + }); + + describe("Token registration", async () => { + it("cannot register token if not owner", async () => { + await rewards + .registerToken(dai.address, { from: accounts[1] }) + .should.be.rejectedWith(/Ownable: caller is not the owner/); + }); + + it("can register token", async () => { + // No tokens should be registered. + (await rewards.getRegisteredTokens()).length.should.equal(0); + + await STEPS.registerToken(rewards, dai.address); + await STEPS.registerToken(rewards, erc20Token.address); + await STEPS.registerToken(rewards, ETHEREUM); + + (await rewards.getRegisteredTokens()).length.should.equal(3); + }); + + it("cannot register already registered tokens", async () => { + await STEPS.registerToken(rewards, dai.address); + await rewards + .registerToken(dai.address) + .should.be.rejectedWith( + /ClaimlessRewards: token already registered/ + ); + }); + + it("cannot deregister token if not owner", async () => { + await STEPS.registerToken(rewards, ETHEREUM); + await rewards + .deregisterToken(ETHEREUM, { from: accounts[1] }) + .should.be.rejectedWith(/Ownable: caller is not the owner/); + }); + + it("can deregister tokens", async () => { + await STEPS.registerToken(rewards, dai.address); + await STEPS.registerToken(rewards, erc20Token.address); + await STEPS.registerToken(rewards, ETHEREUM); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await rewards + .deregisterToken(ETHEREUM) + .should.be.rejectedWith( + /ClaimlessRewards: token not registered/ + ); + await STEPS.deregisterToken(rewards, erc20Token.address); + await STEPS.deregisterToken(rewards, dai.address); + + await STEPS.registerToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, ETHEREUM); + }); + + it("can deregister a destroyed token", async () => { + await registerNode(6); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + + // Register token. + const sdt = await SelfDestructingToken.new(); + await STEPS.registerToken(rewards, sdt.address); + await STEPS.waitForEpoch(rewards); + + // Self destruct token. + await sdt.destruct(); + await STEPS.deregisterToken(rewards, sdt.address); + + await deregisterNode(6); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode(6); + await STEPS.waitForEpoch(rewards); + }); + + it("cannot deregister unregistered tokens", async () => { + await rewards + .deregisterToken(ETHEREUM) + .should.be.rejectedWith( + /ClaimlessRewards: token not registered/ + ); + }); + }); + + describe("Token deposits", async () => { + it("can deposit ETH via direct payment to DarknodePaymentStore contract", async () => { + // deposit using direct deposit to store + const oldETHBalance = new BN(await store.totalBalance(ETHEREUM)); + const oldFreeBalance = new BN( + await store.availableBalance(ETHEREUM) + ); + const amount = new BN(1).mul(new BN(10).pow(new BN(18))); + await web3.eth.sendTransaction({ + to: store.address, + from: owner, + value: amount.toString(), + }); + // Total balance has increased. + new BN(await store.totalBalance(ETHEREUM)).should.bignumber.equal( + oldETHBalance.add(amount) + ); + // Reward pool has increased. + new BN( + await store.availableBalance(ETHEREUM) + ).should.bignumber.equal(oldFreeBalance.add(amount)); + }); + }); + + describe("Claiming rewards", async () => { + it("nodes can earn ETH", async () => { + // register ETH token and two darknodes + await registerNode([1, 2]); + await STEPS.registerToken(rewards, ETHEREUM); + await STEPS.waitForEpoch(rewards); + + // Add 1 ETH to rewards. + await STEPS.addRewards( + rewards, + ETHEREUM, + new BN(1).mul(new BN(10).pow(new BN(18))) + ); + + // We should have zero claimed balance before ticking + ( + await rewards.darknodeBalances(ID(1), ETHEREUM) + ).should.bignumber.equal(0); + + // Change cycle after 1 month. + await STEPS.changeCycle(rewards, 28 * DAYS); + + const node1Amount1 = await STEPS.withdraw( + rewards, + ID(1), + ETHEREUM, + operator1 + ); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + const node1Amount2 = await STEPS.withdraw( + rewards, + ID(1), + ETHEREUM, + operator1 + ); + + const node2Amount1 = await STEPS.withdraw( + rewards, + ID(2), + ETHEREUM, + operator2 + ); + + node2Amount1.should.bignumber.equal( + node1Amount1.plus(node1Amount2) + ); + + await STEPS.changeCycle(rewards, 1 * HOURS); + + await STEPS.deregisterToken(rewards, ETHEREUM); + + await STEPS.changeCycle(rewards, 1 * HOURS); + + // Can still withdraw owed ETH rewards after deregistration. + ( + await STEPS.withdraw(rewards, ID(1), ETHEREUM, operator1) + ).should.bignumber.greaterThan(0); + await STEPS.withdraw(rewards, ID(2), ETHEREUM, operator2); + + await STEPS.changeCycle(rewards, 1 * HOURS); + + // No more ETH rewards to withdraw. + ( + await STEPS.withdraw(rewards, ID(1), ETHEREUM, operator1) + ).should.bignumber.equal(0); + + await deregisterNode([1, 2]); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2]); + await STEPS.waitForEpoch(rewards); + }); + + it("nodes can earn DAI", async () => { + // register ETH token and two nodes + await registerNode([1, 2]); + await STEPS.registerToken(rewards, [ETHEREUM, dai.address]); + await STEPS.waitForEpoch(rewards); + + // Add 101.00...01 DAI to rewards. + await STEPS.addRewards( + rewards, + dai.address, + new BN(101).mul(new BN(10).pow(new BN(18))).add(new BN(1)) + ); + + await STEPS.changeCycle(rewards, 1 * HOURS); + + await STEPS.withdraw(rewards, ID(1), dai.address, operator1); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + await STEPS.withdraw(rewards, ID(1), dai.address, operator1); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + await STEPS.withdraw(rewards, ID(1), dai.address, operator1); + await STEPS.withdraw(rewards, ID(2), dai.address, operator2); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, dai.address); + await deregisterNode([1, 2]); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2]); + await STEPS.waitForEpoch(rewards); + }); + + it("nodes can earn ETH and DAI", async () => { + // register ETH token and two darknodes + await registerNode([1, 2]); + await STEPS.registerToken(rewards, [ETHEREUM, dai.address]); + await STEPS.waitForEpoch(rewards); + + // Add 101.00...01 DAI to rewards. + await STEPS.addRewards( + rewards, + dai.address, + new BN(101).mul(new BN(10).pow(new BN(18))).add(new BN(1)) + ); + + // Add 1 ETH to rewards. + await STEPS.addRewards( + rewards, + ETHEREUM, + new BN(1).mul(new BN(10).pow(new BN(18))) + ); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + await STEPS.withdraw(rewards, ID(1), dai.address, operator1); + await STEPS.withdraw(rewards, ID(1), ETHEREUM, operator1); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + await STEPS.withdraw( + rewards, + ID(1), + [dai.address, ETHEREUM], + operator1 + ); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, dai.address); + await deregisterNode([1, 2]); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2]); + await STEPS.waitForEpoch(rewards); + }); + + it("node can withdraw after deregistering", async () => { + // register ETH token and two darknodes + await registerNode([1, 2]); + await STEPS.registerToken(rewards, ETHEREUM); + await STEPS.waitForEpoch(rewards); + + // Add 1 ETH to rewards. + await STEPS.addRewards( + rewards, + ETHEREUM, + new BN(1).mul(new BN(10).pow(new BN(18))) + ); + + // Change cycle after 1 month. + await STEPS.changeCycle(rewards, 28 * DAYS); + + // Check that deregistering doesn't affect withdrawable balance. + + const node1BalanceBefore = await toBN( + rewards.darknodeBalances(ID(1), ETHEREUM) + ); + const node2BalanceBefore = await toBN( + rewards.darknodeBalances(ID(2), ETHEREUM) + ); + node1BalanceBefore.should.bignumber.equal(node2BalanceBefore); + + await deregisterNode(1); + + const node1BalanceAfter = await toBN( + rewards.darknodeBalances(ID(1), ETHEREUM) + ); + const node2BalanceAfter = await toBN( + rewards.darknodeBalances(ID(2), ETHEREUM) + ); + node1BalanceAfter.should.bignumber.equal(node2BalanceAfter); + + ( + await STEPS.withdraw(rewards, ID(1), ETHEREUM, operator1) + ).should.bignumber.greaterThan(0); + + await STEPS.waitForEpoch(rewards); + + // The node can withdraw its rewards from it's last epoch. + ( + await STEPS.withdraw(rewards, ID(1), ETHEREUM, operator1) + ).should.bignumber.greaterThan(0); + + await STEPS.waitForEpoch(rewards); + + // The node should no longer be earning rewards. + ( + await STEPS.withdraw(rewards, ID(1), ETHEREUM, operator1) + ).should.bignumber.equal(0); + await STEPS.waitForEpoch(rewards); + + await refundNode(1); + + await STEPS.withdraw( + rewards, + operator1, + ETHEREUM + ).should.be.rejectedWith(/ClaimlessRewards: not operator/); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await deregisterNode(2); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode(2); + await STEPS.waitForEpoch(rewards); + }); + + it("can withdraw after re-registering", async () => { + // register ETH token and two darknodes + await registerNode(1); + await STEPS.registerToken(rewards, ETHEREUM); + await STEPS.waitForEpoch(rewards); + + // Add 1 ETH to rewards. + await STEPS.addRewards( + rewards, + ETHEREUM, + new BN(1).mul(new BN(10).pow(new BN(18))) + ); + + await deregisterNode(1); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + + // Ensure all rewards have been withdrawn. + await STEPS.withdraw(rewards, ID(1), ETHEREUM, operator1); + + await refundNode(1); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + await registerNode([1, 2]); + + await STEPS.waitForEpoch(rewards); + + const node1Amount = await STEPS.withdraw( + rewards, + ID(1), + ETHEREUM, + operator1 + ); + const node2Amount = await STEPS.withdraw( + rewards, + ID(2), + ETHEREUM, + operator2 + ); + + // node1 should not be able to withdraw additional rewards, + // since it re-registered at the same time as node2. + node2Amount.should.bignumber.equal(node1Amount); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await deregisterNode([1, 2]); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2]); + await STEPS.waitForEpoch(rewards); + }); + + it("calling cycle immediately will not add new timestamp", async () => { + await STEPS.changeCycle(rewards, 1 * HOURS); + await STEPS.changeCycle(rewards, 0 * HOURS).should.be.rejectedWith( + /ClaimlessRewards: previous cycle too recent/ + ); + }); + + it("epoch can progress even if cycle is too recent", async () => { + const timeout = new BN( + (await dnr.minimumEpochInterval()).toString() + ).toNumber(); + + await increaseTime(Math.max(timeout, 1 * HOURS)); + + await STEPS.changeCycle(rewards, 0); + await dnr.epoch(); + }); + + it("can withdraw for multiple nodes", async () => { + // register ETH token and two darknodes + await registerNode([1, 2], operator1); + await STEPS.registerToken(rewards, [ETHEREUM, dai.address]); + await STEPS.waitForEpoch(rewards); + + // Add 101.00...01 DAI to rewards. + await STEPS.addRewards( + rewards, + dai.address, + new BN(101).mul(new BN(10).pow(new BN(18))).add(new BN(1)) + ); + + // Add 1 ETH to rewards. + await STEPS.addRewards( + rewards, + ETHEREUM, + new BN(1).mul(new BN(10).pow(new BN(18))) + ); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + // Withdraw DAI for second nodes. + await STEPS.withdraw(rewards, [ID(2)], dai.address, operator1); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + // Withdraw DAI and ETH for both nodes. + await STEPS.withdraw( + rewards, + [ID(1), ID(2)], + [dai.address, ETHEREUM], + operator1 + ); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, dai.address); + await deregisterNode([1, 2], operator1); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2], operator1); + await STEPS.waitForEpoch(rewards); + }); + + it("only operator can withdraw", async () => { + // register ETH token and two darknodes + await registerNode([1, 2]); + await STEPS.registerToken(rewards, [ETHEREUM, dai.address]); + await STEPS.waitForEpoch(rewards); + + // Add 101.00...01 DAI to rewards. + await STEPS.addRewards( + rewards, + dai.address, + new BN(101).mul(new BN(10).pow(new BN(18))).add(new BN(1)) + ); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + await STEPS.withdraw( + rewards, + ID(1), + dai.address, + operator2 + ).should.be.rejectedWith(/ClaimlessRewards: not operator/); + + await STEPS.withdraw(rewards, ID(1), dai.address, operator1); + await STEPS.withdraw(rewards, ID(2), dai.address, operator2); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, dai.address); + await deregisterNode([1, 2]); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2]); + await STEPS.waitForEpoch(rewards); + }); + + it("nodes can withdraw after migrating from DarknodePayment contract", async function () { + // Requires Darknode Registry implementation to be upgraded mid-test. + + this.timeout(100 * 300000); + + const seed = 0.4957910354433912; // 20 + // const seed = 0.12399667580170748; // 4 + // const seed = Math.random(); + console.log(`Starting test with seed ${seed}.`); + const rng = seedrandom(seed.toString()); + + await rewards.transferStoreOwnership(dnp.address); + await dnr.updateDarknodePayment(dnp.address); + + const newToken = await ERC20.new("DAI2"); + await dnp.registerToken(newToken.address); + + ( + await store.darknodeBalances(NULL, newToken.address) + ).should.bignumber.equal(0); + + const darknodeIndices = range(20); + + // Register 50 nodes before switching to ClaimlessRewards. + let previousCanClaim = 0; + for (const index of darknodeIndices.slice( + 0, + Math.floor(darknodeIndices.length / 2) + )) { + await registerNode(index); + + if (rng() < 0.5) { + await waitForEpoch(dnr); + + // Claim for any darknode that has been registered for two + // epochs. + for (const indexInner of darknodeIndices.slice( + 0, + previousCanClaim + )) { + await dnp.claim(ID(indexInner)); + } + + previousCanClaim = index; + + // Add random amount of DAI to rewards. + await STEPS.addRewards( + dnp, + newToken.address, + new BigNumber(rng()) + .times(1000) + .times( + new BigNumber(10).exponentiatedBy( + await getDecimals(newToken.address) + ) + ) + ); + } + } + + await waitForEpoch(dnr); + await waitForEpoch(dnr); + for (const index of darknodeIndices.slice( + 0, + Math.floor(darknodeIndices.length / 2) + )) { + await dnp.claim(ID(index)); + } + + // Withdraw legacy rewards for first 25 nodes. + for (const index of darknodeIndices.slice( + 0, + Math.floor(darknodeIndices.length / 2) + )) { + if (rng() < 0.5) { + await dnp.withdraw(ID(index), newToken.address); + } + } + + rewards = await ClaimlessRewards.new( + dnr.address, + store.address, + owner, + 50000 + ); + await dnp.transferStoreOwnership(rewards.address); + await dnr.updateDarknodePayment(rewards.address); + await STEPS.registerToken(rewards, [ETHEREUM, newToken.address]); + + // Register 50 nodes after switching to ClaimlessRewards. + for (const index of darknodeIndices.slice( + Math.floor(darknodeIndices.length / 2) + )) { + await registerNode(index); + + if (rng() < 0.5) { + await STEPS.waitForEpoch(rewards); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + // Add random amount of DAI to rewards. + await STEPS.addRewards( + rewards, + newToken.address, + new BigNumber(rng()) + .times(1000) + .times( + new BigNumber(10).exponentiatedBy( + await getDecimals(newToken.address) + ) + ) + ); + } + } + + // await STEPS.waitForEpoch(rewards); + + // // Deregister random nodes. + // for (const index of darknodeIndices.slice( + // 0, + // darknodeIndices.length + // )) { + // if (rng() < 0.2) { + // await deregisterNode(index); + // } + + // if (rng() < 0.5) { + // await STEPS.waitForEpoch(rewards); + + // // Add random amount of DAI to rewards. + // await STEPS.addRewards( + // dnp, + // newToken.address, + // new BigNumber(rng()) + // .times(1000) + // .times( + // new BigNumber(10).exponentiatedBy( + // await getDecimals(newToken.address) + // ) + // ) + // ); + + // await STEPS.changeCycle(rewards, 1 * HOURS); + // } + // } + + await STEPS.waitForEpoch(rewards); + + for (const index of darknodeIndices) { + await STEPS.withdraw( + rewards, + ID(index), + newToken.address, + accounts[index % accounts.length] + ); + } + + ( + await store.darknodeBalances(NULL, newToken.address) + ).should.bignumber.equal(0); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, newToken.address); + await deregisterNode(darknodeIndices); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode(darknodeIndices); + await STEPS.waitForEpoch(rewards); + }); + + it("balance if pending registration is 0", async () => { + // register ETH token and two darknodes + await registerNode(1); + await STEPS.registerToken(rewards, ETHEREUM); + + await rewards + .darknodeBalances(ID(1), ETHEREUM) + .should.be.rejectedWith( + /ClaimlessRewards: registration pending/ + ); + }); + }); + + describe("getNextEpochFromTimestamp", () => { + it("should return the correct timestamp", async () => { + const timestamps = await rewards.getEpochTimestamps(); + + for (let i = 0; i < timestamps.length; i++) { + const timestamp = new BigNumber(timestamps[i].toString()); + const nextTimestamp = timestamps[i + 1] + ? new BigNumber(timestamps[i + 1].toString()) + : undefined; + const previousTimestamp = timestamps[i - 1] + ? new BigNumber(timestamps[i - 1].toString()) + : undefined; + + // Check that timestamps are ordered. + if (nextTimestamp) { + nextTimestamp.should.be.bignumber.greaterThan(timestamp); + } + if (previousTimestamp) { + previousTimestamp.should.be.bignumber.lessThan(timestamp); + } + + // Check that getNextEpochFromTimestamp(timestamp - 1) == timestamp + ( + await rewards.getNextEpochFromTimestamp( + timestamp.minus(1).toFixed() + ) + ).should.bignumber.equal( + previousTimestamp && + timestamp.minus(1).isEqualTo(previousTimestamp) + ? previousTimestamp + : timestamp + ); + + // Check that getNextEpochFromTimestamp(timestamp) == timestamp + ( + await rewards.getNextEpochFromTimestamp(timestamp.toFixed()) + ).should.bignumber.equal(timestamp); + + // Check that getNextEpochFromTimestamp(timestamp + 1) == next timestamp + ( + await rewards.getNextEpochFromTimestamp( + timestamp.plus(1).toFixed() + ) + ).should.bignumber.equal(nextTimestamp || new BigNumber(0)); + } + + if (timestamps.length) { + ( + await rewards.getNextEpochFromTimestamp(0) + ).should.bignumber.equal(timestamps[0]); + } + }); + }); + + describe("Transferring ownership", () => { + it("should disallow unauthorized transferring of ownership", async () => { + await rewards + .transferStoreOwnership(accounts[1], { from: accounts[1] }) + .should.be.rejectedWith(/Ownable: caller is not the owner/); + await rewards + .claimStoreOwnership({ from: accounts[1] }) + .should.be.rejectedWith( + /Claimable: caller is not the pending owner/ + ); + }); + + it("can transfer ownership of the darknode payment store", async () => { + const newDarknodePayment = await ClaimlessRewards.new( + dnr.address, + store.address, + owner, + 50000 + ); + + // [ACTION] Initiate ownership transfer to wrong account + await rewards.transferStoreOwnership(newDarknodePayment.address, { + from: accounts[0], + }); + + // [CHECK] Owner should be the new rewards contract. + (await store.owner()).should.equal(newDarknodePayment.address); + + // [RESET] Initiate ownership transfer back to rewards. + await newDarknodePayment.transferStoreOwnership(rewards.address); + + // [CHECK] Owner should now be the rewards. + (await store.owner()).should.equal(rewards.address); + }); + }); + + describe("when forwarding funds", async () => { + it("can forward ETH", async () => { + await rewards.forward(NULL); + }); + + it("can forward funds to the store", async () => { + // rewards should have zero balance + new BN(await dai.balanceOf(rewards.address)).should.bignumber.equal( + new BN(0) + ); + + const storeDaiBalance = new BN( + await store.availableBalance(dai.address) + ); + const amount = new BN("1000000"); + new BN(await dai.balanceOf(owner)).gte(amount).should.be.true; + await dai.transfer(rewards.address, amount); + + (await store.availableBalance(dai.address)).should.bignumber.equal( + storeDaiBalance + ); + // rewards should have some balance + new BN(await dai.balanceOf(rewards.address)).should.bignumber.equal( + amount + ); + + // Forward the funds on + await rewards.forward(dai.address); + new BN(await dai.balanceOf(rewards.address)).should.bignumber.equal( + new BN(0) + ); + (await store.availableBalance(dai.address)).should.bignumber.equal( + storeDaiBalance.add(amount) + ); + }); + }); + + describe("when changing payout proportion", async () => { + it("cannot change payout proportion to an invalid percent", async () => { + const denominator = await toBN( + rewards.HOURLY_PAYOUT_WITHHELD_DENOMINATOR() + ); + await rewards + .updateHourlyPayoutWithheld(denominator.plus(1).toFixed()) + .should.be.rejectedWith(/ClaimlessRewards: invalid numerator/); + }); + + it("can change payout proportion", async () => { + // register ETH token and two darknodes + await registerNode([1, 2]); + await STEPS.registerToken(rewards, [ETHEREUM, dai.address]); + await STEPS.waitForEpoch(rewards); + + // Ensure there are no fees from other tests. + await STEPS.withdraw(rewards, ID(1), dai.address, operator1); + + // Add 101.00...01 DAI to rewards. + await STEPS.addRewards( + rewards, + dai.address, + new BN(101).mul(new BN(10).pow(new BN(18))) + ); + + const oldNumerator = await toBN( + rewards.hourlyPayoutWithheldNumerator() + ); + const denominator = await toBN( + rewards.HOURLY_PAYOUT_WITHHELD_DENOMINATOR() + ); + await rewards.updateHourlyPayoutWithheld(denominator.toFixed()); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + ( + await STEPS.withdraw(rewards, ID(1), dai.address, operator1) + ).should.bignumber.equal(0); + + await rewards.updateHourlyPayoutWithheld(0); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + // No rewards should have been withheld, except rounded amounts too + // small to be distributed to all darknodes. + const numberOfDarknodes = await toBN(dnr.numDarknodes()); + ( + await store.availableBalance(dai.address) + ).should.bignumber.lessThan(numberOfDarknodes); + + await STEPS.withdraw(rewards, ID(1), dai.address, operator1); + + await rewards.updateHourlyPayoutWithheld(oldNumerator.toFixed()); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, dai.address); + await deregisterNode([1, 2]); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2]); + await STEPS.waitForEpoch(rewards); + }); + }); + + describe("admin methods", async () => { + it("only admin can update payout proportions", async () => { + await rewards + .updateHourlyPayoutWithheld(new BN(10), { from: accounts[2] }) + .should.be.rejectedWith(/Ownable: caller is not the owner./); + }); + + describe("DarknodeRegistry", () => { + it("only admin can update darknode registry", async () => { + await rewards + .updateDarknodeRegistry(accounts[2], { from: accounts[2] }) + .should.be.rejectedWith( + /Ownable: caller is not the owner./ + ); + }); + + it("can update DarknodeRegistry", async () => { + const darknodeRegistry = await rewards.darknodeRegistry(); + await rewards + .updateDarknodeRegistry(NULL) + .should.be.rejectedWith( + /ClaimlessRewards: invalid Darknode Registry address/ + ); + + await rewards.updateDarknodeRegistry(accounts[0]); + await rewards.updateDarknodeRegistry(darknodeRegistry); + }); + }); + + describe("community fund", () => { + it("only admin can update community fund", async () => { + await rewards + .updateCommunityFund(accounts[2], { from: accounts[2] }) + .should.be.rejectedWith( + /Ownable: caller is not the owner./ + ); + }); + + it("only admin can update community fund percent", async () => { + await rewards + .updateCommunityFundNumerator(0, { from: accounts[2] }) + .should.be.rejectedWith( + /Ownable: caller is not the owner./ + ); + }); + + it("can withdraw community fund rewards", async () => { + // register ETH token and two darknodes + await registerNode([1, 2]); + await STEPS.registerToken(rewards, [ETHEREUM, dai.address]); + await STEPS.waitForEpoch(rewards); + + // Add 101.00...01 DAI to rewards. + await STEPS.addRewards( + rewards, + dai.address, + new BN(101).mul(new BN(10).pow(new BN(18))).add(new BN(1)) + ); + + // Add 1 ETH to rewards. + await STEPS.addRewards( + rewards, + ETHEREUM, + new BN(1).mul(new BN(10).pow(new BN(18))) + ); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + ( + await STEPS.withdrawToCommunityFund(rewards, [ + ETHEREUM, + dai.address, + ]) + ).should.bignumber.greaterThan(0); + + // Second time - empty values. + ( + await STEPS.withdrawToCommunityFund(rewards, [ + ETHEREUM, + dai.address, + ]) + ).should.bignumber.equal(0); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, dai.address); + await deregisterNode([1, 2]); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2]); + await STEPS.waitForEpoch(rewards); + }); + + it("can update community fund", async () => { + const communityFund = await rewards.communityFund(); + await rewards.updateCommunityFund(accounts[0]); + await rewards.updateCommunityFund(communityFund); + }); + + it("cannot change community fund percent to an invalid percent", async () => { + const denominator = await toBN( + rewards.HOURLY_PAYOUT_WITHHELD_DENOMINATOR() + ); + await rewards + .updateCommunityFundNumerator(denominator.plus(1).toFixed()) + .should.be.rejectedWith( + /ClaimlessRewards: invalid numerator/ + ); + }); + + it("can update community fund percent", async () => { + // register ETH token and two darknodes + await registerNode([1, 2]); + await STEPS.registerToken(rewards, [ETHEREUM, dai.address]); + await STEPS.waitForEpoch(rewards); + + // Ensure there are no community funds from previous tests. + ( + await STEPS.withdrawToCommunityFund(rewards, [ + ETHEREUM, + dai.address, + ]) + ).should.bignumber.greaterThan(0); + + // Add 101.00...01 DAI to rewards. + await STEPS.addRewards( + rewards, + dai.address, + new BN(101).mul(new BN(10).pow(new BN(18))).add(new BN(1)) + ); + + // Add 1 ETH to rewards. + await STEPS.addRewards( + rewards, + ETHEREUM, + new BN(1).mul(new BN(10).pow(new BN(18))) + ); + + // Update community fund numerator to 0. + const oldCommunityFundPercent = await toBN( + rewards.communityFundNumerator() + ); + await rewards.updateCommunityFundNumerator(0); + + await STEPS.changeCycle(rewards, 28 * DAYS); + + ( + await STEPS.withdrawToCommunityFund(rewards, [ + ETHEREUM, + dai.address, + ]) + ).should.bignumber.equal(0); + + // Second time - empty values. + ( + await STEPS.withdrawToCommunityFund(rewards, [ + ETHEREUM, + dai.address, + ]) + ).should.bignumber.equal(0); + + await STEPS.deregisterToken(rewards, ETHEREUM); + await STEPS.deregisterToken(rewards, dai.address); + await deregisterNode([1, 2]); + await STEPS.waitForEpoch(rewards); + await STEPS.waitForEpoch(rewards); + await refundNode([1, 2]); + await STEPS.waitForEpoch(rewards); + + // Revert community fund numerator change. + await rewards.updateCommunityFundNumerator( + oldCommunityFundPercent.toFixed() + ); + }); + + it("can't set community fund to 0x0 or registered darknode", async () => { + await rewards + .updateCommunityFund(NULL) + .should.be.rejectedWith( + /ClaimlessRewards: invalid community fund address/ + ); + + await registerNode(1); + await rewards + .updateCommunityFund(ID(1)) + .should.be.rejectedWith( + /ClaimlessRewards: community fund must not be a registered darknode/ + ); + }); + + it("malicious operator can't withdraw community fund", async () => { + const communityFund = await rewards.communityFund(); + const malicious = accounts[4]; + await ren.transfer(malicious, MINIMUM_BOND); + await ren.approve(dnr.address, MINIMUM_BOND, { + from: malicious, + }); + // Register the darknodes under the account address + await dnr.register(communityFund, PUBK(-1), { + from: malicious, + }); + await STEPS.waitForEpoch(rewards); + + // Add 101.00...01 DAI to rewards. + await STEPS.addRewards( + rewards, + dai.address, + new BN(101).mul(new BN(10).pow(new BN(18))) + ); + await STEPS.changeCycle(rewards, 1 * HOURS); + + await STEPS.withdraw( + rewards, + communityFund, + dai.address + ).should.be.rejectedWith(/ClaimlessRewards: invalid node ID/); + }); + }); + }); + + const registerNode = async (array: number | number[], from?: string) => { + array = Array.isArray(array) ? array : [array]; + for (const i of array) { + await ren.transfer( + from || accounts[i % accounts.length], + MINIMUM_BOND + ); + await ren.approve(dnr.address, MINIMUM_BOND, { + from: from || accounts[i % accounts.length], + }); + // Register the darknodes under the account address + await dnr.register(ID(i), PUBK(i), { + from: from || accounts[i % accounts.length], + }); + } + }; + + const deregisterNode = async (array: number | number[], from?: string) => { + array = Array.isArray(array) ? array : [array]; + for (const i of array) { + await dnr.deregister(ID(i), { + from: from || accounts[i % accounts.length], + }); + } + }; + + const refundNode = async (array: number | number[], from?: string) => { + array = Array.isArray(array) ? array : [array]; + for (const i of array) { + await dnr.refund(ID(i), { + from: from || accounts[i % accounts.length], + }); + } + }; +}); diff --git a/test/ClaimlessRewards/steps.ts b/test/ClaimlessRewards/steps.ts new file mode 100644 index 00000000..650d779e --- /dev/null +++ b/test/ClaimlessRewards/steps.ts @@ -0,0 +1,487 @@ +import BigNumber from "bignumber.js"; +import { OrderedMap } from "immutable"; +import moment from "moment"; +import { + ClaimlessRewardsInstance, + DarknodePaymentInstance, + DarknodePaymentStoreContract, + DarknodeRegistryLogicV1Contract +} from "../../types/truffle-contracts"; +import { + ETHEREUM, + getBalance, + getDecimals, + getSymbol, + HOURS, + increaseTime, + NULL, + toBN, + transferToken, + waitForEpoch +} from "../helper/testUtils"; + +const DarknodePaymentStore: DarknodePaymentStoreContract = artifacts.require( + "DarknodePaymentStore" +); +const DarknodeRegistry: DarknodeRegistryLogicV1Contract = artifacts.require( + "DarknodeRegistryLogicV1" +); + +const registerToken = async ( + rewards: ClaimlessRewardsInstance, + tokens: string | string[] +) => { + tokens = Array.isArray(tokens) ? tokens : [tokens]; + + for (const token of tokens) { + // Precondition. The token is not registered. + (await rewards.isRegistered(token)).should.equal(false); + const allTokens = await rewards.getRegisteredTokens(); + + // Effect. Register the token. + await rewards.registerToken(token); + + // Postcondition. The token is registered. + (await rewards.isRegistered(token)).should.equal(true); + (await rewards.getRegisteredTokens()).should.deep.equal([ + ...allTokens, + token + ]); + } +}; + +const deregisterToken = async ( + rewards: ClaimlessRewardsInstance, + tokens: string | string[] +) => { + tokens = Array.isArray(tokens) ? tokens : [tokens]; + + for (const token of tokens) { + // Precondition. The token is registered. + (await rewards.isRegistered(token)).should.equal(true); + const allTokens = await rewards.getRegisteredTokens(); + + // Effect. Deregister the token. + await rewards.deregisterToken(token); + + // Postcondition. The token is not registered. + (await rewards.isRegistered(token)).should.equal(false); + (await rewards.getRegisteredTokens()).should.deep.equal( + allTokens.filter(x => x !== token) + ); + } +}; + +const changeCycle = async ( + rewards: ClaimlessRewardsInstance, + time: number, + epoch?: boolean +) => { + const latestTimestamp = await toBN(rewards.latestCycleTimestamp()); + const storeAddress = await rewards.store(); + const store = await DarknodePaymentStore.at(storeAddress); + const dnrAddress = await rewards.darknodeRegistry(); + const dnr = await DarknodeRegistry.at(dnrAddress); + const communityFund = await rewards.communityFund(); + + const tokens = await rewards.getRegisteredTokens(); + let freeBeforeMap = OrderedMap(); + let communityFundBalanceBeforeMap = OrderedMap(); + let darknodePoolBeforeMap = OrderedMap(); + let shareBeforeMap = OrderedMap(); + for (const token of tokens) { + const freeBefore = await toBN(store.availableBalance(token)); + freeBeforeMap = freeBeforeMap.set(token, freeBefore); + + const communityFundBalanceBefore = await toBN( + rewards.darknodeBalances(communityFund, token) + ); + communityFundBalanceBeforeMap = communityFundBalanceBeforeMap.set( + token, + communityFundBalanceBefore + ); + const darknodePoolBefore = await toBN( + rewards.darknodeBalances(NULL, token) + ); + darknodePoolBeforeMap = darknodePoolBeforeMap.set( + token, + darknodePoolBefore + ); + const shareBefore = await toBN( + rewards.cycleCumulativeTokenShares(latestTimestamp.toFixed(), token) + ); + shareBeforeMap = shareBeforeMap.set(token, shareBefore); + } + const shares = await toBN(dnr.numDarknodes()); + const epochTimestampCountBefore = await toBN( + rewards.epochTimestampsLength() + ); + + // Effect. Change the cycle. + let tx; + if (epoch) { + tx = await waitForEpoch(dnr); + } else { + await increaseTime(time); + tx = await rewards.changeCycle(); + } + + // Postcondition. Check that the cycle's timestamp is stored correctly. + const block = await web3.eth.getBlock(tx.receipt.blockNumber); + const timestamp = new BigNumber(block.timestamp); + const newLatestTimestamp = await toBN(rewards.latestCycleTimestamp()); + // Check if the epoch happened too recently to a cycle, so no cycle was + // called. + const expectedTimestamp = epoch + ? timestamp + : latestTimestamp.plus( + timestamp + .minus(latestTimestamp) + .minus(timestamp.minus(latestTimestamp).mod(1 * HOURS)) + ); + newLatestTimestamp.should.not.bignumber.equal(latestTimestamp); + newLatestTimestamp.should.bignumber.equal(expectedTimestamp); + const epochTimestampCountAfter = await toBN( + rewards.epochTimestampsLength() + ); + if (epoch) { + epochTimestampCountAfter.should.bignumber.equal( + epochTimestampCountBefore.plus(1) + ); + } + + // Postcondition. Check conditions for each token. + const hours = timestamp + .minus(latestTimestamp) + .dividedToIntegerBy(1 * HOURS) + .toNumber(); + const numerator = await toBN(rewards.hourlyPayoutWithheldNumerator()); + const denominator = await toBN( + rewards.HOURLY_PAYOUT_WITHHELD_DENOMINATOR() + ); + let numeratorSeries = numerator; + for (let i = 0; i < hours; i++) { + numeratorSeries = numeratorSeries + .times(numerator) + .div(denominator) + .integerValue(BigNumber.ROUND_DOWN); + } + const communityFundNumerator = await toBN(rewards.communityFundNumerator()); + + for (const token of tokens) { + const freeBefore = freeBeforeMap.get(token); + const communityFundBalanceBefore = communityFundBalanceBeforeMap.get( + token + ); + const darknodePoolBefore = darknodePoolBeforeMap.get(token); + const shareBefore = shareBeforeMap.get(token); + + const totalWithheld = freeBefore + .times(numeratorSeries) + .div(denominator) + .integerValue(BigNumber.ROUND_DOWN); + + const totalPaidout = freeBefore.minus(totalWithheld); + const communityFundPaidout = totalPaidout + .times(communityFundNumerator) + .div(denominator) + .integerValue(BigNumber.ROUND_DOWN); + + const darknodePaidout = totalPaidout.minus(communityFundPaidout); + const share = shares.isZero() + ? new BigNumber(0) + : darknodePaidout.div(shares).integerValue(BigNumber.ROUND_DOWN); + + const darknodePaidoutAdjusted = share.times(shares); + + // Postcondition. The stored share is the correct amount. + const shareAfter = await toBN( + rewards.cycleCumulativeTokenShares( + newLatestTimestamp.toFixed(), + token + ) + ); + + shareAfter.minus(shareBefore).should.bignumber.equal(share); + + // Postcondition. The darknode pool increased by the correct amount. + const darknodePoolAfter = await toBN( + rewards.darknodeBalances(NULL, token) + ); + darknodePoolAfter + .minus(darknodePoolBefore) + .should.bignumber.equal(darknodePaidoutAdjusted); + + // Postcondition. The community fund increased by the correct amount. + const communityFundBalanceAfter = await toBN( + rewards.darknodeBalances(communityFund, token) + ); + communityFundBalanceAfter + .minus(communityFundBalanceBefore) + .should.bignumber.equal(communityFundPaidout); + + // Postcondition. The free amount decreased by the correct amount. + const freeAfter = await toBN(store.availableBalance(token)); + freeBefore + .minus(freeAfter) + .should.bignumber.equal( + communityFundPaidout.plus(darknodePaidoutAdjusted) + ); + } + + console.log( + `New cycle after ${moment + .duration(newLatestTimestamp.minus(latestTimestamp).times(1000)) + .humanize()}.` + ); + + return hours; +}; + +const _waitForEpoch = async (rewards: ClaimlessRewardsInstance) => { + await changeCycle(rewards, 0, true); +}; + +const addRewards = async ( + rewards: ClaimlessRewardsInstance | DarknodePaymentInstance, + token: string, + amount: BigNumber | number | string | BN +) => { + const storeAddress = await rewards.store(); + const balanceBefore = await getBalance(token, storeAddress); + const store = await DarknodePaymentStore.at(storeAddress); + const freeBefore = await toBN(store.availableBalance(token)); + + // Effect. Transfer token to the store contract. + await transferToken(token, storeAddress, amount); + + // Postcondition. The balance after has increased by the amount added. + const balanceAfter = await getBalance(token, storeAddress); + balanceAfter.minus(balanceBefore).should.bignumber.equal(amount); + const freeAfter = await toBN(store.availableBalance(token)); + freeAfter.minus(freeBefore).should.bignumber.equal(amount); + + console.log( + `There are now ${new BigNumber(freeAfter.toString()) + .div(new BigNumber(10).exponentiatedBy(await getDecimals(token))) + .toFixed()} ${await getSymbol(token)} in rewards` + ); +}; + +const withdraw = async ( + rewards: ClaimlessRewardsInstance, + darknodes: string | string[], + tokens: string | string[], + from?: string +) => { + tokens = Array.isArray(tokens) ? tokens : [tokens]; + darknodes = Array.isArray(darknodes) ? darknodes : [darknodes]; + from = from || darknodes[0]; + + // Store the balance for each token, and the withdrawable amount for each + // darknode and token. + let withdrawableMap = OrderedMap>(); + let balanceBeforeMap = OrderedMap(); + // let legacyBalanceMap = OrderedMap>(); + // let shareBeforeMap = OrderedMap>(); + const storeAddress = await rewards.store(); + const store = await DarknodePaymentStore.at(storeAddress); + const currentCycle = await toBN(rewards.latestCycleTimestamp()); + const dnrAddress = await rewards.darknodeRegistry(); + const dnr = await DarknodeRegistry.at(dnrAddress); + for (const token of tokens) { + const balanceBefore = await getBalance(token, from); + balanceBeforeMap = balanceBeforeMap.set(token, balanceBefore); + + for (const darknode of darknodes) { + const withdrawable = await toBN( + rewards.darknodeBalances(darknode, token) + ); + withdrawableMap = withdrawableMap.set( + darknode, + ( + withdrawableMap.get(darknode) || + OrderedMap() + ).set(token, withdrawable) + ); + + // Precondition. The withdrawable amount should be the correct + // amount, including any legacy balance left-over. + const nodeRegistered = await toBN( + dnr.darknodeRegisteredAt(darknode) + ); + const nodeDeregistered = await toBN( + dnr.darknodeDeregisteredAt(darknode) + ); + // Node not registered. + if (nodeRegistered.isZero()) { + continue; + } + const legacyBalance = await toBN( + store.darknodeBalances(darknode, token) + ); + let lastWithdrawn = await toBN( + rewards.rewardsLastClaimed(darknode, token) + ); + if (lastWithdrawn.lt(nodeRegistered)) { + lastWithdrawn = await toBN( + rewards.getNextEpochFromTimestamp(nodeRegistered.toFixed()) + ); + } + let claimableUntil = currentCycle; + if (nodeDeregistered.isGreaterThan(0)) { + const deregisteredCycle = await toBN( + rewards.getNextEpochFromTimestamp( + nodeDeregistered.toFixed() + ) + ); + if (deregisteredCycle.isGreaterThan(0)) { + claimableUntil = deregisteredCycle; + } + } + const shareBefore = await toBN( + rewards.cycleCumulativeTokenShares( + lastWithdrawn.toFixed(), + token + ) + ); + const shareAfter = await toBN( + rewards.cycleCumulativeTokenShares( + claimableUntil.toFixed(), + token + ) + ); + withdrawable + .minus(legacyBalance) + .should.bignumber.equal(shareAfter.minus(shareBefore)); + } + } + + // Effect. + let tx; + if (tokens.length !== 1) { + tx = await rewards.withdrawMultiple(darknodes, tokens, { from }); + } else if (darknodes.length !== 1) { + tx = await rewards.withdrawToken(darknodes, tokens[0], { from }); + } else { + tx = await rewards.withdraw(darknodes[0], tokens[0], { from }); + } + + // Postcondition. Check conditions for each token and darknode. + for (const token of tokens) { + const balanceBefore = balanceBeforeMap.get(token); + + let withdrawableSum = new BigNumber(0); + for (const darknode of darknodes) { + const withdrawable = withdrawableMap.get(darknode).get(token); + withdrawableSum = withdrawableSum.plus(withdrawable); + + const postWithdrawable = await toBN( + rewards.darknodeBalances(darknode, token) + ); + postWithdrawable.should.bignumber.equal(0); + + console.log( + `${darknode.slice(0, 8)}... withdrew ${withdrawable + .div( + new BigNumber(10).exponentiatedBy( + await getDecimals(token) + ) + ) + .toFixed()} ${await getSymbol(token)}` + ); + } + + // Postcondition. The token balance of the user withdrawing increased + // by the expected amount. + const transactionDetails = await web3.eth.getTransaction(tx.tx); + let gasFee = new BigNumber(0); + if (token === ETHEREUM) { + const { gasPrice } = transactionDetails; + const { gasUsed } = tx.receipt; + gasFee = new BigNumber(gasUsed).times(gasPrice); + } + (await getBalance(token, from)).should.bignumber.equal( + balanceBefore.plus(withdrawableSum).minus(gasFee) + ); + } + + if (darknodes.length && tokens.length) { + return withdrawableMap.get(darknodes[0]).get(tokens[0]); + } else { + return new BigNumber(0); + } +}; + +const withdrawToCommunityFund = async ( + rewards: ClaimlessRewardsInstance, + tokens: string | string[], + from?: string +) => { + from = from || (await web3.eth.getAccounts())[0]; + tokens = Array.isArray(tokens) ? tokens : [tokens]; + + // Store the balance for each token, and the withdrawable amount for each + // darknode and token. + const communityFund = await rewards.communityFund(); + let withdrawableMap = OrderedMap(); + let balanceBeforeMap = OrderedMap(); + for (const token of tokens) { + const balanceBefore = await getBalance(token, communityFund); + balanceBeforeMap = balanceBeforeMap.set(token, balanceBefore); + + const withdrawable = await toBN( + rewards.darknodeBalances(communityFund, token) + ); + withdrawableMap = withdrawableMap.set(token, withdrawable); + } + + // Effect. + const tx = await rewards.withdrawToCommunityFund(tokens); + + // Postcondition. Check conditions for each token and darknode. + for (const token of tokens) { + const balanceBefore = balanceBeforeMap.get(token); + const withdrawableBefore = withdrawableMap.get(token); + + console.log( + `Withdrew ${withdrawableBefore + .div( + new BigNumber(10).exponentiatedBy(await getDecimals(token)) + ) + .toFixed()} ${await getSymbol(token)} to the community fund.` + ); + + // Postcondition. The token balance of the user withdrawing increased + // by the expected amount. + const transactionDetails = await web3.eth.getTransaction(tx.tx); + let gasFee = new BigNumber(0); + if (token === ETHEREUM && from === communityFund) { + const { gasPrice } = transactionDetails; + const { gasUsed } = tx.receipt; + gasFee = new BigNumber(gasUsed).times(gasPrice); + } + (await getBalance(token, communityFund)).should.bignumber.equal( + balanceBefore.plus(withdrawableBefore).minus(gasFee) + ); + ( + await toBN(rewards.darknodeBalances(communityFund, token)) + ).should.bignumber.equal(0); + } + + if (tokens.length) { + return withdrawableMap.get(tokens[0]); + } else { + return new BigNumber(0); + } +}; + +export const STEPS = { + registerToken, + deregisterToken, + changeCycle, + addRewards, + withdraw, + withdrawToCommunityFund, + waitForEpoch: _waitForEpoch +}; diff --git a/test/Compare.ts b/test/Compare.ts index c184c8e1..057a86b9 100644 --- a/test/Compare.ts +++ b/test/Compare.ts @@ -18,10 +18,7 @@ contract("Compare", accounts => { const hexBlockhash1 = web3.utils.asciiToHex(blockhash1); const hexBlockhash2 = web3.utils.asciiToHex(blockhash2); expect( - await CompareInstance.bytesEqual.call( - hexBlockhash1, - hexBlockhash2 - ) + await CompareInstance.bytesEqual(hexBlockhash1, hexBlockhash2) ).to.be.false; }); @@ -29,26 +26,17 @@ contract("Compare", accounts => { const blockhash1 = "XTsJ2rO2yD47tg3JfmakVRXLzeou4SMtZvsMc6lkr6o"; const hexBlockhash1 = web3.utils.asciiToHex(blockhash1); expect( - await CompareInstance.bytesEqual.call( - hexBlockhash1, - hexBlockhash1 - ) + await CompareInstance.bytesEqual(hexBlockhash1, hexBlockhash1) ).to.be.true; const hexBlockhash2 = web3.utils.asciiToHex("abcdefghijk"); expect( - await CompareInstance.bytesEqual.call( - hexBlockhash2, - hexBlockhash2 - ) + await CompareInstance.bytesEqual(hexBlockhash2, hexBlockhash2) ).to.be.true; const hexBlockhash3 = web3.utils.asciiToHex( "hukrasefaakuflehlafsefhuha2h293f8" ); expect( - await CompareInstance.bytesEqual.call( - hexBlockhash3, - hexBlockhash3 - ) + await CompareInstance.bytesEqual(hexBlockhash3, hexBlockhash3) ).to.be.true; }); }); @@ -60,10 +48,7 @@ contract("Compare", accounts => { const hexBlockhash1 = web3.utils.asciiToHex(blockhash1); const hexBlockhash2 = web3.utils.asciiToHex(blockhash2); expect( - await CompareInstance.bytesEqual.call( - hexBlockhash1, - hexBlockhash2 - ) + await CompareInstance.bytesEqual(hexBlockhash1, hexBlockhash2) ).to.be.false; }); }); diff --git a/test/DarknodePayment.ts b/test/DarknodePayment.ts index be82b42d..44ae8724 100644 --- a/test/DarknodePayment.ts +++ b/test/DarknodePayment.ts @@ -3,10 +3,12 @@ import BN from "bn.js"; import { DarknodePaymentInstance, DarknodePaymentStoreInstance, + DarknodeRegistryForwarderInstance, DarknodeRegistryLogicV1Instance, DarknodeSlasherInstance, ERC20Instance, - RenTokenInstance + RenTokenInstance, + DarknodePaymentMigratorInstance } from "../types/truffle-contracts"; import { ETHEREUM, @@ -25,6 +27,10 @@ const DarknodeRegistryProxy = artifacts.require("DarknodeRegistryProxy"); const DarknodeRegistryLogicV1 = artifacts.require("DarknodeRegistryLogicV1"); const SelfDestructingToken = artifacts.require("SelfDestructingToken"); const DarknodeSlasher = artifacts.require("DarknodeSlasher"); +// const DarknodeRegistryForwarder = artifacts.require( +// "DarknodeRegistryForwarder" +// ); +const DarknodePaymentMigrator = artifacts.require("DarknodePaymentMigrator"); const { config } = require("../migrations/networks"); @@ -36,6 +42,7 @@ contract("DarknodePayment", (accounts: string[]) => { let dnp: DarknodePaymentInstance; let ren: RenTokenInstance; let slasher: DarknodeSlasherInstance; + // let forwarder: DarknodeRegistryForwarderInstance; const owner = accounts[0]; const darknode1 = accounts[1]; @@ -54,9 +61,12 @@ contract("DarknodePayment", (accounts: string[]) => { slasher = await DarknodeSlasher.deployed(); await dnr.updateSlasher(slasher.address); + // forwarder = await DarknodeRegistryForwarder.new(dnr.address); + // await dnp.updateDarknodeRegistry(forwarder.address); + await waitForEpoch(dnr); - new BN(await dnr.numDarknodes.call()).should.bignumber.equal(new BN(0)); + new BN(await dnr.numDarknodes()).should.bignumber.equal(new BN(0)); }); afterEach(async () => { @@ -68,7 +78,7 @@ contract("DarknodePayment", (accounts: string[]) => { let i = 0; while (true) { try { - await dnp.registeredTokens.call(i); + await dnp.registeredTokens(i); i++; } catch (error) { break; @@ -82,9 +92,9 @@ contract("DarknodePayment", (accounts: string[]) => { let i = 0; while (true) { try { - const token = await dnp.registeredTokens.call(i); + const token = await dnp.registeredTokens(i); console.info( - ` ${token}, (${await dnp.registeredTokenIndex.call( + ` ${token}, (${await dnp.registeredTokenIndex( token )})` ); @@ -100,9 +110,9 @@ contract("DarknodePayment", (accounts: string[]) => { let i = 0; while (true) { try { - const token = await dnp.registeredTokens.call(i); + const token = await dnp.registeredTokens(i); ( - await dnp.registeredTokenIndex.call(token) + await dnp.registeredTokenIndex(token) ).should.bignumber.equal(i + 1); i++; } catch (error) { @@ -124,15 +134,15 @@ contract("DarknodePayment", (accounts: string[]) => { it("can register tokens", async () => { const lengthBefore = await tokenCount(); - (await dnp.tokenPendingRegistration.call(dai.address)).should.equal( + (await dnp.tokenPendingRegistration(dai.address)).should.equal( false ); ( - await dnp.tokenPendingRegistration.call(erc20Token.address) + await dnp.tokenPendingRegistration(erc20Token.address) ).should.equal(false); await dnp.registerToken(dai.address); - (await dnp.tokenPendingRegistration.call(dai.address)).should.equal( + (await dnp.tokenPendingRegistration(dai.address)).should.equal( true ); await dnp @@ -142,39 +152,39 @@ contract("DarknodePayment", (accounts: string[]) => { ); await dnp.registerToken(erc20Token.address); ( - await dnp.tokenPendingRegistration.call(erc20Token.address) + await dnp.tokenPendingRegistration(erc20Token.address) ).should.equal(true); // complete token registration await waitForEpoch(dnr); - (await dnp.registeredTokens.call(lengthBefore)).should.equal( + (await dnp.registeredTokens(lengthBefore)).should.equal( dai.address ); ( - await dnp.registeredTokenIndex.call(dai.address) + await dnp.registeredTokenIndex(dai.address) ).should.bignumber.equal(new BN(lengthBefore + 1)); - (await dnp.tokenPendingRegistration.call(dai.address)).should.equal( + (await dnp.tokenPendingRegistration(dai.address)).should.equal( false ); ( - await dnp.tokenPendingRegistration.call(erc20Token.address) + await dnp.tokenPendingRegistration(erc20Token.address) ).should.equal(false); await dnp.registerToken(ETHEREUM); // complete token registration await waitForEpoch(dnr); - (await dnp.registeredTokens.call(lengthBefore + 2)).should.equal( + (await dnp.registeredTokens(lengthBefore + 2)).should.equal( ETHEREUM ); - ( - await dnp.registeredTokenIndex.call(ETHEREUM) - ).should.bignumber.equal(lengthBefore + 3); + (await dnp.registeredTokenIndex(ETHEREUM)).should.bignumber.equal( + lengthBefore + 3 + ); await checkTokenIndexes(); - (await dnp.tokenPendingRegistration.call(dai.address)).should.equal( + (await dnp.tokenPendingRegistration(dai.address)).should.equal( false ); ( - await dnp.tokenPendingRegistration.call(erc20Token.address) + await dnp.tokenPendingRegistration(erc20Token.address) ).should.equal(false); }); @@ -216,11 +226,11 @@ contract("DarknodePayment", (accounts: string[]) => { ); await dnp.deregisterToken(erc20Token.address); // check token deregistration + (await dnp.registeredTokenIndex(ETHEREUM)).should.bignumber.equal( + 0 + ); ( - await dnp.registeredTokenIndex.call(ETHEREUM) - ).should.bignumber.equal(0); - ( - await dnp.registeredTokenIndex.call(erc20Token.address) + await dnp.registeredTokenIndex(erc20Token.address) ).should.bignumber.equal(0); await checkTokenIndexes(); }); @@ -234,9 +244,9 @@ contract("DarknodePayment", (accounts: string[]) => { }); it("properly sets index", async () => { - const token1 = await ERC20.new(); - const token2 = await ERC20.new(); - const token3 = await ERC20.new(); + const token1 = await ERC20.new("TOKEN1"); + const token2 = await ERC20.new("TOKEN2"); + const token3 = await ERC20.new("TOKEN3"); const one = token1.address; const two = token2.address; const three = token3.address; @@ -248,11 +258,11 @@ contract("DarknodePayment", (accounts: string[]) => { await waitForEpoch(dnr); await checkTokenIndexes(); - // const expected = await dnp.registeredTokenIndex.call(one); + // const expected = await dnp.registeredTokenIndex(one); await dnp.deregisterToken(one); await waitForEpoch(dnr); await checkTokenIndexes(); - // (await dnp.registeredTokenIndex.call(two)).should.bignumber.equal(expected); + // (await dnp.registeredTokenIndex(two)).should.bignumber.equal(expected); await dnp.deregisterToken(two); await dnp.deregisterToken(three); await checkTokenIndexes(); @@ -265,11 +275,9 @@ contract("DarknodePayment", (accounts: string[]) => { it("can deposit ETH using deposit()", async () => { // deposit using deposit() function const previousReward = new BN( - await dnp.currentCycleRewardPool.call(ETHEREUM) - ); - const oldETHBalance = new BN( - await store.totalBalance.call(ETHEREUM) + await dnp.currentCycleRewardPool(ETHEREUM) ); + const oldETHBalance = new BN(await store.totalBalance(ETHEREUM)); const amount = new BN("1000000000"); // make sure we have enough balance const ownerBalance = new BN(await web3.eth.getBalance(owner)); @@ -278,12 +286,12 @@ contract("DarknodePayment", (accounts: string[]) => { value: amount.toString(), from: accounts[0] }); - new BN( - await store.totalBalance.call(ETHEREUM) - ).should.bignumber.equal(oldETHBalance.add(amount)); + new BN(await store.totalBalance(ETHEREUM)).should.bignumber.equal( + oldETHBalance.add(amount) + ); // We should have increased the reward pool new BN( - await dnp.currentCycleRewardPool.call(ETHEREUM) + await dnp.currentCycleRewardPool(ETHEREUM) ).should.bignumber.equal( await asRewardPoolBalance(previousReward.add(amount)) ); @@ -291,9 +299,7 @@ contract("DarknodePayment", (accounts: string[]) => { it("can deposit ETH via direct payment to DarknodePayment contract", async () => { // deposit using direct deposit to dnp - const oldETHBalance = new BN( - await store.totalBalance.call(ETHEREUM) - ); + const oldETHBalance = new BN(await store.totalBalance(ETHEREUM)); const amount = new BN("1000000000"); // make sure we have enough balance const ownerBalance = new BN(await web3.eth.getBalance(owner)); @@ -303,12 +309,12 @@ contract("DarknodePayment", (accounts: string[]) => { from: owner, value: amount.toString() }); - new BN( - await store.totalBalance.call(ETHEREUM) - ).should.bignumber.equal(oldETHBalance.add(amount)); + new BN(await store.totalBalance(ETHEREUM)).should.bignumber.equal( + oldETHBalance.add(amount) + ); // We should have increased the reward pool new BN( - await dnp.currentCycleRewardPool.call(ETHEREUM) + await dnp.currentCycleRewardPool(ETHEREUM) ).should.bignumber.equal( await asRewardPoolBalance(oldETHBalance.add(amount)) ); @@ -316,21 +322,19 @@ contract("DarknodePayment", (accounts: string[]) => { it("can deposit ETH via direct payment to DarknodePaymentStore contract", async () => { // deposit using direct deposit to store - const oldETHBalance = new BN( - await store.totalBalance.call(ETHEREUM) - ); + const oldETHBalance = new BN(await store.totalBalance(ETHEREUM)); const amount = new BN("1000000000"); await web3.eth.sendTransaction({ to: store.address, from: owner, value: amount.toString() }); - new BN( - await store.totalBalance.call(ETHEREUM) - ).should.bignumber.equal(oldETHBalance.add(amount)); + new BN(await store.totalBalance(ETHEREUM)).should.bignumber.equal( + oldETHBalance.add(amount) + ); // We should have increased the reward pool new BN( - await dnp.currentCycleRewardPool.call(ETHEREUM) + await dnp.currentCycleRewardPool(ETHEREUM) ).should.bignumber.equal( await asRewardPoolBalance(oldETHBalance.add(amount)) ); @@ -346,7 +350,7 @@ contract("DarknodePayment", (accounts: string[]) => { }); it("cannot deposit ERC20 that has not been registered", async () => { - const before = new BN(await dai.balanceOf.call(accounts[0])); + const before = new BN(await dai.balanceOf(accounts[0])); // Deregister dai and try to deposit await dnp.deregisterToken(dai.address); @@ -380,16 +384,16 @@ contract("DarknodePayment", (accounts: string[]) => { await waitForEpoch(dnr); await waitForEpoch(dnr); - const balanceBefore = await dai.balanceOf.call(owner); + const balanceBefore = await dai.balanceOf(owner); await dnp.withdraw(darknode1, dai.address); - const balanceAfter = await dai.balanceOf.call(owner); + const balanceAfter = await dai.balanceOf(owner); balanceAfter.should.be.bignumber.equal(balanceBefore); }); it("can be paid DAI from a payee", async () => { // darknode1 is whitelisted and can participate in rewards const previousBalance = new BN( - await store.totalBalance.call(dai.address) + await store.totalBalance(dai.address) ); previousBalance.should.bignumber.equal(new BN(0)); // sanity check that the reward pool is also zero @@ -408,7 +412,7 @@ contract("DarknodePayment", (accounts: string[]) => { // We should have zero claimed balance before ticking new BN( - await dnp.darknodeBalances.call(darknode1, dai.address) + await dnp.darknodeBalances(darknode1, dai.address) ).should.bignumber.equal(new BN(0)); // We don't need to claim since we weren't allocated rewards last cycle @@ -419,14 +423,14 @@ contract("DarknodePayment", (accounts: string[]) => { const lastCycleRewards = await asRewardPoolBalance(amount); // We should be the only one who participated last cycle new BN( - await dnr.numDarknodesPreviousEpoch.call() + await dnr.numDarknodesPreviousEpoch() ).should.bignumber.equal(1); // We should be allocated all the rewards new BN( - await dnp.unclaimedRewards.call(dai.address) + await dnp.unclaimedRewards(dai.address) ).should.bignumber.equal(lastCycleRewards); new BN( - await dnp.previousCycleRewardShare.call(dai.address) + await dnp.previousCycleRewardShare(dai.address) ).should.bignumber.equal(lastCycleRewards); // Claim the rewards for last cycle @@ -435,7 +439,7 @@ contract("DarknodePayment", (accounts: string[]) => { const pool = await fetchRewardPool(dai.address); const entireDAIPool = new BN( - await dnp.unclaimedRewards.call(dai.address) + await dnp.unclaimedRewards(dai.address) ); entireDAIPool.should.bignumber.equal( await asRewardPoolBalance(lastCycleRewards) @@ -444,13 +448,13 @@ contract("DarknodePayment", (accounts: string[]) => { await asRewardPoolBalance(entireDAIPool) ); const darknode1Balance = new BN( - await dnp.darknodeBalances.call(darknode1, dai.address) + await dnp.darknodeBalances(darknode1, dai.address) ); darknode1Balance.should.bignumber.equal(lastCycleRewards); // store.darknodeBalances should return the same as dnp.darknodeBalances ( - await store.darknodeBalances.call(darknode1, dai.address) + await store.darknodeBalances(darknode1, dai.address) ).should.bignumber.equal(darknode1Balance); }); @@ -460,9 +464,7 @@ contract("DarknodePayment", (accounts: string[]) => { await waitForEpoch(dnr); // ETH is now a registered token, claiming should now allocate balances - const oldETHBalance = new BN( - await store.totalBalance.call(ETHEREUM) - ); + const oldETHBalance = new BN(await store.totalBalance(ETHEREUM)); const amount = new BN("1000000000"); await dnp .deposit(amount, ETHEREUM) @@ -473,12 +475,12 @@ contract("DarknodePayment", (accounts: string[]) => { value: amount.toString(), from: accounts[0] }); - new BN( - await store.totalBalance.call(ETHEREUM) - ).should.bignumber.equal(oldETHBalance.add(amount)); + new BN(await store.totalBalance(ETHEREUM)).should.bignumber.equal( + oldETHBalance.add(amount) + ); // We should have increased the reward pool const newReward = new BN( - await dnp.currentCycleRewardPool.call(ETHEREUM) + await dnp.currentCycleRewardPool(ETHEREUM) ); newReward.should.bignumber.equal( await asRewardPoolBalance(oldETHBalance.add(amount)) @@ -486,7 +488,7 @@ contract("DarknodePayment", (accounts: string[]) => { // We should have zero claimed balance before ticking new BN( - await dnp.darknodeBalances.call(darknode1, ETHEREUM) + await dnp.darknodeBalances(darknode1, ETHEREUM) ).should.bignumber.equal(new BN(0)); // We don't need to claim since we weren't allocated rewards last cycle @@ -496,18 +498,18 @@ contract("DarknodePayment", (accounts: string[]) => { // We should be the only one who participated last cycle new BN( - await dnr.numDarknodesPreviousEpoch.call() + await dnr.numDarknodesPreviousEpoch() ).should.bignumber.equal(1); // We should be allocated all the rewards - new BN( - await dnp.unclaimedRewards.call(ETHEREUM) - ).should.bignumber.equal(newReward); + new BN(await dnp.unclaimedRewards(ETHEREUM)).should.bignumber.equal( + newReward + ); const rewardShare = new BN( - await dnp.previousCycleRewardShare.call(ETHEREUM) + await dnp.previousCycleRewardShare(ETHEREUM) ); rewardShare.should.bignumber.equal(newReward); const lastCycleReward = new BN( - await dnp.currentCycleRewardPool.call(ETHEREUM) + await dnp.currentCycleRewardPool(ETHEREUM) ); // Claim the rewards for last cycle @@ -516,10 +518,10 @@ contract("DarknodePayment", (accounts: string[]) => { const newPool = await asRewardPoolBalance(lastCycleReward); // There should be nothing left in the reward pool new BN( - await dnp.currentCycleRewardPool.call(ETHEREUM) + await dnp.currentCycleRewardPool(ETHEREUM) ).should.bignumber.equal(newPool); const earnedRewards = new BN( - await dnp.darknodeBalances.call(darknode1, ETHEREUM) + await dnp.darknodeBalances(darknode1, ETHEREUM) ); earnedRewards.should.bignumber.equal(rewardShare); @@ -532,21 +534,29 @@ contract("DarknodePayment", (accounts: string[]) => { // We should have nothing left to withdraw const postWithdrawRewards = new BN( - await dnp.darknodeBalances.call(darknode1, ETHEREUM) + await dnp.darknodeBalances(darknode1, ETHEREUM) ); postWithdrawRewards.should.bignumber.equal(new BN(0)); // Deregister ETH await dnp.deregisterToken(ETHEREUM); await waitForEpoch(dnr); - ( - await dnp.registeredTokenIndex.call(ETHEREUM) - ).should.bignumber.equal(0); + (await dnp.registeredTokenIndex(ETHEREUM)).should.bignumber.equal( + 0 + ); + + const darknodePaymentMigrator = await DarknodePaymentMigrator.new( + dnp.address, + [ETHEREUM] + ); + + (await store.owner()).should.equal(dnp.address); + await dnp.transferStoreOwnership(darknodePaymentMigrator.address); }); it("can pay out DAI when darknodes withdraw", async () => { const darknode1Balance = new BN( - await dnp.darknodeBalances.call(darknode1, dai.address) + await dnp.darknodeBalances(darknode1, dai.address) ); darknode1Balance.gt(new BN(0)).should.be.true; await withdraw(darknode1); @@ -574,7 +584,7 @@ contract("DarknodePayment", (accounts: string[]) => { // We should only have one darknode new BN( - await dnr.numDarknodesPreviousEpoch.call() + await dnr.numDarknodesPreviousEpoch() ).should.bignumber.equal(1); // Register the darknodes for (let i = startDarknode; i < startDarknode + numDarknodes; i++) { @@ -583,13 +593,13 @@ contract("DarknodePayment", (accounts: string[]) => { await waitForEpoch(dnr); // We should still only have one darknode new BN( - await dnr.numDarknodesPreviousEpoch.call() + await dnr.numDarknodesPreviousEpoch() ).should.bignumber.equal(1); // The darknodes should have zero balance for (let i = startDarknode; i < startDarknode + numDarknodes; i++) { const bal = new BN( - await dnp.darknodeBalances.call(accounts[i], dai.address) + await dnp.darknodeBalances(accounts[i], dai.address) ); bal.should.bignumber.equal(new BN(0)); // since darknode has not been around for a full epoch @@ -602,13 +612,13 @@ contract("DarknodePayment", (accounts: string[]) => { await depositDai(rewards); const rewardPool = await asRewardPoolBalance( - await store.availableBalance.call(dai.address) + await store.availableBalance(dai.address) ); await waitForEpoch(dnr); const newRegisteredDarknodes = new BN( - await dnr.numDarknodesPreviousEpoch.call() + await dnr.numDarknodesPreviousEpoch() ); // We should finally have increased the number of darknodes newRegisteredDarknodes.should.bignumber.equal(1 + numDarknodes); @@ -616,7 +626,7 @@ contract("DarknodePayment", (accounts: string[]) => { await multiTick(startDarknode, numDarknodes); for (let i = startDarknode; i < startDarknode + numDarknodes; i++) { - const darknodeBalance = await dnp.darknodeBalances.call( + const darknodeBalance = await dnp.darknodeBalances( accounts[i], dai.address ); @@ -670,7 +680,7 @@ contract("DarknodePayment", (accounts: string[]) => { it("cannot withdraw more than once in a cycle", async () => { const numDarknodes = 4; new BN( - await dnr.numDarknodesPreviousEpoch.call() + await dnr.numDarknodesPreviousEpoch() ).should.bignumber.equal(numDarknodes); const rewards = new BN("300000000000000000"); @@ -683,14 +693,14 @@ contract("DarknodePayment", (accounts: string[]) => { await multiTick(1, numDarknodes); // First withdraw should pass - const balanceBefore = await dai.balanceOf.call(accounts[1]); + const balanceBefore = await dai.balanceOf(accounts[1]); await withdraw(darknode1); - const balanceAfter = await dai.balanceOf.call(accounts[1]); + const balanceAfter = await dai.balanceOf(accounts[1]); balanceAfter.should.be.bignumber.greaterThan(balanceBefore); // Rest should fail await dnp.withdraw(darknode1, dai.address); - const balanceAfterSecond = await dai.balanceOf.call(accounts[1]); + const balanceAfterSecond = await dai.balanceOf(accounts[1]); balanceAfterSecond.should.be.bignumber.eq(balanceAfter); }); @@ -716,37 +726,35 @@ contract("DarknodePayment", (accounts: string[]) => { await waitForEpoch(dnr); // Add rewards into the next cycle's pool const previousBalance = new BN( - await dnp.darknodeBalances.call(darknode3, dai.address) + await dnp.darknodeBalances(darknode3, dai.address) ); const rewards = new BN("300000000000000000"); await depositDai(rewards); // Change the epoch await waitForEpoch(dnr); const rewardPool = await asRewardPoolBalance( - await store.availableBalance.call(dai.address) + await store.availableBalance(dai.address) ); // Claim the rewards for the pool await tick(darknode3); - const numDarknodes = new BN( - await dnr.numDarknodesPreviousEpoch.call() - ); + const numDarknodes = new BN(await dnr.numDarknodesPreviousEpoch()); const rewardSplit = rewardPool.div(numDarknodes); // Claim rewards for past cycle await slasher.blacklist(darknode3); const newBalances = new BN( - await dnp.darknodeBalances.call(darknode3, dai.address) + await dnp.darknodeBalances(darknode3, dai.address) ); newBalances.should.bignumber.equal( previousBalance.add(rewardSplit) ); - const oldDaiBal = new BN(await dai.balanceOf.call(darknode3)); + const oldDaiBal = new BN(await dai.balanceOf(darknode3)); await withdraw(darknode3); - const newDaiBal = new BN(await dai.balanceOf.call(darknode3)); + const newDaiBal = new BN(await dai.balanceOf(darknode3)); newDaiBal.should.bignumber.equal(oldDaiBal.add(newBalances)); }); }); @@ -777,13 +785,13 @@ contract("DarknodePayment", (accounts: string[]) => { }); // [CHECK] Owner should still be dnp - (await store.owner.call()).should.equal(newDarknodePayment.address); + (await store.owner()).should.equal(newDarknodePayment.address); // [RESET] Initiate ownership transfer back to dnp await newDarknodePayment.transferStoreOwnership(dnp.address); // [CHECK] Owner should now be the dnp - (await store.owner.call()).should.equal(dnp.address); + (await store.owner()).should.equal(dnp.address); }); }); @@ -797,7 +805,7 @@ contract("DarknodePayment", (accounts: string[]) => { await claimer.transferStoreOwnership(owner); await store.claimOwnership({ from: owner }); // [CHECK] Owner should now be main account - (await store.owner.call()).should.equal(owner); + (await store.owner()).should.equal(owner); }); it("cannot increment balances by an invalid amounts", async () => { @@ -805,7 +813,7 @@ contract("DarknodePayment", (accounts: string[]) => { .incrementDarknodeBalance(darknode1, dai.address, 0) .should.be.rejectedWith(/DarknodePaymentStore: invalid amount/); const invalidAmount = new BN( - await store.availableBalance.call(dai.address) + await store.availableBalance(dai.address) ).add(new BN(1)); await store .incrementDarknodeBalance(darknode1, dai.address, invalidAmount) @@ -816,7 +824,7 @@ contract("DarknodePayment", (accounts: string[]) => { it("cannot transfer more than is in the balance", async () => { const invalidAmount = new BN( - await dnp.darknodeBalances.call(darknode1, dai.address) + await dnp.darknodeBalances(darknode1, dai.address) ).add(new BN(1)); await store .transfer(darknode1, dai.address, invalidAmount, darknode1) @@ -858,7 +866,7 @@ contract("DarknodePayment", (accounts: string[]) => { // [RESET] Claim ownership await dnp.claimStoreOwnership(); // [CHECK] Owner should now be the dnp - (await store.owner.call()).should.equal(dnp.address); + (await store.owner()).should.equal(dnp.address); }); }); @@ -896,33 +904,33 @@ contract("DarknodePayment", (accounts: string[]) => { it("can forward funds to the store", async () => { // DNP should have zero balance - new BN( - await dai.balanceOf.call(dnp.address) - ).should.bignumber.equal(new BN(0)); + new BN(await dai.balanceOf(dnp.address)).should.bignumber.equal( + new BN(0) + ); const storeDaiBalance = new BN( - await store.availableBalance.call(dai.address) + await store.availableBalance(dai.address) ); const amount = new BN("1000000"); - new BN(await dai.balanceOf.call(owner)).gte(amount).should.be.true; + new BN(await dai.balanceOf(owner)).gte(amount).should.be.true; await dai.transfer(dnp.address, amount); - ( - await store.availableBalance.call(dai.address) - ).should.bignumber.equal(storeDaiBalance); + (await store.availableBalance(dai.address)).should.bignumber.equal( + storeDaiBalance + ); // DNP should have some balance - new BN( - await dai.balanceOf.call(dnp.address) - ).should.bignumber.equal(amount); + new BN(await dai.balanceOf(dnp.address)).should.bignumber.equal( + amount + ); // Forward the funds on await dnp.forward(dai.address); - new BN( - await dai.balanceOf.call(dnp.address) - ).should.bignumber.equal(new BN(0)); - ( - await store.availableBalance.call(dai.address) - ).should.bignumber.equal(storeDaiBalance.add(amount)); + new BN(await dai.balanceOf(dnp.address)).should.bignumber.equal( + new BN(0) + ); + (await store.availableBalance(dai.address)).should.bignumber.equal( + storeDaiBalance.add(amount) + ); }); }); @@ -960,11 +968,10 @@ contract("DarknodePayment", (accounts: string[]) => { }); it("should not payout anything if payout percent is zero", async () => { - new BN(await dnp.currentCycleRewardPool.call(dai.address)).gte( - new BN(0) - ).should.be.true; + new BN(await dnp.currentCycleRewardPool(dai.address)).gte(new BN(0)) + .should.be.true; const oldBal = new BN( - await dnp.darknodeBalances.call(darknode1, dai.address) + await dnp.darknodeBalances(darknode1, dai.address) ); await updatePayoutPercent(new BN(0)); // current epoch payment amount is zero but previous is not @@ -973,17 +980,16 @@ contract("DarknodePayment", (accounts: string[]) => { // claiming the rewards for last epoch should be zero await tick(darknode1); const newBal = new BN( - await dnp.darknodeBalances.call(darknode1, dai.address) + await dnp.darknodeBalances(darknode1, dai.address) ); newBal.should.bignumber.equal(oldBal); }); it("should payout the correct amount", async () => { - new BN(await dnp.currentCycleRewardPool.call(dai.address)).gte( - new BN(0) - ).should.be.true; + new BN(await dnp.currentCycleRewardPool(dai.address)).gte(new BN(0)) + .should.be.true; const oldBal = new BN( - await dnp.darknodeBalances.call(darknode1, dai.address) + await dnp.darknodeBalances(darknode1, dai.address) ); const percent = new BN(20); await updatePayoutPercent(percent); @@ -991,17 +997,15 @@ contract("DarknodePayment", (accounts: string[]) => { await waitForEpoch(dnr); // now the current and previous payment amount should be twenty // claiming the rewards for last epoch should be twenty percent - const rewardPool = new BN( - await store.availableBalance.call(dai.address) - ) + const rewardPool = new BN(await store.availableBalance(dai.address)) .div(new BN(100)) .mul(percent); const rewardShare = rewardPool.div( - new BN(await dnr.numDarknodes.call()) + new BN(await dnr.numDarknodes()) ); await tick(darknode1); const newBal = new BN( - await dnp.darknodeBalances.call(darknode1, dai.address) + await dnp.darknodeBalances(darknode1, dai.address) ); newBal.should.bignumber.equal(oldBal.add(rewardShare)); await updatePayoutPercent(config.DARKNODE_PAYOUT_PERCENT); @@ -1010,7 +1014,7 @@ contract("DarknodePayment", (accounts: string[]) => { }); it("can update DarknodeRegistry", async () => { - const darknodeRegistry = await dnp.darknodeRegistry.call(); + const darknodeRegistry = await dnp.darknodeRegistry(); await dnp .updateDarknodeRegistry(NULL) .should.be.rejectedWith( @@ -1034,23 +1038,23 @@ contract("DarknodePayment", (accounts: string[]) => { const withdraw = async (address: string) => { // Our claimed amount should be positive const earnedDAIRewards = new BN( - await dnp.darknodeBalances.call(address, dai.address) + await dnp.darknodeBalances(address, dai.address) ); earnedDAIRewards.gt(new BN(0)).should.be.true; - const oldDAIBalance = new BN(await dai.balanceOf.call(address)); + const oldDAIBalance = new BN(await dai.balanceOf(address)); await dnp.withdraw(address, dai.address); // Our balances should have increased - const newDAIBalance = new BN(await dai.balanceOf.call(address)); + const newDAIBalance = new BN(await dai.balanceOf(address)); newDAIBalance.should.bignumber.equal( oldDAIBalance.add(earnedDAIRewards) ); // We should have nothing left to withdraw const postWithdrawRewards = new BN( - await dnp.darknodeBalances.call(address, dai.address) + await dnp.darknodeBalances(address, dai.address) ); postWithdrawRewards.should.bignumber.equal(new BN(0)); }; @@ -1064,13 +1068,13 @@ contract("DarknodePayment", (accounts: string[]) => { const depositDai = async (amount: number | BN | string) => { const amountBN = new BN(amount); const previousBalance = new BN( - await store.availableBalance.call(dai.address) + await store.availableBalance(dai.address) ); // Approve the contract to use DAI await dai.approve(dnp.address, amountBN); await dnp.deposit(amountBN, dai.address); // We should expect the DAI balance to have increased by what we deposited - (await store.availableBalance.call(dai.address)).should.bignumber.equal( + (await store.availableBalance(dai.address)).should.bignumber.equal( previousBalance.add(amountBN) ); }; @@ -1079,15 +1083,13 @@ contract("DarknodePayment", (accounts: string[]) => { amount: BN | string | number ): Promise => { const balance = new BN(amount); - const payoutPercent = new BN( - await dnp.currentCyclePayoutPercent.call() - ); + const payoutPercent = new BN(await dnp.currentCyclePayoutPercent()); const rewardPool = balance.div(new BN(100)).mul(payoutPercent); return rewardPool; }; const fetchRewardPool = async (token: string): Promise => { - return new BN(await dnp.currentCycleRewardPool.call(token)); + return new BN(await dnp.currentCycleRewardPool(token)); }; const registerDarknode = async (i: number) => { @@ -1100,12 +1102,8 @@ contract("DarknodePayment", (accounts: string[]) => { const updatePayoutPercent = async (percent: number | string | BN) => { const p = new BN(percent); await dnp.updatePayoutPercentage(p); - new BN(await dnp.nextCyclePayoutPercent.call()).should.bignumber.equal( - p - ); + new BN(await dnp.nextCyclePayoutPercent()).should.bignumber.equal(p); await waitForEpoch(dnr); - new BN( - await dnp.currentCyclePayoutPercent.call() - ).should.bignumber.equal(p); + new BN(await dnp.currentCyclePayoutPercent()).should.bignumber.equal(p); }; }); diff --git a/test/DarknodeRegistry.ts b/test/DarknodeRegistry.ts index 412284b4..5778cbe4 100644 --- a/test/DarknodeRegistry.ts +++ b/test/DarknodeRegistry.ts @@ -5,7 +5,8 @@ import { DarknodeRegistryStoreInstance, DarknodeSlasherInstance, RenProxyAdminInstance, - RenTokenInstance + RenTokenInstance, + GetOperatorDarknodesInstance } from "../types/truffle-contracts"; import { deployProxy, @@ -27,6 +28,7 @@ const DarknodeRegistryLogicV1 = artifacts.require("DarknodeRegistryLogicV1"); const DarknodeSlasher = artifacts.require("DarknodeSlasher"); const NormalToken = artifacts.require("NormalToken"); const RenProxyAdmin = artifacts.require("RenProxyAdmin"); +const GetOperatorDarknodes = artifacts.require("GetOperatorDarknodes"); const { config } = require("../migrations/networks"); @@ -60,7 +62,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { }); it("should return empty list when no darknodes are registered", async () => { - const nodes = (await dnr.getPreviousDarknodes.call(NULL, 100)).filter( + const nodes = (await dnr.getPreviousDarknodes(NULL, 100)).filter( x => x !== NULL ); nodes.length.should.equal(0); @@ -69,44 +71,42 @@ contract("DarknodeRegistry", (accounts: string[]) => { it("can update minimum bond", async () => { await dnr.updateMinimumBond(0x1); await waitForEpoch(dnr); - (await dnr.minimumBond.call()).should.bignumber.equal(1); + (await dnr.minimumBond()).should.bignumber.equal(1); await dnr .updateMinimumBond(MINIMUM_BOND, { from: accounts[1] }) .should.be.rejectedWith(/Ownable: caller is not the owner/); await dnr.updateMinimumBond(MINIMUM_BOND); - (await dnr.minimumBond.call()).should.bignumber.equal(1); + (await dnr.minimumBond()).should.bignumber.equal(1); await waitForEpoch(dnr); - (await dnr.minimumBond.call()).should.bignumber.equal(MINIMUM_BOND); + (await dnr.minimumBond()).should.bignumber.equal(MINIMUM_BOND); }); it("can update minimum pod size", async () => { await dnr.updateMinimumPodSize(0x0); await waitForEpoch(dnr); - (await dnr.minimumPodSize.call()).should.bignumber.equal(0); + (await dnr.minimumPodSize()).should.bignumber.equal(0); await dnr .updateMinimumPodSize(MINIMUM_POD_SIZE, { from: accounts[1] }) .should.be.rejectedWith(/Ownable: caller is not the owner/); await dnr.updateMinimumPodSize(MINIMUM_POD_SIZE); - (await dnr.minimumPodSize.call()).should.bignumber.equal(0); + (await dnr.minimumPodSize()).should.bignumber.equal(0); await waitForEpoch(dnr); - (await dnr.minimumPodSize.call()).should.bignumber.equal( - MINIMUM_POD_SIZE - ); + (await dnr.minimumPodSize()).should.bignumber.equal(MINIMUM_POD_SIZE); }); it("can update minimum epoch interval", async () => { await dnr.updateMinimumEpochInterval(0x0); await waitForEpoch(dnr); - (await dnr.minimumEpochInterval.call()).should.bignumber.equal(0); + (await dnr.minimumEpochInterval()).should.bignumber.equal(0); await dnr .updateMinimumEpochInterval(MINIMUM_EPOCH_INTERVAL_SECONDS, { from: accounts[1] }) .should.be.rejectedWith(/Ownable: caller is not the owner/); await dnr.updateMinimumEpochInterval(MINIMUM_EPOCH_INTERVAL_SECONDS); - (await dnr.minimumEpochInterval.call()).should.bignumber.equal(0); + (await dnr.minimumEpochInterval()).should.bignumber.equal(0); await waitForEpoch(dnr); - (await dnr.minimumEpochInterval.call()).should.bignumber.equal( + (await dnr.minimumEpochInterval()).should.bignumber.equal( MINIMUM_EPOCH_INTERVAL_SECONDS ); }); @@ -136,21 +136,44 @@ contract("DarknodeRegistry", (accounts: string[]) => { ); }); - it("can register, deregister and refund Darknodes", async () => { + it("can register, deregister and refund Darknodes", async function() { + this.timeout(1000 * 1000); // [ACTION] Register for (let i = 0; i < numAccounts; i++) { await ren.approve(dnr.address, MINIMUM_BOND, { from: accounts[i] }); await dnr.register(ID(i), PUBK(i), { from: accounts[i] }); } + const nodeCount = 10; + await ren.transfer(accounts[2], MINIMUM_BOND.mul(new BN(nodeCount))); + await ren.approve(dnr.address, MINIMUM_BOND.mul(new BN(nodeCount)), { + from: accounts[2] + }); + + for (let i = numAccounts; i < numAccounts + nodeCount; i++) { + await dnr.register(ID(i), PUBK(i), { from: accounts[2] }); + } + // Wait for epoch await waitForEpoch(dnr); + const getOperatorDarknodes = await GetOperatorDarknodes.new( + dnr.address + ); + + ( + await getOperatorDarknodes.getOperatorDarknodes(accounts[2]) + ).length.should.bignumber.equal(nodeCount + 1); // +1 from the first loop + // [ACTION] Deregister for (let i = 0; i < numAccounts; i++) { await dnr.deregister(ID(i), { from: accounts[i] }); } + for (let i = numAccounts; i < numAccounts + nodeCount; i++) { + await dnr.deregister(ID(i), { from: accounts[2] }); + } + // Wait for two epochs await waitForEpoch(dnr); await waitForEpoch(dnr); @@ -159,6 +182,14 @@ contract("DarknodeRegistry", (accounts: string[]) => { for (let i = 0; i < numAccounts; i++) { await dnr.refund(ID(i), { from: accounts[i] }); } + + for (let i = numAccounts; i < numAccounts + nodeCount; i++) { + await dnr.refund(ID(i), { from: accounts[2] }); + } + + await ren.transfer(accounts[0], MINIMUM_BOND.mul(new BN(nodeCount)), { + from: accounts[2] + }); }); it("can check darknode statuses", async () => { @@ -172,101 +203,101 @@ contract("DarknodeRegistry", (accounts: string[]) => { await waitForEpoch(dnr); // [CHECK] - (await dnr.isRefunded.call(id)).should.be.true; - (await dnr.isPendingRegistration.call(id)).should.be.false; - (await dnr.isRegistered.call(id)).should.be.false; - (await dnr.isDeregisterable.call(id)).should.be.false; - (await dnr.isPendingDeregistration.call(id)).should.be.false; - (await dnr.isDeregistered.call(id)).should.be.false; - (await dnr.isRefundable.call(id)).should.be.false; - (await dnr.isRegisteredInPreviousEpoch.call(id)).should.be.false; + (await dnr.isRefunded(id)).should.be.true; + (await dnr.isPendingRegistration(id)).should.be.false; + (await dnr.isRegistered(id)).should.be.false; + (await dnr.isDeregisterable(id)).should.be.false; + (await dnr.isPendingDeregistration(id)).should.be.false; + (await dnr.isDeregistered(id)).should.be.false; + (await dnr.isRefundable(id)).should.be.false; + (await dnr.isRegisteredInPreviousEpoch(id)).should.be.false; // [ACTION] Register await ren.approve(dnr.address, MINIMUM_BOND, { from: owner }); await dnr.register(id, pubk, { from: owner }); // [CHECK] - (await dnr.isRefunded.call(id)).should.be.false; - (await dnr.isPendingRegistration.call(id)).should.be.true; - (await dnr.isRegistered.call(id)).should.be.false; - (await dnr.isDeregisterable.call(id)).should.be.false; - (await dnr.isPendingDeregistration.call(id)).should.be.false; - (await dnr.isDeregistered.call(id)).should.be.false; - (await dnr.isRefundable.call(id)).should.be.false; - (await dnr.isRegisteredInPreviousEpoch.call(id)).should.be.false; + (await dnr.isRefunded(id)).should.be.false; + (await dnr.isPendingRegistration(id)).should.be.true; + (await dnr.isRegistered(id)).should.be.false; + (await dnr.isDeregisterable(id)).should.be.false; + (await dnr.isPendingDeregistration(id)).should.be.false; + (await dnr.isDeregistered(id)).should.be.false; + (await dnr.isRefundable(id)).should.be.false; + (await dnr.isRegisteredInPreviousEpoch(id)).should.be.false; await waitForEpoch(dnr); // [CHECK] - (await dnr.isRefunded.call(id)).should.be.false; - (await dnr.isPendingRegistration.call(id)).should.be.false; - (await dnr.isRegistered.call(id)).should.be.true; - (await dnr.isDeregisterable.call(id)).should.be.true; - (await dnr.isPendingDeregistration.call(id)).should.be.false; - (await dnr.isDeregistered.call(id)).should.be.false; - (await dnr.isRefundable.call(id)).should.be.false; - (await dnr.isRegisteredInPreviousEpoch.call(id)).should.be.false; + (await dnr.isRefunded(id)).should.be.false; + (await dnr.isPendingRegistration(id)).should.be.false; + (await dnr.isRegistered(id)).should.be.true; + (await dnr.isDeregisterable(id)).should.be.true; + (await dnr.isPendingDeregistration(id)).should.be.false; + (await dnr.isDeregistered(id)).should.be.false; + (await dnr.isRefundable(id)).should.be.false; + (await dnr.isRegisteredInPreviousEpoch(id)).should.be.false; await waitForEpoch(dnr); // [CHECK] - (await dnr.isRefunded.call(id)).should.be.false; - (await dnr.isPendingRegistration.call(id)).should.be.false; - (await dnr.isRegistered.call(id)).should.be.true; - (await dnr.isDeregisterable.call(id)).should.be.true; - (await dnr.isPendingDeregistration.call(id)).should.be.false; - (await dnr.isDeregistered.call(id)).should.be.false; - (await dnr.isRefundable.call(id)).should.be.false; - (await dnr.isRegisteredInPreviousEpoch.call(id)).should.be.true; + (await dnr.isRefunded(id)).should.be.false; + (await dnr.isPendingRegistration(id)).should.be.false; + (await dnr.isRegistered(id)).should.be.true; + (await dnr.isDeregisterable(id)).should.be.true; + (await dnr.isPendingDeregistration(id)).should.be.false; + (await dnr.isDeregistered(id)).should.be.false; + (await dnr.isRefundable(id)).should.be.false; + (await dnr.isRegisteredInPreviousEpoch(id)).should.be.true; // [ACTION] Deregister await dnr.deregister(id, { from: owner }); // [CHECK] - (await dnr.isRefunded.call(id)).should.be.false; - (await dnr.isPendingRegistration.call(id)).should.be.false; - (await dnr.isRegistered.call(id)).should.be.true; - (await dnr.isDeregisterable.call(id)).should.be.false; - (await dnr.isPendingDeregistration.call(id)).should.be.true; - (await dnr.isDeregistered.call(id)).should.be.false; - (await dnr.isRefundable.call(id)).should.be.false; - (await dnr.isRegisteredInPreviousEpoch.call(id)).should.be.true; + (await dnr.isRefunded(id)).should.be.false; + (await dnr.isPendingRegistration(id)).should.be.false; + (await dnr.isRegistered(id)).should.be.true; + (await dnr.isDeregisterable(id)).should.be.false; + (await dnr.isPendingDeregistration(id)).should.be.true; + (await dnr.isDeregistered(id)).should.be.false; + (await dnr.isRefundable(id)).should.be.false; + (await dnr.isRegisteredInPreviousEpoch(id)).should.be.true; // [ACTION] Wait for epoch await waitForEpoch(dnr); - (await dnr.isRefunded.call(id)).should.be.false; - (await dnr.isPendingRegistration.call(id)).should.be.false; - (await dnr.isRegistered.call(id)).should.be.false; - (await dnr.isDeregisterable.call(id)).should.be.false; - (await dnr.isPendingDeregistration.call(id)).should.be.false; - (await dnr.isDeregistered.call(id)).should.be.true; - (await dnr.isRefundable.call(id)).should.be.false; - (await dnr.isRegisteredInPreviousEpoch.call(id)).should.be.true; + (await dnr.isRefunded(id)).should.be.false; + (await dnr.isPendingRegistration(id)).should.be.false; + (await dnr.isRegistered(id)).should.be.false; + (await dnr.isDeregisterable(id)).should.be.false; + (await dnr.isPendingDeregistration(id)).should.be.false; + (await dnr.isDeregistered(id)).should.be.true; + (await dnr.isRefundable(id)).should.be.false; + (await dnr.isRegisteredInPreviousEpoch(id)).should.be.true; // [ACTION] Wait for epoch await waitForEpoch(dnr); - (await dnr.isRefunded.call(id)).should.be.false; - (await dnr.isPendingRegistration.call(id)).should.be.false; - (await dnr.isRegistered.call(id)).should.be.false; - (await dnr.isDeregisterable.call(id)).should.be.false; - (await dnr.isPendingDeregistration.call(id)).should.be.false; - (await dnr.isDeregistered.call(id)).should.be.true; - (await dnr.isRefundable.call(id)).should.be.true; - (await dnr.isRegisteredInPreviousEpoch.call(id)).should.be.false; + (await dnr.isRefunded(id)).should.be.false; + (await dnr.isPendingRegistration(id)).should.be.false; + (await dnr.isRegistered(id)).should.be.false; + (await dnr.isDeregisterable(id)).should.be.false; + (await dnr.isPendingDeregistration(id)).should.be.false; + (await dnr.isDeregistered(id)).should.be.true; + (await dnr.isRefundable(id)).should.be.true; + (await dnr.isRegisteredInPreviousEpoch(id)).should.be.false; // [ACTION] Refund await dnr.refund(id, { from: accounts[0] }); - (await dnr.isRefunded.call(id)).should.be.true; - (await dnr.isPendingRegistration.call(id)).should.be.false; - (await dnr.isRegistered.call(id)).should.be.false; - (await dnr.isDeregisterable.call(id)).should.be.false; - (await dnr.isPendingDeregistration.call(id)).should.be.false; - (await dnr.isDeregistered.call(id)).should.be.false; - (await dnr.isRefundable.call(id)).should.be.false; - (await dnr.isRegisteredInPreviousEpoch.call(id)).should.be.false; + (await dnr.isRefunded(id)).should.be.true; + (await dnr.isPendingRegistration(id)).should.be.false; + (await dnr.isRegistered(id)).should.be.false; + (await dnr.isDeregisterable(id)).should.be.false; + (await dnr.isPendingDeregistration(id)).should.be.false; + (await dnr.isDeregistered(id)).should.be.false; + (await dnr.isRefundable(id)).should.be.false; + (await dnr.isRegisteredInPreviousEpoch(id)).should.be.false; }); it("bond is exactly the minimum bond", async () => { @@ -274,7 +305,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { const id = ID("0"); const pubk = PUBK("0"); - const renBalanceBefore = new BN(await ren.balanceOf.call(owner)); + const renBalanceBefore = new BN(await ren.balanceOf(owner)); // Approve more than minimum bond await ren.approve(dnr.address, MINIMUM_BOND.mul(new BN(2)), { @@ -285,7 +316,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { await dnr.register(id, pubk, { from: owner }); // Only minimum bond should have been transferred - (await ren.balanceOf.call(owner)).should.bignumber.equal( + (await ren.balanceOf(owner)).should.bignumber.equal( renBalanceBefore.sub(MINIMUM_BOND) ); @@ -327,17 +358,17 @@ contract("DarknodeRegistry", (accounts: string[]) => { }); it("can get the owner of the Dark Node", async () => { - (await dnr.getDarknodeOperator.call(ID("0"))).should.equal(accounts[0]); + (await dnr.getDarknodeOperator(ID("0"))).should.equal(accounts[0]); }); it("can get the bond of the Dark Node", async () => { - (await dnr.getDarknodeBond.call(ID("0"))).should.bignumber.equal( + (await dnr.getDarknodeBond(ID("0"))).should.bignumber.equal( MINIMUM_BOND ); }); it("can get the Public Key of the Dark Node", async () => { - (await dnr.getDarknodePublicKey.call(ID("0"))).should.equal(PUBK("0")); + (await dnr.getDarknodePublicKey(ID("0"))).should.equal(PUBK("0")); }); it("can deregister dark nodes", async () => { @@ -348,12 +379,12 @@ contract("DarknodeRegistry", (accounts: string[]) => { await dnr.deregister(ID("8"), { from: accounts[8] }); await dnr.deregister(ID("9"), { from: accounts[9] }); await waitForEpoch(dnr); - (await dnr.isDeregistered.call(ID("0"))).should.be.true; - (await dnr.isDeregistered.call(ID("1"))).should.be.true; - (await dnr.isDeregistered.call(ID("4"))).should.be.true; - (await dnr.isDeregistered.call(ID("5"))).should.be.true; - (await dnr.isDeregistered.call(ID("8"))).should.be.true; - (await dnr.isDeregistered.call(ID("9"))).should.be.true; + (await dnr.isDeregistered(ID("0"))).should.be.true; + (await dnr.isDeregistered(ID("1"))).should.be.true; + (await dnr.isDeregistered(ID("4"))).should.be.true; + (await dnr.isDeregistered(ID("5"))).should.be.true; + (await dnr.isDeregistered(ID("8"))).should.be.true; + (await dnr.isDeregistered(ID("9"))).should.be.true; }); it("can't deregister twice", async () => { @@ -363,9 +394,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { }); it("can get the current epoch's registered dark nodes", async () => { - const nodes = (await dnr.getDarknodes.call(NULL, 0)).filter( - x => x !== NULL - ); + const nodes = (await dnr.getDarknodes(NULL, 0)).filter(x => x !== NULL); nodes.length.should.equal(numAccounts - 6); nodes[0].should.equal(ID("2")); nodes[1].should.equal(ID("3")); @@ -374,14 +403,14 @@ contract("DarknodeRegistry", (accounts: string[]) => { }); it("can get the previous epoch's registered dark nodes", async () => { - let nodes = (await dnr.getPreviousDarknodes.call(NULL, 0)).filter( + let nodes = (await dnr.getPreviousDarknodes(NULL, 0)).filter( x => x !== NULL ); nodes.length.should.equal(numAccounts); await waitForEpoch(dnr); - nodes = (await dnr.getPreviousDarknodes.call(NULL, 0)).filter( + nodes = (await dnr.getPreviousDarknodes(NULL, 0)).filter( x => x !== NULL ); nodes.length.should.equal(numAccounts - 6); @@ -392,7 +421,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { let start = NULL; do { - const newNodes = await dnr.getDarknodes.call(start, 2); + const newNodes = await dnr.getDarknodes(start, 2); start = newNodes[newNodes.length - 1]; for (const node of newNodes) { if (node !== NULL && nodes.indexOf(node) === -1) { @@ -413,7 +442,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { let start = NULL; do { - const newNodes = await dnr.getPreviousDarknodes.call(start, 2); + const newNodes = await dnr.getPreviousDarknodes(start, 2); start = newNodes[newNodes.length - 1]; for (const node of newNodes) { if (node !== NULL && nodes.indexOf(node) === -1) { @@ -442,36 +471,36 @@ contract("DarknodeRegistry", (accounts: string[]) => { await dnr.deregister(ID("6"), { from: accounts[6] }); await dnr.deregister(ID("7"), { from: accounts[7] }); - (await dnr.isPendingDeregistration.call(ID("2"))).should.be.true; - (await dnr.isPendingDeregistration.call(ID("3"))).should.be.true; - (await dnr.isPendingDeregistration.call(ID("6"))).should.be.true; - (await dnr.isPendingDeregistration.call(ID("7"))).should.be.true; + (await dnr.isPendingDeregistration(ID("2"))).should.be.true; + (await dnr.isPendingDeregistration(ID("3"))).should.be.true; + (await dnr.isPendingDeregistration(ID("6"))).should.be.true; + (await dnr.isPendingDeregistration(ID("7"))).should.be.true; // Call epoch await waitForEpoch(dnr); - (await dnr.isRegisteredInPreviousEpoch.call(ID("2"))).should.be.true; - (await dnr.isRegisteredInPreviousEpoch.call(ID("3"))).should.be.true; - (await dnr.isRegisteredInPreviousEpoch.call(ID("6"))).should.be.true; - (await dnr.isRegisteredInPreviousEpoch.call(ID("7"))).should.be.true; - (await dnr.isDeregistered.call(ID("2"))).should.be.true; - (await dnr.isDeregistered.call(ID("3"))).should.be.true; - (await dnr.isDeregistered.call(ID("6"))).should.be.true; - (await dnr.isDeregistered.call(ID("7"))).should.be.true; + (await dnr.isRegisteredInPreviousEpoch(ID("2"))).should.be.true; + (await dnr.isRegisteredInPreviousEpoch(ID("3"))).should.be.true; + (await dnr.isRegisteredInPreviousEpoch(ID("6"))).should.be.true; + (await dnr.isRegisteredInPreviousEpoch(ID("7"))).should.be.true; + (await dnr.isDeregistered(ID("2"))).should.be.true; + (await dnr.isDeregistered(ID("3"))).should.be.true; + (await dnr.isDeregistered(ID("6"))).should.be.true; + (await dnr.isDeregistered(ID("7"))).should.be.true; const previousDarknodesEpoch1 = ( - await dnr.getPreviousDarknodes.call(NULL, 0) + await dnr.getPreviousDarknodes(NULL, 0) ).filter(x => x !== NULL); await waitForEpoch(dnr); const previousDarknodesEpoch2 = ( - await dnr.getPreviousDarknodes.call(NULL, 0) + await dnr.getPreviousDarknodes(NULL, 0) ).filter(x => x !== NULL); ( previousDarknodesEpoch1.length - previousDarknodesEpoch2.length ).should.be.equal(4); - (await dnr.isDeregistered.call(ID("2"))).should.be.true; - (await dnr.isDeregistered.call(ID("3"))).should.be.true; - (await dnr.isDeregistered.call(ID("6"))).should.be.true; - (await dnr.isDeregistered.call(ID("7"))).should.be.true; + (await dnr.isDeregistered(ID("2"))).should.be.true; + (await dnr.isDeregistered(ID("3"))).should.be.true; + (await dnr.isDeregistered(ID("6"))).should.be.true; + (await dnr.isDeregistered(ID("7"))).should.be.true; // Refund await dnr.refund(ID("2"), { from: accounts[2] }); @@ -479,22 +508,14 @@ contract("DarknodeRegistry", (accounts: string[]) => { await dnr.refund(ID("6"), { from: accounts[6] }); await dnr.refund(ID("7"), { from: accounts[7] }); - (await dnr.isRefunded.call(ID("2"))).should.be.true; - (await dnr.isRefunded.call(ID("3"))).should.be.true; - (await dnr.isRefunded.call(ID("6"))).should.be.true; - (await dnr.isRefunded.call(ID("7"))).should.be.true; - (await ren.balanceOf.call(accounts[2])).should.bignumber.equal( - MINIMUM_BOND - ); - (await ren.balanceOf.call(accounts[3])).should.bignumber.equal( - MINIMUM_BOND - ); - (await ren.balanceOf.call(accounts[6])).should.bignumber.equal( - MINIMUM_BOND - ); - (await ren.balanceOf.call(accounts[7])).should.bignumber.equal( - MINIMUM_BOND - ); + (await dnr.isRefunded(ID("2"))).should.be.true; + (await dnr.isRefunded(ID("3"))).should.be.true; + (await dnr.isRefunded(ID("6"))).should.be.true; + (await dnr.isRefunded(ID("7"))).should.be.true; + (await ren.balanceOf(accounts[2])).should.bignumber.equal(MINIMUM_BOND); + (await ren.balanceOf(accounts[3])).should.bignumber.equal(MINIMUM_BOND); + (await ren.balanceOf(accounts[6])).should.bignumber.equal(MINIMUM_BOND); + (await ren.balanceOf(accounts[7])).should.bignumber.equal(MINIMUM_BOND); }); it("anyone can refund", async () => { @@ -507,7 +528,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { await dnr.register(id, pubk, { from: owner }); await waitForEpoch(dnr); await dnr.deregister(id, { from: owner }); - (await dnr.isPendingDeregistration.call(id)).should.be.true; + (await dnr.isPendingDeregistration(id)).should.be.true; await waitForEpoch(dnr); await waitForEpoch(dnr); @@ -515,8 +536,8 @@ contract("DarknodeRegistry", (accounts: string[]) => { await dnr.refund(id, { from: accounts[0] }); // [CHECK] Refund was successful and bond was returned - (await dnr.isRefunded.call(id)).should.be.true; - (await ren.balanceOf.call(owner)).should.bignumber.equal(MINIMUM_BOND); + (await dnr.isRefunded(id)).should.be.true; + (await ren.balanceOf(owner)).should.bignumber.equal(MINIMUM_BOND); }); it("should fail to refund twice", async () => { @@ -555,7 +576,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { }); it("can update DarknodePayment", async () => { - const darknodePayment = await dnr.darknodePayment.call(); + const darknodePayment = await dnr.darknodePayment(); await dnr .updateDarknodePayment(NULL) .should.be.rejectedWith( @@ -572,7 +593,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { await dnr.updateSlasher(newSlasher); await waitForEpoch(dnr); - (await dnr.slasher.call()).should.equal(newSlasher); + (await dnr.slasher()).should.equal(newSlasher); await dnr .slash(ID("2"), newSlasher, new BN(70)) .should.be.rejectedWith(/DarknodeRegistry: invalid darknode/); @@ -580,7 +601,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { // Reset slasher address await dnr.updateSlasher(slasher.address); await waitForEpoch(dnr); - (await dnr.slasher.call()).should.equal(slasher.address); + (await dnr.slasher()).should.equal(slasher.address); }); it("cannot slash with an invalid percent", async () => { @@ -588,7 +609,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { const newSlasher = accounts[0]; await dnr.updateSlasher(newSlasher); await waitForEpoch(dnr); - (await dnr.slasher.call()).should.equal(newSlasher); + (await dnr.slasher()).should.equal(newSlasher); // Register darknode 3 await ren.approve(dnr.address, MINIMUM_BOND, { from: accounts[2] }); @@ -608,25 +629,25 @@ contract("DarknodeRegistry", (accounts: string[]) => { // Reset slasher await dnr.updateSlasher(slasher.address); await waitForEpoch(dnr); - (await dnr.slasher.call()).should.equal(slasher.address); + (await dnr.slasher()).should.equal(slasher.address); // De-register darknode 3 await dnr.deregister(ID("2"), { from: accounts[2] }); - (await dnr.isPendingDeregistration.call(ID("2"))).should.be.true; + (await dnr.isPendingDeregistration(ID("2"))).should.be.true; // Call epoch await waitForEpoch(dnr); await waitForEpoch(dnr); - (await dnr.isDeregistered.call(ID("2"))).should.be.true; + (await dnr.isDeregistered(ID("2"))).should.be.true; // Refund darknode 3 await dnr.refund(ID("2"), { from: accounts[2] }); - (await dnr.isRefunded.call(ID("2"))).should.be.true; + (await dnr.isRefunded(ID("2"))).should.be.true; }); it("can update slasher address", async () => { // [CHECK] This test assumes different previous and new slashers - const previousSlasher = await dnr.slasher.call(); + const previousSlasher = await dnr.slasher(); const newSlasher = accounts[3]; previousSlasher.should.not.equal(newSlasher); @@ -640,16 +661,16 @@ contract("DarknodeRegistry", (accounts: string[]) => { // [ACTION] Update slasher address await dnr.updateSlasher(newSlasher); // [CHECK] Verify the address hasn't changed before an epoch - (await dnr.slasher.call()).should.equal(previousSlasher); + (await dnr.slasher()).should.equal(previousSlasher); // [CHECK] Verify the new slasher address after an epoch await waitForEpoch(dnr); - (await dnr.slasher.call()).should.equal(newSlasher); + (await dnr.slasher()).should.equal(newSlasher); // [RESET] Reset the slasher address to the previous slasher address await dnr.updateSlasher(previousSlasher); await waitForEpoch(dnr); - (await dnr.slasher.call()).should.equal(previousSlasher); + (await dnr.slasher()).should.equal(previousSlasher); }); it("anyone except the slasher can not call slash", async () => { @@ -722,13 +743,13 @@ contract("DarknodeRegistry", (accounts: string[]) => { await dnr.transferStoreOwnership(newDnr.address); // [CHECK] Owner should still be the DNR - (await dnrs.owner.call()).should.equal(newDnr.address); + (await dnrs.owner()).should.equal(newDnr.address); // [RESET] Initiate ownership transfer back to DNR await newDnr.transferStoreOwnership(dnr.address); // [CHECK] Owner should now be the DNR - (await dnrs.owner.call()).should.equal(dnr.address); + (await dnrs.owner()).should.equal(dnr.address); }); it("can't arbitrarily increase bond", async () => { @@ -738,17 +759,15 @@ contract("DarknodeRegistry", (accounts: string[]) => { await claimer.transferStoreOwnership(accounts[0]); await dnrs.claimOwnership({ from: accounts[0] }); - const previousRenBalance = new BN( - await ren.balanceOf.call(accounts[0]) - ); + const previousRenBalance = new BN(await ren.balanceOf(accounts[0])); // [ACTION] Decrease bond (used for bond slashing) const difference = new BN(1); - const previousBond = new BN(await dnrs.darknodeBond.call(ID("7"))); + const previousBond = new BN(await dnrs.darknodeBond(ID("7"))); await dnrs.updateDarknodeBond(ID("7"), previousBond.sub(difference)); // [CHECK] Decreasing bond transfers different to owner - const afterRenBalance = new BN(await ren.balanceOf.call(accounts[0])); + const afterRenBalance = new BN(await ren.balanceOf(accounts[0])); afterRenBalance .sub(previousRenBalance) .should.be.bignumber.equal(difference); @@ -799,11 +818,11 @@ contract("DarknodeRegistry", (accounts: string[]) => { // Recover REN const initialRenBalance = new BN( - (await ren.balanceOf.call(accounts[0])).toString() + (await ren.balanceOf(accounts[0])).toString() ); await dnr.recoverTokens(ren.address, { from: accounts[0] }); const finalRenBalance = new BN( - (await ren.balanceOf.call(accounts[0])).toString() + (await ren.balanceOf(accounts[0])).toString() ); finalRenBalance.sub(initialRenBalance).should.bignumber.equal(1000); @@ -829,7 +848,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { await ren.transfer(dnrs.address, 1000); const initialRenBalance = new BN( - (await ren.balanceOf.call(accounts[0])).toString() + (await ren.balanceOf(accounts[0])).toString() ); // Can't recover REN @@ -846,11 +865,11 @@ contract("DarknodeRegistry", (accounts: string[]) => { // Can recover unrelated token const initialTokenBalance = new BN( - (await token.balanceOf.call(accounts[0])).toString() + (await token.balanceOf(accounts[0])).toString() ); await dnrs.recoverTokens(token.address, { from: accounts[0] }); const finalTokenBalance = new BN( - (await token.balanceOf.call(accounts[0])).toString() + (await token.balanceOf(accounts[0])).toString() ); finalTokenBalance .sub(initialTokenBalance) @@ -867,7 +886,7 @@ contract("DarknodeRegistry", (accounts: string[]) => { // Check that no REN was transferred const finalRenBalance = new BN( - (await ren.balanceOf.call(accounts[0])).toString() + (await ren.balanceOf(accounts[0])).toString() ); finalRenBalance.should.bignumber.equal(initialRenBalance); @@ -918,16 +937,14 @@ contract("DarknodeRegistry", (accounts: string[]) => { }); it("cannot slash", async () => { - (await newDNR.owner.call()).should.equal(accounts[0]); + (await newDNR.owner()).should.equal(accounts[0]); const newSlasher = accounts[0]; await newDNR.updateSlasher(newSlasher); await waitForEpoch(newDNR); - (await newDNR.slasher.call()).should.equal(newSlasher); + (await newDNR.slasher()).should.equal(newSlasher); // We should have enough balance to register a darknode - if ( - new BN(await ren.balanceOf.call(accounts[8])).lt(MINIMUM_BOND) - ) { + if (new BN(await ren.balanceOf(accounts[8])).lt(MINIMUM_BOND)) { await ren.transfer(accounts[8], MINIMUM_BOND); } await ren.approve(newDNR.address, MINIMUM_BOND, { @@ -958,13 +975,13 @@ contract("DarknodeRegistry", (accounts: string[]) => { await waitForEpoch(dnr); preCountPreviousEpoch = new BN( - (await dnr.numDarknodesPreviousEpoch.call()).toString() + (await dnr.numDarknodesPreviousEpoch()).toString() ); - preCount = new BN((await dnr.numDarknodes.call()).toString()); + preCount = new BN((await dnr.numDarknodes()).toString()); preCountNextEpoch = new BN( - (await dnr.numDarknodesNextEpoch.call()).toString() + (await dnr.numDarknodesNextEpoch()).toString() ); - preDarknodes = await dnr.getDarknodes.call(NULL, 0); + preDarknodes = await dnr.getDarknodes(NULL, 0); // Deploy a new DNR and DNR store newDNR = await deployProxy( @@ -1000,19 +1017,19 @@ contract("DarknodeRegistry", (accounts: string[]) => { await waitForEpoch(dnr); new BN( - (await dnr.numDarknodes.call()).toString() + (await dnr.numDarknodes()).toString() ).should.bignumber.equal(preCount.add(new BN(1))); }); it("number of darknodes is correct", async () => { const countPreviousEpoch = new BN( - (await newDNR.numDarknodesPreviousEpoch.call()).toString() + (await newDNR.numDarknodesPreviousEpoch()).toString() ); - const count = new BN((await newDNR.numDarknodes.call()).toString()); + const count = new BN((await newDNR.numDarknodes()).toString()); const countNextEpoch = new BN( - (await newDNR.numDarknodesNextEpoch.call()).toString() + (await newDNR.numDarknodesNextEpoch()).toString() ); - const darknodes = await newDNR.getDarknodes.call(NULL, 0); + const darknodes = await newDNR.getDarknodes(NULL, 0); countPreviousEpoch.should.bignumber.equal(preCountPreviousEpoch); count.should.bignumber.equal(preCount); @@ -1023,13 +1040,13 @@ contract("DarknodeRegistry", (accounts: string[]) => { await newDNR.register(ID("10"), PUBK("10")); new BN( - (await newDNR.numDarknodesNextEpoch.call()).toString() + (await newDNR.numDarknodesNextEpoch()).toString() ).should.bignumber.equal(countNextEpoch.add(new BN(1))); await waitForEpoch(newDNR); new BN( - (await newDNR.numDarknodes.call()).toString() + (await newDNR.numDarknodes()).toString() ).should.bignumber.equal(count.add(new BN(1))); }); }); @@ -1063,12 +1080,12 @@ contract("DarknodeRegistry", (accounts: string[]) => { let start = NULL; do { - const nodes = await dnr.getDarknodes.call(start, 50); + const nodes = await dnr.getDarknodes(start, 50); console.debug(nodes); start = nodes[nodes.length - 1]; } while (start !== NULL); - const numDarknodes = await dnr.numDarknodes.call(); + const numDarknodes = await dnr.numDarknodes(); numDarknodes.should.bignumber.equal(MAX_DARKNODES); for (let i = 0; i < MAX_DARKNODES; i++) { diff --git a/test/DarknodeSlasher.ts b/test/DarknodeSlasher.ts index 598d85b2..26c80d1d 100644 --- a/test/DarknodeSlasher.ts +++ b/test/DarknodeSlasher.ts @@ -74,55 +74,43 @@ contract("DarknodeSlasher", (accounts: string[]) => { it("can set a valid blacklist percentage", async () => { const p1 = new BN("1"); await slasher.setBlacklistSlashPercent(p1); - (await slasher.blacklistSlashPercent.call()).should.bignumber.equal( - p1 - ); + (await slasher.blacklistSlashPercent()).should.bignumber.equal(p1); const p2 = new BN("10"); await slasher.setBlacklistSlashPercent(p2); - (await slasher.blacklistSlashPercent.call()).should.bignumber.equal( - p2 - ); + (await slasher.blacklistSlashPercent()).should.bignumber.equal(p2); const p3 = new BN("12"); await slasher.setBlacklistSlashPercent(p3); - (await slasher.blacklistSlashPercent.call()).should.bignumber.equal( - p3 - ); + (await slasher.blacklistSlashPercent()).should.bignumber.equal(p3); }); it("can set a valid malicious percentage", async () => { const p1 = new BN("1"); await slasher.setMaliciousSlashPercent(p1); - (await slasher.maliciousSlashPercent.call()).should.bignumber.equal( - p1 - ); + (await slasher.maliciousSlashPercent()).should.bignumber.equal(p1); const p2 = new BN("10"); await slasher.setMaliciousSlashPercent(p2); - (await slasher.maliciousSlashPercent.call()).should.bignumber.equal( - p2 - ); + (await slasher.maliciousSlashPercent()).should.bignumber.equal(p2); const p3 = new BN("12"); await slasher.setMaliciousSlashPercent(p3); - (await slasher.maliciousSlashPercent.call()).should.bignumber.equal( - p3 - ); + (await slasher.maliciousSlashPercent()).should.bignumber.equal(p3); }); it("can set a valid secret reveal percentage", async () => { const p1 = new BN("1"); await slasher.setSecretRevealSlashPercent(p1); - ( - await slasher.secretRevealSlashPercent.call() - ).should.bignumber.equal(p1); + (await slasher.secretRevealSlashPercent()).should.bignumber.equal( + p1 + ); const p2 = new BN("10"); await slasher.setSecretRevealSlashPercent(p2); - ( - await slasher.secretRevealSlashPercent.call() - ).should.bignumber.equal(p2); + (await slasher.secretRevealSlashPercent()).should.bignumber.equal( + p2 + ); const p3 = new BN("12"); await slasher.setSecretRevealSlashPercent(p3); - ( - await slasher.secretRevealSlashPercent.call() - ).should.bignumber.equal(p3); + (await slasher.secretRevealSlashPercent()).should.bignumber.equal( + p3 + ); }); it("cannot set an invalid blacklist percentage", async () => { @@ -508,7 +496,7 @@ contract("DarknodeSlasher", (accounts: string[]) => { const caller = accounts[1]; const darknodeBond = new BN( - await dnr.getDarknodeBond.call(darknode.account.address) + await dnr.getDarknodeBond(darknode.account.address) ); // first slash should pass @@ -526,15 +514,13 @@ contract("DarknodeSlasher", (accounts: string[]) => { } ); - const slashPercent = new BN( - await slasher.maliciousSlashPercent.call() - ); + const slashPercent = new BN(await slasher.maliciousSlashPercent()); const slashedAmount = darknodeBond .div(new BN(100)) .mul(slashPercent); const newDarknodeBond = new BN( - await dnr.getDarknodeBond.call(darknode.account.address) + await dnr.getDarknodeBond(darknode.account.address) ); newDarknodeBond.should.bignumber.equal( darknodeBond.sub(slashedAmount) @@ -600,7 +586,7 @@ contract("DarknodeSlasher", (accounts: string[]) => { const caller = accounts[1]; const darknodeBond = new BN( - await dnr.getDarknodeBond.call(darknode.account.address) + await dnr.getDarknodeBond(darknode.account.address) ); // first slash should pass @@ -616,15 +602,13 @@ contract("DarknodeSlasher", (accounts: string[]) => { } ); - const slashPercent = new BN( - await slasher.maliciousSlashPercent.call() - ); + const slashPercent = new BN(await slasher.maliciousSlashPercent()); const slashedAmount = darknodeBond .div(new BN(100)) .mul(slashPercent); const newDarknodeBond = new BN( - await dnr.getDarknodeBond.call(darknode.account.address) + await dnr.getDarknodeBond(darknode.account.address) ); newDarknodeBond.should.bignumber.equal( darknodeBond.sub(slashedAmount) @@ -688,7 +672,7 @@ contract("DarknodeSlasher", (accounts: string[]) => { const caller = accounts[1]; const darknodeBond = new BN( - await dnr.getDarknodeBond.call(darknode.account.address) + await dnr.getDarknodeBond(darknode.account.address) ); // first slash should pass @@ -704,15 +688,13 @@ contract("DarknodeSlasher", (accounts: string[]) => { } ); - const slashPercent = new BN( - await slasher.maliciousSlashPercent.call() - ); + const slashPercent = new BN(await slasher.maliciousSlashPercent()); const slashedAmount = darknodeBond .div(new BN(100)) .mul(slashPercent); const newDarknodeBond = new BN( - await dnr.getDarknodeBond.call(darknode.account.address) + await dnr.getDarknodeBond(darknode.account.address) ); newDarknodeBond.should.bignumber.equal( darknodeBond.sub(slashedAmount) @@ -769,7 +751,7 @@ contract("DarknodeSlasher", (accounts: string[]) => { }); it("can update DarknodeRegistry", async () => { - const darknodeRegistry = await slasher.darknodeRegistry.call(); + const darknodeRegistry = await slasher.darknodeRegistry(); await slasher .updateDarknodeRegistry(NULL) .should.be.rejectedWith( diff --git a/test/ERC20WithFees.ts b/test/ERC20WithFees.ts index cc19d121..6f117a6f 100644 --- a/test/ERC20WithFees.ts +++ b/test/ERC20WithFees.ts @@ -55,26 +55,26 @@ contract("ERC20WithFees", accounts => { it("approve and transferFrom", async () => { // Get balances before depositing - const before = new BN(await token.balanceOf.call(accounts[0])); - const after = new BN(await token.balanceOf.call(mock.address)); + const before = new BN(await token.balanceOf(accounts[0])); + const after = new BN(await token.balanceOf(mock.address)); // Approve and deposit await token.approve(mock.address, VALUE); await mock.deposit(token.address, VALUE); // Compare balances after depositing - ( - await token.balanceOf.call(accounts[0]) - ).should.bignumber.equal(before.sub(new BN(VALUE))); - ( - await token.balanceOf.call(mock.address) - ).should.bignumber.equal(after.add(new BN(VALUE.sub(FEE)))); + (await token.balanceOf(accounts[0])).should.bignumber.equal( + before.sub(new BN(VALUE)) + ); + (await token.balanceOf(mock.address)).should.bignumber.equal( + after.add(new BN(VALUE.sub(FEE))) + ); }); it("transfer", async () => { // Get balances before depositing - const before = new BN(await token.balanceOf.call(accounts[0])); - const after = new BN(await token.balanceOf.call(mock.address)); + const before = new BN(await token.balanceOf(accounts[0])); + const after = new BN(await token.balanceOf(mock.address)); const NEW_VALUE = VALUE.sub(FEE); const NEW_FEE = NEW_VALUE.mul(new BN(testCase.fees)).div( @@ -85,20 +85,18 @@ contract("ERC20WithFees", accounts => { await mock.withdraw(token.address, NEW_VALUE); // Compare balances after depositing - ( - await token.balanceOf.call(accounts[0]) - ).should.bignumber.equal( + (await token.balanceOf(accounts[0])).should.bignumber.equal( before.add(new BN(NEW_VALUE.sub(NEW_FEE))) ); - ( - await token.balanceOf.call(mock.address) - ).should.bignumber.equal(after.sub(new BN(NEW_VALUE))); + (await token.balanceOf(mock.address)).should.bignumber.equal( + after.sub(new BN(NEW_VALUE)) + ); }); it("throws for invalid transferFrom", async () => { // Get balances before depositing - const before = new BN(await token.balanceOf.call(accounts[0])); - const after = new BN(await token.balanceOf.call(mock.address)); + const before = new BN(await token.balanceOf(accounts[0])); + const after = new BN(await token.balanceOf(mock.address)); // Approve and deposit await token.approve(mock.address, 0); @@ -109,18 +107,18 @@ contract("ERC20WithFees", accounts => { ); // Compare balances after depositing - ( - await token.balanceOf.call(accounts[0]) - ).should.bignumber.equal(before); - ( - await token.balanceOf.call(mock.address) - ).should.bignumber.equal(after); + (await token.balanceOf(accounts[0])).should.bignumber.equal( + before + ); + (await token.balanceOf(mock.address)).should.bignumber.equal( + after + ); }); it("throws for invalid transferFrom (with fee)", async () => { // Get balances before depositing - const before = new BN(await token.balanceOf.call(accounts[0])); - const after = new BN(await token.balanceOf.call(mock.address)); + const before = new BN(await token.balanceOf(accounts[0])); + const after = new BN(await token.balanceOf(mock.address)); // Approve and deposit await token.approve(mock.address, 0); @@ -131,18 +129,18 @@ contract("ERC20WithFees", accounts => { ); // Compare balances after depositing - ( - await token.balanceOf.call(accounts[0]) - ).should.bignumber.equal(before); - ( - await token.balanceOf.call(mock.address) - ).should.bignumber.equal(after); + (await token.balanceOf(accounts[0])).should.bignumber.equal( + before + ); + (await token.balanceOf(mock.address)).should.bignumber.equal( + after + ); }); it("throws for invalid transfer", async () => { // Get balances before depositing - const before = new BN(await token.balanceOf.call(accounts[0])); - const after = new BN(await token.balanceOf.call(mock.address)); + const before = new BN(await token.balanceOf(accounts[0])); + const after = new BN(await token.balanceOf(mock.address)); // Withdraw await mock @@ -152,12 +150,12 @@ contract("ERC20WithFees", accounts => { ); // Compare balances after depositing - ( - await token.balanceOf.call(accounts[0]) - ).should.bignumber.equal(before); - ( - await token.balanceOf.call(mock.address) - ).should.bignumber.equal(after); + (await token.balanceOf(accounts[0])).should.bignumber.equal( + before + ); + (await token.balanceOf(mock.address)).should.bignumber.equal( + after + ); }); it("throws for invalid approve", async () => { @@ -171,8 +169,8 @@ contract("ERC20WithFees", accounts => { ); // Get balances before transferring back - const before = new BN(await token.balanceOf.call(accounts[0])); - const after = new BN(await token.balanceOf.call(mock.address)); + const before = new BN(await token.balanceOf(accounts[0])); + const after = new BN(await token.balanceOf(mock.address)); // Approve twice without resetting allowance await mock.approve(token.address, NEW_VALUE); @@ -196,20 +194,18 @@ contract("ERC20WithFees", accounts => { ).div(new BN(1000)); // Compare balances after depositing - ( - await token.balanceOf.call(accounts[0]) - ).should.bignumber.equal( + (await token.balanceOf(accounts[0])).should.bignumber.equal( before.add(new BN(NEW_NEW_VALUE.sub(NEW_NEW_FEE))) ); - ( - await token.balanceOf.call(mock.address) - ).should.bignumber.equal(after.sub(new BN(NEW_NEW_VALUE))); + (await token.balanceOf(mock.address)).should.bignumber.equal( + after.sub(new BN(NEW_NEW_VALUE)) + ); }); it("throws for naive deposit if it has fees", async () => { // Get balances before depositing - const before = new BN(await token.balanceOf.call(accounts[0])); - const after = new BN(await token.balanceOf.call(mock.address)); + const before = new BN(await token.balanceOf(accounts[0])); + const after = new BN(await token.balanceOf(mock.address)); // Approve and deposit await token.approve(mock.address, VALUE); @@ -224,13 +220,11 @@ contract("ERC20WithFees", accounts => { await mock.naiveDeposit(token.address, VALUE); // Compare balances after depositing - ( - await token.balanceOf.call(accounts[0]) - ).should.bignumber.equal( + (await token.balanceOf(accounts[0])).should.bignumber.equal( before.sub(new BN(VALUE.sub(FEE))) ); ( - await token.balanceOf.call(mock.address) + await token.balanceOf(mock.address) ).should.bignumber.equal(after.add(new BN(VALUE))); } }); diff --git a/test/ERC20WithPermit.ts b/test/ERC20WithPermit.ts deleted file mode 100644 index cfa6e00f..00000000 --- a/test/ERC20WithPermit.ts +++ /dev/null @@ -1,311 +0,0 @@ -import BN from "bn.js"; -import { rawEncode, solidityPack } from "ethereumjs-abi"; -import { - ecrecover, - ecsign, - isValidSignature, - keccak256, - pubToAddress -} from "ethereumjs-util"; -import { toChecksumAddress } from "web3-utils"; - -import { - RenERC20LogicV1Instance, - RenProxyAdminInstance -} from "../types/truffle-contracts"; -import { log } from "./helper/logs"; -import { - deployProxy, - hexToBuffer, - increaseTime, - NULL, - NULL32, - Ox, - randomID, - sleep -} from "./helper/testUtils"; - -const RenERC20LogicV1 = artifacts.require("RenERC20LogicV1"); -const RenBTC = artifacts.require("RenBTC"); -const RenProxyAdmin = artifacts.require("RenProxyAdmin"); - -const MAX = new BN(2).pow(new BN(256)).sub(new BN(1)); - -const signPermit = async ( - token: RenERC20LogicV1Instance, - privateKey: Buffer, - from: string, - to: string, - allowed: boolean -) => { - const nonce = await token.nonces.call(from); - const expiry = Math.round(new Date().getTime() / 1000) + 1 /* second */; - - const DOMAIN_SEPARATOR = hexToBuffer(await token.DOMAIN_SEPARATOR.call()); - const PERMIT_TYPEHASH = hexToBuffer(await token.PERMIT_TYPEHASH.call()); - - const digest = keccak256( - solidityPack( - ["string", "bytes32", "bytes32"], - [ - "\x19\x01", - DOMAIN_SEPARATOR, - keccak256( - rawEncode( - [ - "bytes32", - "address", - "address", - "uint256", - "uint256", - "bool" - ], - [PERMIT_TYPEHASH, from, to, nonce, expiry, allowed] - ) - ) - ] - ) - ); - - const { r, s, v } = ecsign(digest, privateKey); - // signature.length.should.equal(2 * (32 + 32 + 1)); - // const [r, s, v] = [Buffer.from(signature.slice(0, 64)), Buffer.from(signature.slice(64, 128)), parseInt(signature.slice(128, 130), 16) % 27 + 27]; - isValidSignature(v, r, s); - toChecksumAddress( - Ox(pubToAddress(ecrecover(digest, v, r, s))) - ).should.equal(from); - - return { r, s, v, nonce, expiry }; -}; - -const submitPermit = async ( - token: RenERC20LogicV1Instance, - privateKey: Buffer, - from: string, - to: string, - allowed: boolean -) => { - const { r, s, v, nonce, expiry } = await signPermit( - token, - privateKey, - from, - to, - allowed - ); - - return token.permit(from, to, nonce, expiry, allowed, v, Ox(r), Ox(s), { - from: to - }); -}; - -contract("ERC20WithPermit", ([owner, secondUser, malicious]) => { - let token: RenERC20LogicV1Instance; - let proxyAdmin: RenProxyAdminInstance; - - const firstUserAcc = web3.eth.accounts.create(); - const firstUser = firstUserAcc.address; - const privateKey = Buffer.from(firstUserAcc.privateKey.slice(2), "hex"); - - before(async () => { - proxyAdmin = await RenProxyAdmin.new(); - token = await deployProxy( - web3, - RenBTC, - RenERC20LogicV1, - proxyAdmin.address, - [ - { - name: "_chainId", - type: "uint256", - value: await web3.eth.net.getId() - }, - { name: "_nextOwner", type: "address", value: owner }, - { - name: "_initialRate", - type: "uint256", - value: "500000000000000000" - }, - { name: "_version", type: "string", value: "1" }, - { name: "_name", type: "string", value: "renBTC" }, - { name: "_symbol", type: "string", value: "renBTC" }, - { name: "_decimals", type: "uint8", value: 8 } - ], - { from: owner } - ); - await token.mint(firstUser, new BN(10).mul(new BN(10).pow(new BN(18)))); - }); - - it("approve with permit", async () => { - const value = new BN(1).mul(new BN(10).pow(new BN(18))); - - const firstBefore = new BN(await token.balanceOf.call(firstUser)); - const secondBefore = new BN(await token.balanceOf.call(secondUser)); - - // Approve and deposit - ((await submitPermit( - token, - privateKey, - firstUser, - secondUser, - true - )) as any).should.emit.logs([ - log("Approval", { - owner: firstUser, - spender: secondUser, - value: MAX - }) - ]); - ( - await token.allowance.call(firstUser, secondUser) - ).should.bignumber.equal(MAX); - - await token.transferFrom(firstUser, secondUser, value, { - from: secondUser - }); - - // Compare balances after depositing - (await token.balanceOf.call(firstUser)).should.bignumber.equal( - firstBefore.sub(new BN(value)) - ); - (await token.balanceOf.call(secondUser)).should.bignumber.equal( - secondBefore.add(new BN(value)) - ); - }); - - it("revoke approval", async () => { - await submitPermit(token, privateKey, firstUser, secondUser, true); - ( - await token.allowance.call(firstUser, secondUser) - ).should.bignumber.equal(MAX); - - ((await submitPermit( - token, - privateKey, - firstUser, - secondUser, - false - )) as any).should.emit.logs([ - log("Approval", { - owner: firstUser, - spender: secondUser, - value: new BN(0) - }) - ]); - - ( - await token.allowance.call(firstUser, secondUser) - ).should.bignumber.equal(0); - }); - - it("can't resubmit signature", async () => { - // Approve and deposit - const { r, s, v, nonce, expiry } = await signPermit( - token, - privateKey, - firstUser, - malicious, - true - ); - await token.permit( - firstUser, - malicious, - nonce, - expiry, - true, - v, - Ox(r), - Ox(s), - { from: malicious } - ); - await submitPermit(token, privateKey, firstUser, malicious, false); - - await token - .permit( - firstUser, - malicious, - nonce, - expiry, - true, - v, - Ox(r), - Ox(s), - { from: malicious } - ) - .should.be.rejectedWith(/ERC20WithRate: invalid nonce/); - - await token - .permit( - firstUser, - malicious, - await token.nonces.call(firstUser), - expiry, - true, - v, - Ox(r), - Ox(s), - { from: malicious } - ) - .should.be.rejectedWith(/ERC20WithRate: invalid signature/); - }); - - it("can't change address", async () => { - // Approve and deposit - const { r, s, v, nonce, expiry } = await signPermit( - token, - privateKey, - firstUser, - secondUser, - true - ); - await token - .permit( - firstUser, - malicious, - nonce, - expiry, - true, - v, - Ox(r), - Ox(s), - { from: malicious } - ) - .should.be.rejectedWith(/ERC20WithRate: invalid signature/); - }); - - it("can't submit expired permit", async () => { - // Approve and deposit - const { r, s, v, nonce, expiry } = await signPermit( - token, - privateKey, - firstUser, - malicious, - true - ); - await increaseTime(expiry + 1); - await token - .permit( - firstUser, - malicious, - nonce, - expiry, - true, - v, - Ox(r), - Ox(s), - { from: malicious } - ) - .should.be.rejectedWith(/ERC20WithRate: permit has expired/); - }); - - it("can't submit permit for 0x0", async () => { - // Approve and deposit - const nonce = new BN(0); - const expiry = Math.round(new Date().getTime() / 1000) + 1 /* second */; - - await token - .permit(NULL, malicious, nonce, expiry, true, 27, NULL32, NULL32, { - from: malicious - }) - .should.be.rejectedWith(/ERC20WithRate: address must not be 0x0/); - }); -}); diff --git a/test/Gateway.ts b/test/Gateway.ts deleted file mode 100644 index f9c28c15..00000000 --- a/test/Gateway.ts +++ /dev/null @@ -1,1163 +0,0 @@ -// tslint:disable: variable-name - -import BigNumber from "bignumber.js"; -import BN from "bn.js"; -import { ecrecover, ecsign, pubToAddress } from "ethereumjs-util"; -import { Account } from "web3-eth-accounts"; -import { keccak256 } from "web3-utils"; - -import { - GatewayLogicV1Instance, - GatewayRegistryInstance, - RenERC20LogicV1Instance -} from "../types/truffle-contracts"; -import { log } from "./helper/logs"; -import { - deployProxy, - ETHEREUM, - NULL, - Ox, - randomAddress, - randomBytes -} from "./helper/testUtils"; - -const ForceSend = artifacts.require("ForceSend"); -const RenToken = artifacts.require("RenToken"); -const Claimer = artifacts.require("Claimer"); -const GatewayRegistry = artifacts.require("GatewayRegistry"); -const BTCGateway = artifacts.require("BTCGateway"); -const RenBTC = artifacts.require("RenBTC"); -const RenERC20LogicV1 = artifacts.require("RenERC20LogicV1"); -const GatewayLogicV1 = artifacts.require("GatewayLogicV1"); - -contract( - "Gateway", - ([owner, feeRecipient, user, malicious, proxyGovernanceAddress]) => { - let btcGateway: GatewayLogicV1Instance; - let renbtc: RenERC20LogicV1Instance; - - // We generate a new account so that we have access to its private key for - // `ecsign`. Web3's sign functions all prefix the message being signed. - let mintAuthority: Account; - let privKey: Buffer; - - const mintFees = new BN(10); - const burnFees = new BN(10); - - describe("ERC20 with rate", () => { - it("rate must be initialized", async () => { - const token = await RenERC20LogicV1.new({ from: owner }); - - await token.exchangeRateCurrent - .call() - .should.be.rejectedWith( - /ERC20WithRate: rate has not been initialized/ - ); - }); - - it("can set rate", async () => { - const rate = "1000000000000000000"; - const token = await deployProxy( - web3, - RenBTC, - RenERC20LogicV1, - proxyGovernanceAddress, - [ - { type: "uint256", value: await web3.eth.net.getId() }, - { type: "address", value: owner }, - { type: "uint256", value: rate }, - { type: "string", value: "1" }, - { type: "string", value: "renBTC" }, - { type: "string", value: "renBTC" }, - { type: "uint8", value: 8 } - ], - { from: owner } - ); - await token - .setExchangeRate(0, { from: owner }) - .should.be.rejectedWith( - /ERC20WithRate: rate must be greater than zero/ - ); - - await token.setExchangeRate(new BN(rate).add(new BN(1)), { - from: owner - }); - - (await token.exchangeRateCurrent.call()).should.bignumber.equal( - new BN(rate).add(new BN(1)) - ); - - await token.setExchangeRate(rate); - - (await token.exchangeRateCurrent.call()).should.bignumber.equal( - rate - ); - }); - }); - - for (const rate of [ - "2000000000000000000", - "1000000000000000000", - "500000000000000000" - ]) { - // for (const rate of ["2000000000000000000", "1000000000000000000", "500000000000000000", "1111111111111111111"]) { - // for (const rate of ["1111111111111111111"]) { - - describe(`Gateway with rate ${new BigNumber(rate) - .div(1e18) - .toFixed()}`, () => { - before(async () => { - renbtc = await deployProxy( - web3, - RenBTC, - RenERC20LogicV1, - proxyGovernanceAddress, - [ - { - type: "uint256", - value: await web3.eth.net.getId() - }, - { type: "address", value: owner }, - { type: "uint256", value: rate }, - { type: "string", value: "1" }, - { type: "string", value: "renBTC" }, - { type: "string", value: "renBTC" }, - { type: "uint8", value: 8 } - ], - { from: owner } - ); - mintAuthority = web3.eth.accounts.create(); - privKey = Buffer.from( - mintAuthority.privateKey.slice(2), - "hex" - ); - - btcGateway = await deployProxy( - web3, - BTCGateway, - GatewayLogicV1, - proxyGovernanceAddress, - [ - { type: "address", value: renbtc.address }, - { type: "address", value: feeRecipient }, - { type: "address", value: mintAuthority.address }, - { type: "uint16", value: mintFees.toString() }, - { type: "uint16", value: burnFees.toString() }, - { type: "uint256", value: 10000 } - ], - { from: owner } - ); - - await renbtc.transferOwnership(btcGateway.address); - await btcGateway.claimTokenOwnership(); - }); - - const getFeeScaled = async ( - token: RenERC20LogicV1Instance, - amountUnderlying: number | BN, - bips: number | BN - ) => { - const amountScaled = new BN( - await token.fromUnderlying.call(amountUnderlying) - ); - const amountFee = amountScaled - .mul(new BN(bips)) - .div(new BN(10000)); - return amountFee; - }; - - const removeMintFee = async ( - token: RenERC20LogicV1Instance, - amountUnderlying: number | BN, - bips: number | BN - ) => { - const amount = new BigNumber( - ( - await token.fromUnderlying.call(amountUnderlying) - ).toString() - ); - const amountFee = amount - .times(new BigNumber(bips.toString())) - .div(new BigNumber(10000)) - .decimalPlaces(0, BigNumber.ROUND_DOWN); - const amountAfterFee = amount - .minus(amountFee) - .decimalPlaces(0, BigNumber.ROUND_DOWN); - const amountAfterFeeUnderlying = await token.toUnderlying.call( - amountAfterFee.toFixed(0, BigNumber.ROUND_DOWN) - ); - const amountAfterFeeRepresentable = await token.fromUnderlying.call( - amountAfterFeeUnderlying - ); - // The following may slightly vary from amountAfterFeeUnderlying. - const amountAfterFeeRepresentableUnderlying = new BigNumber( - ( - await token.toUnderlying.call( - amountAfterFeeRepresentable - ) - ).toString() - ).decimalPlaces(0, BigNumber.ROUND_DOWN); - - const result = new BN( - amountAfterFeeRepresentableUnderlying.toFixed( - 0, - BigNumber.ROUND_DOWN - ) - ); - - return result; - }; - - const removeBurnFee = async ( - token: RenERC20LogicV1Instance, - amountUnderlying: number | BN, - bips: number | BN - ) => { - const amount_scaled = new BigNumber( - ( - await token.fromUnderlying.call(amountUnderlying) - ).toString() - ); - const amountFee_scaled = amount_scaled - .times(new BigNumber(bips.toString())) - .div(new BigNumber(10000)) - .decimalPlaces(0, BigNumber.ROUND_DOWN); - const amountAfterFee_scaled = amount_scaled - .minus(amountFee_scaled) - .decimalPlaces(0, BigNumber.ROUND_DOWN); - const amountAfterFee = await token.toUnderlying.call( - amountAfterFee_scaled.toFixed(0, BigNumber.ROUND_DOWN) - ); - - return new BN(amountAfterFee.toString()); - }; - - const mintTest = async ( - gateway: GatewayLogicV1Instance, - value: number | BN, - n?: string - ): Promise<[string, string, BN]> => { - const nHash = randomBytes(32); - const pHash = randomBytes(32); - - const hash = await gateway.hashForSignature.call( - pHash, - value, - user, - nHash - ); - const sig = ecsign( - Buffer.from(hash.slice(2), "hex"), - privKey - ); - - pubToAddress( - ecrecover( - Buffer.from(hash.slice(2), "hex"), - sig.v, - sig.r, - sig.s - ) - ) - .toString("hex") - .should.equal( - mintAuthority.address.slice(2).toLowerCase() - ); - - const sigString = Ox( - `${sig.r.toString("hex")}${sig.s.toString( - "hex" - )}${sig.v.toString(16)}` - ); - - const hashForSignature = await gateway.hashForSignature.call( - pHash, - value, - user, - nHash - ); - ( - await gateway.verifySignature.call( - hashForSignature, - sigString - ) - ).should.be.true; - - const balanceBefore = new BN( - (await renbtc.balanceOfUnderlying.call(user)).toString() - ); - const _n = await gateway.nextN.call(); - const valueMinted = await removeMintFee( - renbtc, - value, - mintFees - ); - ((await gateway.mint(pHash, value, nHash, sigString, { - from: user - })) as any).should.emit.logs([ - log("LogMint", { - _to: user, - _amount: valueMinted, - _n: n !== undefined ? n : _n - }) - ]); - // (await renbtc.balanceOfUnderlying.call(user)).should.bignumber.equal(balanceBefore.add(valueMinted)); - - ( - await renbtc.balanceOfUnderlying.call(user) - ).should.bignumber.lte( - balanceBefore - .add(await removeMintFee(renbtc, value, mintFees)) - .add(new BN(1)) - ); - ( - await renbtc.balanceOfUnderlying.call(user) - ).should.bignumber.gte( - balanceBefore - .add(await removeMintFee(renbtc, value, mintFees)) - .sub(new BN(1)) - ); - - return [pHash, nHash, valueMinted]; - }; - - const burnTest = async ( - gateway: GatewayLogicV1Instance, - value: number | BN, - btcAddress?: string, - n?: string - ) => { - // Note: we don't use `||` because we want to pass in `""` - btcAddress = - btcAddress !== undefined ? btcAddress : randomBytes(35); - - const balanceBefore = new BN( - (await renbtc.balanceOf.call(user)).toString() - ); - const _n = await gateway.nextN.call(); - - const tokenAddress = await gateway.token.call(); - const token = await RenERC20LogicV1.at(tokenAddress); - - const value_scaled = new BN( - (await token.fromUnderlying.call(value)).toString() - ); - const amountAfterFees = await removeBurnFee( - token, - new BN( - await ( - await token.toUnderlying.call(value_scaled) - ).toString() - ), - burnFees - ); - // const fee = await getFeeScaled(token, value, burnFees); - // const subtractedValueScaled = new BN(await token.fromUnderlying.call(amountAfterFees)).add(fee); - - const x = (await gateway.burn(btcAddress, value_scaled, { - from: user - })) as any; - x.should.emit.logs([ - log("LogBurn", { - _to: btcAddress, - _amount: amountAfterFees, - _n: n !== undefined ? n : _n, - _indexedTo: keccak256(btcAddress) - }) - ]); - - // Should be at most 1 less than the expected value. It should not be less than the expected value. - (await renbtc.balanceOf.call(user)).should.bignumber.lte( - balanceBefore.sub(value_scaled).add(new BN(1)) - ); - (await renbtc.balanceOf.call(user)).should.bignumber.gte( - balanceBefore.sub(value_scaled) - ); - }; - - describe("can mint and burn", () => { - const value = new BN( - Math.floor(Math.random() * 20000) + 40000 - ); - it("can mint tokens with an unused hash, valid signature and pHash", async () => - mintTest(btcGateway, value)); - it("can burn tokens", async () => - burnTest(btcGateway, 24975)); - it("won't mint for the same nHash and pHash twice", async () => { - const [pHash, nHash] = await mintTest( - btcGateway, - value - ); - - const hash = await btcGateway.hashForSignature.call( - pHash, - value.toNumber(), - user, - nHash - ); - const sig = ecsign( - Buffer.from(hash.slice(2), "hex"), - privKey - ); - const sigString = Ox( - `${sig.r.toString("hex")}${sig.s.toString( - "hex" - )}${sig.v.toString(16)}` - ); - - await btcGateway - .mint(pHash, value.toNumber(), nHash, sigString, { - from: user - }) - .should.be.rejectedWith( - /Gateway: nonce hash already spent/ - ); - }); - - it("can mint for the same pHash with a different nHash", async () => { - const [pHash, _] = await mintTest(btcGateway, value); - - const nHash = randomBytes(32); - - const hash = await btcGateway.hashForSignature.call( - pHash, - value.toNumber(), - user, - nHash - ); - const sig = ecsign( - Buffer.from(hash.slice(2), "hex"), - privKey - ); - const sigString = Ox( - `${sig.r.toString("hex")}${sig.s.toString( - "hex" - )}${sig.v.toString(16)}` - ); - - await btcGateway.mint( - pHash, - value.toNumber(), - nHash, - sigString, - { from: user } - ); - - await burnTest( - btcGateway, - await removeMintFee(renbtc, value, mintFees) - ); - }); - - it("won't mint with an invalid signature", async () => { - const nHash1 = randomBytes(32); - const nHash2 = randomBytes(32); - const pHash = randomBytes(32); - - const hash = await btcGateway.hashForSignature.call( - pHash, - value.toNumber(), - user, - nHash1 - ); - const sig = ecsign( - Buffer.from(hash.slice(2), "hex"), - privKey - ); - - const sigString = Ox( - `${sig.r.toString("hex")}${sig.s.toString( - "hex" - )}${sig.v.toString(16)}` - ); - - await btcGateway - .mint(pHash, value.toNumber(), nHash2, sigString, { - from: user - }) - .should.be.rejectedWith( - /Gateway: invalid signature/ - ); - }); - - it("can't burn to empty address", async () => { - await burnTest( - btcGateway, - await removeMintFee(renbtc, value, mintFees), - (new Buffer([]) as any) as string - ).should.be.rejectedWith( - /Gateway: to address is empty/ - ); - }); - - it("can't burn less than minimum burn amount", async () => { - await burnTest(btcGateway, 5000).should.be.rejectedWith( - /Gateway: amount is less than the minimum burn amount/ - ); - }); - - it("won't mint for a signature's complement", async () => { - // If (r,s,v) is a valid ECDSA signature, then so is (r, -s % n, 1-v) - // This means that a second signature for a message can be generated - // without access to the private key. This test checks that the - // Gateway contract won't accept two complementary signatures and - // mint twice. See "Signature Malleability" at - // https://yondon.blog/2019/01/01/how-not-to-use-ecdsa/ - - const nHash = randomBytes(32); - const pHash = randomBytes(32); - - const hash = await btcGateway.hashForSignature.call( - pHash, - value.toNumber(), - user, - nHash - ); - - const sig = ecsign( - Buffer.from(hash.slice(2), "hex"), - privKey - ); - - // Invalid signature - const altSig = { - ...sig, - s: new BN( - "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", - "hex" - ) - .sub(new BN(sig.s)) - .toArrayLike(Buffer, "be", 32), - v: sig.v === 27 ? 28 : 27 - }; - const altSigString = Ox( - `${altSig.r.toString("hex")}${altSig.s.toString( - "hex" - )}${altSig.v.toString(16)}` - ); - await btcGateway - .mint( - pHash, - value.toNumber(), - nHash, - altSigString, - { from: user } - ) - .should.be.rejectedWith( - /ECDSA: signature.s is in the wrong range/ - ); - - // Valid signature - const sigString = Ox( - `${sig.r.toString("hex")}${sig.s.toString( - "hex" - )}${sig.v.toString(16)}` - ); - await btcGateway.mint( - pHash, - value.toNumber(), - nHash, - sigString, - { from: user } - ); - - // Using the invalid signature after the valid one should throw - // before checking the signature because the nonce hash has already - // been used - await btcGateway - .mint( - pHash, - value.toNumber(), - nHash, - altSigString, - { from: user } - ) - .should.be.rejectedWith( - /Gateway: nonce hash already spent/ - ); - }); - }); - - describe("updating fee recipient and mint authority", () => { - it("can upgrade fee recipient", async () => { - await btcGateway - .updateFeeRecipient(malicious, { from: malicious }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - await btcGateway - .updateFeeRecipient(NULL, { from: owner }) - .should.be.rejectedWith( - /Gateway: fee recipient cannot be 0x0/ - ); - await btcGateway.updateFeeRecipient(user, { - from: owner - }); - await btcGateway.updateFeeRecipient(feeRecipient, { - from: owner - }); - }); - - it("can upgrade mint fee", async () => { - const currentFee = await btcGateway.mintFee.call(); - await btcGateway - .updateMintFee(0, { from: malicious }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - await btcGateway.updateMintFee(0, { from: owner }); - await btcGateway.updateMintFee(currentFee, { - from: owner - }); - }); - - it("can upgrade burn fee", async () => { - const currentFee = await btcGateway.burnFee.call(); - await btcGateway - .updateBurnFee(0, { from: malicious }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - await btcGateway.updateBurnFee(0, { from: owner }); - await btcGateway.updateBurnFee(currentFee, { - from: owner - }); - }); - - it("can upgrade mint authority", async () => { - await btcGateway - .updateMintAuthority(malicious, { from: malicious }) - .should.be.rejectedWith( - /Gateway: caller is not the owner or mint authority/ - ); - // Owner can update mint authority - await btcGateway.updateMintAuthority(user, { - from: owner - }); - // Mint authority can update mint authority - await btcGateway.updateMintAuthority(user, { - from: user - }); - await btcGateway.updateMintAuthority( - mintAuthority.address, - { from: owner } - ); - }); - - it("cannot upgrade mint authority to zero address", async () => { - await btcGateway - .updateMintAuthority(NULL, { from: owner }) - .should.be.rejectedWith( - /Gateway: mintAuthority cannot be set to address zero/ - ); - }); - - it("can upgrade min burn amount", async () => { - await btcGateway - .updateMinimumBurnAmount(malicious, { - from: malicious - }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - await btcGateway.updateMinimumBurnAmount(8000, { - from: owner - }); - await btcGateway.updateMinimumBurnAmount(10000, { - from: owner - }); - }); - }); - - describe("upgrading gateway", () => { - let newGateway: GatewayLogicV1Instance; - - it("can upgrade the gateway", async () => { - newGateway = await deployProxy( - web3, - BTCGateway, - GatewayLogicV1, - proxyGovernanceAddress, - [ - { type: "address", value: renbtc.address }, - { type: "address", value: feeRecipient }, - { - type: "address", - value: mintAuthority.address - }, - { type: "uint16", value: mintFees.toString() }, - { type: "uint16", value: burnFees.toString() }, - { type: "uint256", value: 10000 } - ], - { from: owner } - ); - - // Fund and unlock the mintAuthority - not used currently but - // may be needed in the future. - /* await web3.eth.sendTransaction({ to: mintAuthority.address, from: owner, value: web3.utils.toWei("1") }); - * await web3.eth.personal.importRawKey(mintAuthority.privateKey, ""); - * await web3.eth.personal.unlockAccount(mintAuthority.address, "", 6000); - */ - - await btcGateway - .transferTokenOwnership(newGateway.address, { - from: malicious - }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - - await btcGateway.transferTokenOwnership( - newGateway.address, - { from: owner } - ); - (await renbtc.owner.call()).should.equal( - newGateway.address - ); - }); - - it("can mint and burn using new gateway", async () => { - const value = new BN( - Math.floor(Math.random() * 200000) + 10000 - ); - await mintTest(newGateway, value); - await burnTest( - newGateway, - await removeMintFee(renbtc, value, mintFees) - ); - }); - - it("can't upgrade to an invalid gateway", async () => { - await newGateway - .transferTokenOwnership(malicious, { from: owner }) - .should.be.rejectedWith(/revert/); // Tries to call ".claim" on non-contract address - - await renbtc - .claimOwnership({ from: malicious }) - .should.be.rejectedWith( - /Claimable: caller is not the pending owner/ - ); - }); - - it("can reset the upgrade", async () => { - // Trying to reset upgrade in btcGateway without owning the token - await btcGateway - .transferTokenOwnership(NULL, { from: owner }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - - // Upgrade newGateway to point to btcGateway - await newGateway.transferTokenOwnership( - btcGateway.address, - { from: owner } - ); - - (await renbtc.owner.call()).should.equal( - btcGateway.address - ); - }); - }); - - describe("recovering funds", () => { - it("should be able to withdraw funds that are mistakenly sent to a Gateway", async () => { - let renbtcValue = new BN( - Math.floor(Math.random() * 200000) + 10000 - ); - [, , renbtcValue] = await mintTest( - btcGateway, - renbtcValue - ); - renbtcValue = new BN( - ( - await renbtc.fromUnderlying.call(renbtcValue) - ).toString() - ); - - await renbtc.transfer(btcGateway.address, renbtcValue, { - from: user - }); - - const renAmount = 1000; - const ren = await RenToken.deployed(); - await ren.transfer(btcGateway.address, renAmount); - - // Only the owner can recover tokens - await btcGateway - .recoverTokens(ren.address, { from: malicious }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - - // Recover renBTC - const balanceBefore = new BN( - await renbtc.balanceOf.call(owner) - ); - await btcGateway.recoverTokens(renbtc.address, { - from: owner - }); - const balanceAfter = new BN( - await renbtc.balanceOf.call(owner) - ); - balanceAfter - .sub(balanceBefore) - .should.bignumber.equal(renbtcValue); - await renbtc.transfer(user, renbtcValue); - - // Recover REN - const initialRenBalance = new BN( - (await ren.balanceOf.call(owner)).toString() - ); - await btcGateway.recoverTokens(ren.address, { - from: owner - }); - const finalRenBalance = new BN( - (await ren.balanceOf.call(owner)).toString() - ); - finalRenBalance - .sub(initialRenBalance) - .should.bignumber.equal(renAmount); - - // Recover ETH - const forceSend = await ForceSend.new(); - await forceSend.send(btcGateway.address, { - value: "1" - }); - ( - await web3.eth.getBalance(btcGateway.address) - ).should.bignumber.greaterThan(0); - await btcGateway.recoverTokens(NULL, { from: owner }); - ( - await web3.eth.getBalance(btcGateway.address) - ).should.bignumber.equal(0); - - await burnTest( - btcGateway, - new BN( - ( - await renbtc.toUnderlying.call(balanceAfter) - ).toString() - ) - ); - }); - - it("should be able to withdraw funds that are mistakenly sent to a token", async () => { - // let renbtcValue = new BN(200000); - // await mintTest(btcGateway, renbtcValue); - // renbtcValue = await removeFee(renbtcValue, mintFees); - // await renbtc.transfer(renbtc.address, renbtcValue, { from: user }); - - const renAmount = 1000; - const ren = await RenToken.deployed(); - await ren.transfer(renbtc.address, renAmount); - - // Only the owner can recover tokens - await renbtc - .recoverTokens(ren.address, { from: malicious }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - - const claimer = await Claimer.new(renbtc.address); - await btcGateway.transferTokenOwnership( - claimer.address, - { from: owner } - ); - await claimer.transferTokenOwnership(owner, { - from: owner - }); - await renbtc.claimOwnership({ from: owner }); - - // Recover REN - const initialRenBalance = new BN( - (await ren.balanceOf.call(owner)).toString() - ); - await renbtc.recoverTokens(ren.address, { - from: owner - }); - const finalRenBalance = new BN( - (await ren.balanceOf.call(owner)).toString() - ); - finalRenBalance - .sub(initialRenBalance) - .should.bignumber.equal(renAmount); - - // Recover renBTC - // const balanceBefore = new BN(await renbtc.balanceOf.call(owner)); - // await renbtc.recoverTokens(renbtc.address, { from: owner }); - // const balanceAfter = new BN(await renbtc.balanceOf.call(owner)); - // balanceAfter.sub(balanceBefore).should.bignumber.equal(renbtcValue); - // await renbtc.transfer(user, renbtcValue); - - // Recover ETH - const forceSend = await ForceSend.new(); - await forceSend.send(btcGateway.address, { - value: "1" - }); - ( - await web3.eth.getBalance(btcGateway.address) - ).should.bignumber.greaterThan(0); - await btcGateway.recoverTokens(NULL, { from: owner }); - ( - await web3.eth.getBalance(btcGateway.address) - ).should.bignumber.equal(0); - - await renbtc.transferOwnership(btcGateway.address); - await btcGateway.claimTokenOwnership(); - - // await burnTest(btcGateway, renbtcValue); - }); - }); - - describe("gateway registry", () => { - let registry: GatewayRegistryInstance; - - before(async () => { - registry = await GatewayRegistry.new(); - }); - - it("symbol validation", async () => { - (await registry.symbolIsValid.call("BTC")).should.be - .true; - (await registry.symbolIsValid.call("ZEC")).should.be - .true; - (await registry.symbolIsValid.call("BCH")).should.be - .true; - - (await registry.symbolIsValid.call("zеc!")).should.be - .false; - - (await registry.symbolIsValid.call("zec")).should.be - .true; - // Cyrillic letter "е". - (await registry.symbolIsValid.call("zеc")).should.be - .false; - }); - - it("can register gateways", async () => { - await registry.setGateway( - "BTC", - renbtc.address, - btcGateway.address - ); - await registry - .setGateway( - "BTC", - renbtc.address, - btcGateway.address - ) - .should.be.rejectedWith( - /GatewayRegistry: gateway already registered/ - ); - await registry - .setGateway("BTC", renbtc.address, NULL) - .should.be.rejectedWith( - /GatewayRegistry: token already registered/ - ); - - await registry - .setGateway("BTC!", NULL, NULL) - .should.be.rejectedWith( - /GatewayRegistry: symbol must be alphanumeric/ - ); - }); - - it("can retrieve gateways", async () => { - { - // Try to register token with an existing symbol - const altRenBTC = await RenERC20LogicV1.new(); - await altRenBTC.initialize( - await web3.eth.net.getId(), - owner, - "500000000000000000", - "1", - "renBTC", - "renBTC", - 8 - ); - await registry - .setGateway("BTC", altRenBTC.address, NULL) - .should.be.rejectedWith( - /GatewayRegistry: symbol already registered/ - ); - } - - ( - await registry.getGatewayByToken.call( - renbtc.address - ) - ).should.equal(btcGateway.address); - - ( - await registry.getGatewayBySymbol.call("BTC") - ).should.equal(btcGateway.address); - - ( - await registry.getTokenBySymbol.call("BTC") - ).should.equal(renbtc.address); - - { - // The first 10 gateways starting from NULL - const gateway = await registry.getGateways.call( - NULL, - 10 - ); - gateway[0].should.equal(btcGateway.address); - gateway[1].should.equal(NULL); - gateway.length.should.equal(10); - - const renTokens = await registry.getRenTokens.call( - NULL, - 10 - ); - renTokens[0].should.equal(renbtc.address); - renTokens[1].should.equal(NULL); - renTokens.length.should.equal(10); - } - - { - // Get all the gateways starting from NULL - const gateway = await registry.getGateways.call( - NULL, - 0 - ); - gateway[0].should.equal(btcGateway.address); - gateway.length.should.equal(1); - - const renTokens = await registry.getRenTokens.call( - NULL, - 0 - ); - renTokens[0].should.equal(renbtc.address); - renTokens.length.should.equal(1); - } - - { - // Starting from first entry - const gateway = await registry.getGateways.call( - btcGateway.address, - 10 - ); - gateway[0].should.equal(btcGateway.address); - gateway[1].should.equal(NULL); - gateway.length.should.equal(10); - - const renTokens = await registry.getRenTokens.call( - renbtc.address, - 10 - ); - renTokens[0].should.equal(renbtc.address); - renTokens[1].should.equal(NULL); - renTokens.length.should.equal(10); - } - - { - // Get all the gateways starting from first entry - const gateways = await registry.getGateways.call( - btcGateway.address, - 0 - ); - gateways[0].should.equal(btcGateway.address); - gateways.length.should.equal(1); - - const renTokens = await registry.getRenTokens.call( - renbtc.address, - 0 - ); - renTokens[0].should.equal(renbtc.address); - renTokens.length.should.equal(1); - } - }); - - it("can update gateway for a token", async () => { - ( - await registry.getGatewayByToken.call( - renbtc.address - ) - ).should.equal(btcGateway.address); - - const newBtcGateway = await deployProxy< - GatewayLogicV1Instance - >( - web3, - BTCGateway, - GatewayLogicV1, - proxyGovernanceAddress, - [ - { type: "address", value: renbtc.address }, - { type: "address", value: feeRecipient }, - { - type: "address", - value: mintAuthority.address - }, - { type: "uint16", value: mintFees.toString() }, - { type: "uint16", value: burnFees.toString() }, - { type: "uint256", value: 10000 } - ], - { from: owner } - ); - - await registry.updateGateway( - renbtc.address, - newBtcGateway.address - ); - - ( - await registry.getGatewayByToken.call( - renbtc.address - ) - ).should.equal(newBtcGateway.address); - }); - - it("can't update gateway for an unregistered token", async () => { - await registry - .updateGateway(ETHEREUM, randomAddress()) - .should.be.rejectedWith( - /GatewayRegistry: token not registered/ - ); - }); - - it("can deregister gateways", async () => { - await registry.removeGateway("BTC"); - - await registry - .removeGateway("BTC") - .should.be.rejectedWith( - /GatewayRegistry: symbol not registered/ - ); - }); - - it("should be able to withdraw funds that are mistakenly sent to the Gateway Registry", async () => { - const ren = await RenToken.deployed(); - await ren.transfer(registry.address, 1000); - - // Only the owner can recover tokens - await registry - .recoverTokens(ren.address, { from: malicious }) - .should.be.rejectedWith( - /Ownable: caller is not the owner/ - ); - - // Can recover unrelated token - const initialRenBalance = new BN( - (await ren.balanceOf.call(owner)).toString() - ); - await registry.recoverTokens(ren.address, { - from: owner - }); - const finalRenBalance = new BN( - (await ren.balanceOf.call(owner)).toString() - ); - finalRenBalance - .sub(initialRenBalance) - .should.bignumber.equal(1000); - }); - - it("can renounce ownership of the registry", async () => { - await registry.renounceOwnership(); - }); - }); - }); - } - } -); diff --git a/test/LinkedList.ts b/test/LinkedList.ts index 4c09121d..321a8d0d 100644 --- a/test/LinkedList.ts +++ b/test/LinkedList.ts @@ -21,48 +21,48 @@ contract("LinkedList", () => { it("can append", async () => { await linkedList.append(NODE1); - (await linkedList.isInList.call(NODE1)).should.equal(true); + (await linkedList.isInList(NODE1)).should.equal(true); }); it("can prepend", async () => { await linkedList.prepend(NODE2); - (await linkedList.previous.call(NODE1)).should.equal(NODE2); + (await linkedList.previous(NODE1)).should.equal(NODE2); }); it("can swap", async () => { await linkedList.swap(NODE1, NODE2); - (await linkedList.previous.call(NODE2)).should.equal(NODE1); + (await linkedList.previous(NODE2)).should.equal(NODE1); }); it("can insertAfter", async () => { await linkedList.insertAfter(NODE2, NODE4); - (await linkedList.next.call(NODE2)).should.equal(NODE4); + (await linkedList.next(NODE2)).should.equal(NODE4); }); it("can insertBefore", async () => { await linkedList.insertBefore(NODE4, NODE3); - (await linkedList.previous.call(NODE4)).should.equal(NODE3); + (await linkedList.previous(NODE4)).should.equal(NODE3); }); it("can remove", async () => { await linkedList.remove(NODE4); - (await linkedList.isInList.call(NODE4)).should.equal(false); + (await linkedList.isInList(NODE4)).should.equal(false); }); it("can get previous node of the given node", async () => { - (await linkedList.previous.call(NODE2)).should.equal(NODE1); + (await linkedList.previous(NODE2)).should.equal(NODE1); }); it("can get following node of the given node", async () => { - (await linkedList.next.call(NODE1)).should.equal(NODE2); + (await linkedList.next(NODE1)).should.equal(NODE2); }); it("can get the last node of the given list", async () => { - (await linkedList.end.call()).should.equal(NODE3); + (await linkedList.end()).should.equal(NODE3); }); it("can get the first node of the given list", async () => { - (await linkedList.begin.call()).should.equal(NODE1); + (await linkedList.begin()).should.equal(NODE1); }); it("should not add NULL", async () => { @@ -142,43 +142,43 @@ contract("LinkedList", () => { it("should not get previous node of the node if it is not in the list", async () => { // NOTE: The revert reason isn't available for .call - await linkedList.previous - .call(NOT_NODE1) + await linkedList + .previous(NOT_NODE1) .should.be.rejectedWith(/LinkedList: not in list/); // not in list }); it("should not get following node of the given node if it is not in the list", async () => { // NOTE: The revert reason isn't available for .call - await linkedList.next - .call(NOT_NODE1) + await linkedList + .next(NOT_NODE1) .should.be.rejectedWith(/LinkedList: not in list/); // not in list }); it("should revert when given incorrect count while retrieving elements in the list", async () => { - await linkedList.elements - .call(NODE1, 0) + await linkedList + .elements(NODE1, 0) .should.be.rejectedWith(/LinkedList: invalid count/); // invalid count }); it("should revert when given incorrect start address while retrieving elements in the list", async () => { - await linkedList.elements - .call(NODE4, 1) + await linkedList + .elements(NODE4, 1) .should.be.rejectedWith(/LinkedList: not in list/); // invalid count }); it("should return elements in the list", async () => { - let gateways = await linkedList.elements.call(NODE1, 1); + let gateways = await linkedList.elements(NODE1, 1); gateways[0].should.equal(NODE1); gateways.length.should.equal(1); - gateways = await linkedList.elements.call(NODE2, 2); + gateways = await linkedList.elements(NODE2, 2); gateways[0].should.equal(NODE2); gateways[1].should.equal(NODE3); gateways.length.should.equal(2); await linkedList.append(NODE4); - gateways = await linkedList.elements.call(NODE1, 10); + gateways = await linkedList.elements(NODE1, 10); gateways[0].should.equal(NODE1); gateways[3].should.equal(NODE4); gateways.length.should.equal(10); diff --git a/test/Protocol.ts b/test/Protocol.ts index 6736e688..adc06c78 100644 --- a/test/Protocol.ts +++ b/test/Protocol.ts @@ -1,88 +1,32 @@ import { - BTCGatewayInstance, - DarknodePaymentInstance, - DarknodePaymentStoreInstance, DarknodeRegistryLogicV1Instance, - DarknodeRegistryStoreInstance, - DarknodeSlasherInstance, - GatewayRegistryInstance, - ProtocolLogicV1Instance, - ProtocolProxyInstance, - RenBTCInstance, - RenProxyAdminInstance, - RenTokenInstance + ProtocolInstance } from "../types/truffle-contracts"; -import { encodeCallData, NULL, waitForEpoch } from "./helper/testUtils"; +import { NULL, waitForEpoch } from "./helper/testUtils"; -const DarknodePayment = artifacts.require("DarknodePayment"); -const DarknodePaymentStore = artifacts.require("DarknodePaymentStore"); -const RenToken = artifacts.require("RenToken"); -const DarknodeRegistryStore = artifacts.require("DarknodeRegistryStore"); const DarknodeRegistryLogicV1 = artifacts.require("DarknodeRegistryLogicV1"); const DarknodeRegistryProxy = artifacts.require("DarknodeRegistryProxy"); -const DarknodeSlasher = artifacts.require("DarknodeSlasher"); -const GatewayRegistry = artifacts.require("GatewayRegistry"); -const RenBTC = artifacts.require("RenBTC"); -const BTCGateway = artifacts.require("BTCGateway"); -const ProtocolProxy = artifacts.require("ProtocolProxy"); -const ProtocolLogicV1 = artifacts.require("ProtocolLogicV1"); -const RenProxyAdmin = artifacts.require("RenProxyAdmin"); +const Protocol = artifacts.require("Protocol"); contract("Protocol", ([owner, otherAccount]: string[]) => { - let dnp: DarknodePaymentInstance; - let dnpStore: DarknodePaymentStoreInstance; - let ren: RenTokenInstance; - let dnrs: DarknodeRegistryStoreInstance; let dnr: DarknodeRegistryLogicV1Instance; - let slasher: DarknodeSlasherInstance; - let gatewayRegistry: GatewayRegistryInstance; - let renbtc: RenBTCInstance; - let btcGateway: BTCGatewayInstance; - let protocol: ProtocolLogicV1Instance; - let protocolProxy: ProtocolProxyInstance; - let renProxyAdmin: RenProxyAdminInstance; + let protocol: ProtocolInstance; before(async () => { - ren = await RenToken.deployed(); - dnrs = await DarknodeRegistryStore.deployed(); const dnrProxy = await DarknodeRegistryProxy.deployed(); dnr = await DarknodeRegistryLogicV1.at(dnrProxy.address); - dnp = await DarknodePayment.deployed(); - dnpStore = await DarknodePaymentStore.deployed(); - slasher = await DarknodeSlasher.deployed(); - gatewayRegistry = await GatewayRegistry.deployed(); - renbtc = await RenBTC.deployed(); - btcGateway = await BTCGateway.deployed(); - protocol = await ProtocolLogicV1.at(ProtocolProxy.address); - protocolProxy = await ProtocolProxy.deployed(); - renProxyAdmin = await RenProxyAdmin.deployed(); + protocol = await Protocol.at(Protocol.address); await waitForEpoch(dnr); }); it("Address getters", async () => { - (await protocol.renToken.call()).should.equal(ren.address); - - (await protocol.darknodeRegistry.call()).should.equal(dnr.address); - - (await protocol.darknodeRegistryStore.call()).should.equal( - dnrs.address - ); - - (await protocol.darknodePayment.call()).should.equal(dnp.address); - - (await protocol.darknodePaymentStore.call()).should.equal( - dnpStore.address - ); - - (await protocol.darknodeSlasher.call()).should.equal(slasher.address); - - (await protocol.gatewayRegistry.call()).should.equal( - gatewayRegistry.address + (await protocol.getContract("DarknodeRegistry")).should.equal( + dnr.address ); }); it("Protocol owner", async () => { - (await protocol.owner.call()).should.equal(owner); + (await protocol.owner()).should.equal(owner); await protocol .transferOwnership(otherAccount, { from: otherAccount }) @@ -90,157 +34,40 @@ contract("Protocol", ([owner, otherAccount]: string[]) => { await protocol.transferOwnership(otherAccount); - (await protocol.owner.call()).should.equal(owner); + (await protocol.owner()).should.equal(owner); await protocol.claimOwnership({ from: otherAccount }); - (await protocol.owner.call()).should.equal(otherAccount); + (await protocol.owner()).should.equal(otherAccount); await protocol.transferOwnership(owner, { from: otherAccount }); await protocol.claimOwnership({ from: owner }); - (await protocol.owner.call()).should.equal(owner); + (await protocol.owner()).should.equal(owner); }); it("Update DarknodeRegistry address", async () => { await protocol - ._updateDarknodeRegistry(NULL, { from: otherAccount }) - .should.be.rejectedWith(/Ownable: caller is not the owner/); - - await protocol._updateDarknodeRegistry(NULL); - - (await protocol.darknodeRegistry.call()).should.equal(NULL); - - await protocol._updateDarknodeRegistry(dnr.address); - - (await protocol.darknodeRegistry.call()).should.equal(dnr.address); - }); - - it("Update GatewayRegistry address", async () => { - await protocol - ._updateGatewayRegistry(NULL, { from: otherAccount }) + .updateContract("DarknodeRegistry", NULL, { from: otherAccount }) .should.be.rejectedWith(/Ownable: caller is not the owner/); - await protocol._updateGatewayRegistry(NULL); + await protocol.updateContract("DarknodeRegistry", NULL); - (await protocol.gatewayRegistry.call()).should.equal(NULL); + (await protocol.getContract("DarknodeRegistry")).should.equal(NULL); - await protocol._updateGatewayRegistry(gatewayRegistry.address); + await protocol.updateContract("DarknodeRegistry", dnr.address); - (await protocol.gatewayRegistry.call()).should.equal( - gatewayRegistry.address + (await protocol.getContract("DarknodeRegistry")).should.equal( + dnr.address ); }); it("Proxy functions", async () => { // Try to initialize again - await protocolProxy - .initialize( - ProtocolLogicV1.address, - renProxyAdmin.address, - encodeCallData(web3, "initialize", ["address"], [owner]), - { from: owner } - ) - .should.be.rejectedWith(/revert$/); - await protocolProxy - .initialize( - ProtocolLogicV1.address, - renProxyAdmin.address, - (Buffer.from([]) as unknown) as string - ) - .should.be.rejectedWith(/revert$/); - - // Upgrade logic - const newLogic = await ProtocolLogicV1.new(); - - // Wrong address - await renProxyAdmin - .upgrade(protocolProxy.address, newLogic.address, { - from: otherAccount - }) - .should.be.rejectedWith(/revert$/); - - await renProxyAdmin.upgrade(protocolProxy.address, newLogic.address, { - from: owner - }); - (await protocol.renToken.call()).should.equal(ren.address); - }); - - it("Gateway functions", async () => { - ( - await gatewayRegistry.getGatewayByToken.call(renbtc.address) - ).should.equal(btcGateway.address); - - (await protocol.getGatewayByToken.call(renbtc.address)).should.equal( - btcGateway.address - ); - - (await protocol.getGatewayBySymbol.call("BTC")).should.equal( - btcGateway.address - ); - - (await protocol.getTokenBySymbol.call("BTC")).should.equal( - renbtc.address - ); - - { - // The first 10 gateways starting from NULL - const gateways = await protocol.getGateways.call(NULL, 10); - gateways[0].should.equal(btcGateway.address); - gateways[9].should.equal(NULL); - gateways.length.should.equal(10); - - const renTokens = await protocol.getRenTokens.call(NULL, 10); - renTokens[0].should.equal(renbtc.address); - renTokens[9].should.equal(NULL); - renTokens.length.should.equal(10); - } - - { - // Get all the gateways starting from NULL - const gateways = await protocol.getGateways.call(NULL, 0); - gateways[0].should.equal(btcGateway.address); - gateways.length.should.equal(3); - - const renTokens = await protocol.getRenTokens.call(NULL, 0); - renTokens[0].should.equal(renbtc.address); - renTokens.length.should.equal(3); - } - - { - // Starting from first entry - const gateways = await protocol.getGateways.call( - btcGateway.address, - 10 - ); - gateways[0].should.equal(btcGateway.address); - gateways[9].should.equal(NULL); - gateways.length.should.equal(10); - - const renTokens = await protocol.getRenTokens.call( - renbtc.address, - 10 - ); - renTokens[0].should.equal(renbtc.address); - renTokens[9].should.equal(NULL); - renTokens.length.should.equal(10); - } - - { - // Get all the gateways starting from first entry - const gateways = await gatewayRegistry.getGateways.call( - btcGateway.address, - 0 - ); - gateways[0].should.equal(btcGateway.address); - gateways.length.should.equal(3); - - const renTokens = await gatewayRegistry.getRenTokens.call( - renbtc.address, - 0 + await protocol + .__Protocol_init(owner, { from: owner }) + .should.be.rejectedWith( + /Contract instance has already been initialized/ ); - renTokens[0].should.equal(renbtc.address); - renTokens.length.should.equal(3); - } }); }); diff --git a/test/String.ts b/test/String.ts index 02adaf69..d3868c65 100644 --- a/test/String.ts +++ b/test/String.ts @@ -13,13 +13,11 @@ contract("String", accounts => { }); it("can add strings", async () => { - (await StringInstance.add4.call("1", "2", "3", "4")).should.equal( - "1234" - ); + (await StringInstance.add4("1", "2", "3", "4")).should.equal("1234"); }); it("can convert addresses to hex strings", async () => { - (await StringInstance.fromAddress.call(accounts[0])).should.equal( + (await StringInstance.fromAddress(accounts[0])).should.equal( accounts[0].toLowerCase() ); }); @@ -27,7 +25,7 @@ contract("String", accounts => { it("can convert bytes32 to hex strings", async () => { const bytes32 = randomBytes(32); - (await StringInstance.fromBytes32.call(bytes32)).should.equal( + (await StringInstance.fromBytes32(bytes32)).should.equal( bytes32.toLowerCase() ); }); @@ -48,7 +46,7 @@ contract("String", accounts => { }); const testNumString = async (numString: string) => { - (await StringInstance.fromUint.call(new BN(numString))).should.equal( + (await StringInstance.fromUint(new BN(numString))).should.equal( numString ); }; diff --git a/test/Validate.ts b/test/Validate.ts index 4905e964..cb014443 100644 --- a/test/Validate.ts +++ b/test/Validate.ts @@ -51,14 +51,7 @@ contract("Validate", (accounts: string[]) => { msg.should.be.equal( "Secret(ShamirShare(3,7,S256N(10),S256PrivKey(S256N(81804755166950992694975918889421430561708705428859269028015361660142001064486),S256P(90693014804679621771165998959262552553277008236216558633727798007697162314221),S256P(65631258835468800295340604864107498262349560547191423452833833494209803247319))))" ); - const rawMsg = await validateTest.secretMessage.call( - a, - b, - c, - d, - e, - f - ); + const rawMsg = await validateTest.secretMessage(a, b, c, d, e, f); msg.should.be.equal(web3.utils.hexToAscii(rawMsg)); }); @@ -74,7 +67,7 @@ contract("Validate", (accounts: string[]) => { blockhash, validRound ); - const rawMsg = await validateTest.proposeMessage.call( + const rawMsg = await validateTest.proposeMessage( height, round, hexBlockhash, @@ -89,7 +82,7 @@ contract("Validate", (accounts: string[]) => { const blockhash = "XTsJ2rO2yD47tg3JfmakVRXLzeou4SMtZvsMc6lkr6o"; const hexBlockhash = web3.utils.asciiToHex(blockhash); const prevoteMsg = generatePrevoteMessage(height, round, blockhash); - const rawMsg = await validateTest.prevoteMessage.call( + const rawMsg = await validateTest.prevoteMessage( height, round, hexBlockhash @@ -107,7 +100,7 @@ contract("Validate", (accounts: string[]) => { round, blockhash ); - const rawMsg = await validateTest.precommitMessage.call( + const rawMsg = await validateTest.precommitMessage( height, round, hexBlockhash @@ -140,7 +133,7 @@ contract("Validate", (accounts: string[]) => { "hex" )}${sig.v.toString(16)}` ); - const signer = await validateTest.recoverPropose.call( + const signer = await validateTest.recoverPropose( height, round, hexBlockhash, @@ -167,7 +160,7 @@ contract("Validate", (accounts: string[]) => { "hex" )}${sig.v.toString(16)}` ); - const signer = await validateTest.recoverPrevote.call( + const signer = await validateTest.recoverPrevote( height, round, hexBlockhash, @@ -197,7 +190,7 @@ contract("Validate", (accounts: string[]) => { "hex" )}${sig.v.toString(16)}` ); - const signer = await validateTest.recoverPrecommit.call( + const signer = await validateTest.recoverPrecommit( height, round, hexBlockhash, @@ -231,7 +224,7 @@ contract("Validate", (accounts: string[]) => { "hex" )}${sig.v.toString(16)}` ); - const signer = await validateTest.recoverSecret.call( + const signer = await validateTest.recoverSecret( a, b, c, diff --git a/test/Vesting.ts b/test/Vesting.ts deleted file mode 100644 index 2aec1813..00000000 --- a/test/Vesting.ts +++ /dev/null @@ -1,223 +0,0 @@ -import BigNumber from "bignumber.js"; -import BN from "bn.js"; -import { rawEncode } from "ethereumjs-abi"; -import { ecsign, keccak256 } from "ethereumjs-util"; - -import { - BTCGatewayInstance, - GatewayLogicV1Instance, - GatewayRegistryInstance, - RenERC20LogicV1Instance, - VestingInstance -} from "../types/truffle-contracts"; -import { deployProxy, increaseTime, Ox, randomBytes } from "./helper/testUtils"; - -const BTCGateway = artifacts.require("BTCGateway"); -const GatewayRegistry = artifacts.require("GatewayRegistry"); -const RenBTC = artifacts.require("RenBTC"); -const RenERC20LogicV1 = artifacts.require("RenERC20LogicV1"); -const Vesting = artifacts.require("Vesting"); -const GatewayLogicV1 = artifacts.require("GatewayLogicV1"); - -contract.skip( - "Vesting", - ([owner, feeRecipient, beneficiary, proxyGovernanceAddress]) => { - let btcGateway: GatewayLogicV1Instance; - let renbtc: RenERC20LogicV1Instance; - let vesting: VestingInstance; - let registry: GatewayRegistryInstance; - - const mintAuthority = web3.eth.accounts.create(); - const privKey = Buffer.from(mintAuthority.privateKey.slice(2), "hex"); - const burnFees = new BN(5); - const mintFees = new BN(15); - - const month = (24 * 60 * 60 * 365) / 12; - - beforeEach(async () => { - // Setup the environment - renbtc = await deployProxy( - web3, - RenBTC, - RenERC20LogicV1, - proxyGovernanceAddress, - [ - { type: "uint256", value: await web3.eth.net.getId() }, - { type: "address", value: owner }, - { type: "uint256", value: "500000000000000000" }, - { type: "string", value: "1" }, - { type: "string", value: "renBTC" }, - { type: "string", value: "renBTC" }, - { type: "uint8", value: 8 } - ], - { from: owner } - ); - - btcGateway = await deployProxy( - web3, - BTCGateway, - GatewayLogicV1, - proxyGovernanceAddress, - [ - { type: "address", value: renbtc.address }, - { type: "address", value: feeRecipient }, - { type: "address", value: mintAuthority.address }, - { type: "uint16", value: mintFees.toNumber() }, - { type: "uint16", value: burnFees.toNumber() }, - { type: "uint256", value: 10000 } - ], - { from: owner } - ); - await renbtc.transferOwnership(btcGateway.address); - await btcGateway.claimTokenOwnership(); - - registry = await GatewayRegistry.new(); - await registry.setGateway( - "BTC", - renbtc.address, - btcGateway.address - ); - - // Setup the contracts for testing - vesting = await Vesting.new(registry.address); - }); - - describe("can vest bitcoin", () => { - const amount = new BN(200000); - const amountAfterFee = new BN(199800); - const duration = 6; - - const addVestingSchedule = async () => { - const nHash = randomBytes(32); - - const startTime = 0; - const pHash = keccak256( - rawEncode( - ["address", "uint256", "uint16"], - [beneficiary, startTime, duration] - ) - ).toString("hex"); - - const hashForSignature = await btcGateway.hashForSignature.call( - Ox(pHash), - amount.toNumber(), - vesting.address, - nHash - ); - const sig = ecsign( - Buffer.from(hashForSignature.slice(2), "hex"), - privKey - ); - const sigString = Ox( - `${sig.r.toString("hex")}${sig.s.toString( - "hex" - )}${sig.v.toString(16)}` - ); - - // User should have no schedules prior to adding. - const schedule = await vesting.schedules.call(beneficiary); - (schedule as any).startTime.should.bignumber.equal(new BN(0)); - - await vesting.addVestingSchedule( - // Payload - beneficiary, - startTime, - duration, - // Required - amount, - nHash, - sigString - ); - }; - - it("can add a vesting schedule", async () => { - await addVestingSchedule(); - - const schedule = await vesting.schedules.call(beneficiary); - (schedule as any).startTime.should.bignumber.not.equal( - new BN(0) - ); - (schedule as any).amount.should.bignumber.equal(amountAfterFee); - (schedule as any).duration.should.bignumber.equal( - new BN(duration) - ); - }); - - // Calculate the claimable amount after a given number of elapsed months. - const amountClaimable = (elapsedMonths: number): BN => { - const amountBN = new BigNumber(amountAfterFee.toString()); - const resultBN = amountBN - .times(new BigNumber(elapsedMonths)) - .dividedToIntegerBy(new BigNumber(duration)); - return new BN(resultBN.toString()); - }; - - it("can check claimable amount", async () => { - let claimable = await vesting.calculateClaimable.call( - beneficiary - ); - claimable[0].should.bignumber.equal(new BN(0)); - claimable[1].should.bignumber.equal(new BN(0)); - - await addVestingSchedule(); - - claimable = await vesting.calculateClaimable.call(beneficiary); - claimable[0].should.bignumber.equal(new BN(0)); - claimable[1].should.bignumber.equal(new BN(0)); - - for (let i = 1; i <= duration; i++) { - await increaseTime(month); - - claimable = await vesting.calculateClaimable.call( - beneficiary - ); - claimable[0].should.bignumber.equal(new BN(i)); - claimable[1].should.bignumber.equal(amountClaimable(i)); - } - }); - - it("can claim vested bitcoin", async () => { - await addVestingSchedule(); - - // Claim after 3 months. - await increaseTime(month * 3); - - let claimable = await vesting.calculateClaimable.call( - beneficiary - ); - claimable[0].should.bignumber.equal(new BN(3)); - claimable[1].should.bignumber.equal(amountClaimable(3)); - - await vesting.claim(beneficiary, { from: beneficiary }); - - // Claim remaining at the end of the vesting period. - await increaseTime(month * (duration - 3)); - - claimable = await vesting.calculateClaimable.call(beneficiary); - claimable[0].should.bignumber.equal(new BN(duration - 3)); - claimable[1].should.bignumber.equal( - amountAfterFee.sub(amountClaimable(3)) - ); - - await vesting.claim(beneficiary, { from: beneficiary }); - - claimable = await vesting.calculateClaimable.call(beneficiary); - claimable[0].should.bignumber.equal(new BN(0)); - claimable[1].should.bignumber.equal(new BN(0)); - }); - - it("cannot claim more than the allocated amount of bitcoin", async () => { - await addVestingSchedule(); - - // Claim well after vesting period has ended. - await increaseTime(month * duration * 10); - - const claimable = await vesting.calculateClaimable.call( - beneficiary - ); - claimable[0].should.bignumber.equal(new BN(duration)); - claimable[1].should.bignumber.equal(amountAfterFee); - }); - }); - } -); diff --git a/test/helper/testUtils.ts b/test/helper/testUtils.ts index 991606a4..11562f81 100644 --- a/test/helper/testUtils.ts +++ b/test/helper/testUtils.ts @@ -69,14 +69,14 @@ export const randomAddress = (): string => { }; const increaseTimeHelper = async (seconds: number) => { - await new Promise((resolve, reject) => { + await new Promise((resolve, reject) => { // tslint:disable-next-line: no-floating-promises return web3.currentProvider.send( { jsonrpc: "2.0", method: "evm_increaseTime", params: [seconds], - id: 0 + id: 0, } as any, ((err: Error) => { if (err) { @@ -88,7 +88,7 @@ const increaseTimeHelper = async (seconds: number) => { jsonrpc: "2.0", method: "evm_mine", params: [], - id: new Date().getSeconds() + id: new Date().getSeconds(), } as any, ((innerErr: Error) => { if (innerErr) { @@ -123,13 +123,12 @@ export const increaseTime = async (seconds: number) => { export async function waitForEpoch(dnr: DarknodeRegistryLogicV1Instance) { // const timeout = MINIMUM_EPOCH_INTERVAL_SECONDS; const timeout = new BN( - (await dnr.minimumEpochInterval.call()).toString() + (await dnr.minimumEpochInterval()).toString() ).toNumber(); while (true) { // Must be an on-chain call, or the time won't be updated try { - await dnr.epoch(); - return; + return await dnr.epoch(); } catch (err) { // epoch reverted, epoch interval hasn't passed } @@ -139,10 +138,6 @@ export async function waitForEpoch(dnr: DarknodeRegistryLogicV1Instance) { } } -export const randomID = () => { - return keccak256(Math.random().toString()); -}; - export const deployProxy = async ( web3: Web3, ProxyContract: Truffle.Contract, @@ -160,8 +155,8 @@ export const deployProxy = async ( encodeCallData( web3, "initialize", - params.map(p => p.type), - params.map(p => p.value) + params.map((p) => p.type), + params.map((p) => p.value) ), options ); @@ -175,4 +170,82 @@ export const sigToString = (sig: ECDSASignature) => { }; export const sleep = (ms: number) => - new Promise(resolve => setTimeout(resolve, ms)); + new Promise((resolve) => setTimeout(resolve, ms)); + +export const HOURS = 60 * 60; +export const DAYS = 24 * HOURS; + +export const getBalance = async ( + token: string, + address: string +): Promise => { + if (token === ETHEREUM) { + return new BigNumber((await web3.eth.getBalance(address)).toString()); + } else { + const tokenContract = await ERC20.at(token); + return new BigNumber( + (await tokenContract.balanceOf(address)).toString() + ); + } +}; + +export const getSymbol = async (token: string): Promise => { + if (token === ETHEREUM) { + return "ETH"; + } else { + const tokenContract = await ERC20.at(token); + return await tokenContract.symbol(); + } +}; + +export const getDecimals = async (token: string): Promise => { + if (token === ETHEREUM) { + return 18; + } else { + const tokenContract = await ERC20.at(token); + return parseInt((await tokenContract.decimals()).toString(), 10); + } +}; + +export const transferToken = async ( + token: string, + to: string, + amount: BigNumber | string | number | BN +): Promise => { + if (token === ETHEREUM) { + const from = (await web3.eth.getAccounts())[0]; + return (await web3.eth.sendTransaction({ + to, + value: amount.toString(), + from, + })) as unknown as TransactionReceipt; + } else { + const tokenContract = await ERC20.at(token); + return (await tokenContract.transfer(to, amount.toString())).receipt; + } +}; + +export const isPromise = (x: any): x is Promise => { + return !!x.then; +}; + +export const toBN = < + X extends (string | number | BN) | Promise +>( + inp: X +): X extends string | number | BN ? BigNumber : Promise => { + if (isPromise(inp)) { + return inp.then((x) => new BigNumber(x.toString())) as X extends + | string + | number + | BN + ? BigNumber + : Promise; + } else { + return new BigNumber(inp.toString()) as X extends string | number | BN + ? BigNumber + : Promise; + } +}; + +export const range = (n: number) => Array.from(new Array(n)).map((_, i) => i); diff --git a/truffle.js b/truffle.js index 08b26b19..be31c17c 100644 --- a/truffle.js +++ b/truffle.js @@ -20,12 +20,13 @@ const kovanNetwork = { // @ts-ignore provider: () => new HDWalletProvider( - process.env.MNEMONIC_KOVAN, + process.env.MNEMONIC_TESTNET, `https://kovan.infura.io/v3/${process.env.INFURA_KEY}` ), network_id: 42, gas: 6721975, - gasPrice: 6.5 * GWEI + gasPrice: 6.5 * GWEI, + networkCheckTimeout: 20000 }; const mainNetwork = { @@ -36,16 +37,16 @@ const mainNetwork = { `https://mainnet.infura.io/v3/${process.env.INFURA_KEY}` ), network_id: 1, - gas: 8721975, - gasPrice: 18 * GWEI, - networkCheckTimeout: 10000 + gas: 6721975, + gasPrice: 42 * GWEI, + networkCheckTimeout: 20000 }; const ethRinkebyNetwork = { // @ts-ignore provider: () => new HDWalletProvider( - process.env.MNEMONIC_TESTNET || process.env.MNEMONIC_KOVAN, + process.env.MNEMONIC_TESTNET || process.env.MNEMONIC_TESTNET, `https://rinkeby.infura.io/v3/${process.env.INFURA_KEY}` ), network_id: 4, @@ -72,8 +73,8 @@ module.exports = { // // Use with `npm run test`, not with `npm run coverage` // reporter: "eth-gas-reporter", // reporterOptions: { - // currency: 'USD', - // gasPrice: 21 + // currency: "USD", + // gasPrice: 21 // }, enableTimeouts: false, useColors: true, diff --git a/tsconfig.json b/tsconfig.json index 27a62935..2eb034e4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { - "typeRoots": ["./types"], + "typeRoots": ["types"], "lib": ["es2015"], - "types": ["node", "mocha", "truffle-contracts", "chai"], + "types": ["node", "mocha", "truffle-typings", "chai"], "module": "commonjs", "noImplicitAny": true, "noImplicitReturns": true, @@ -10,5 +10,9 @@ "preserveConstEnums": true, "sourceMap": true, "esModuleInterop": true - } + }, + "include": [ + "test", + "types" + ] } diff --git a/yarn.lock b/yarn.lock index 3b0ecae0..7458eb85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,15 @@ # yarn lockfile v1 +"101@^1.0.0", "101@^1.2.0": + version "1.6.3" + resolved "https://registry.yarnpkg.com/101/-/101-1.6.3.tgz#9071196e60c47e4ce327075cf49c0ad79bd822fd" + integrity sha512-4dmQ45yY0Dx24Qxp+zAsNLlMF6tteCyfVzgbulvSyC7tCyd3V8sW76sS0tHq8NpcbXfWTKasfyfzU1Kd86oKzw== + dependencies: + clone "^1.0.2" + deep-eql "^0.1.3" + keypather "^1.10.2" + "@apollo/client@^3.1.5": version "3.3.11" resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.3.11.tgz#125051405e83dc899d471d43b79fd6045d92a802" @@ -498,6 +507,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.12.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.8.7": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" + integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.3.1": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" @@ -562,47 +578,151 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@ethersproject/abi@5.0.0-beta.142": - version "5.0.0-beta.142" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.0-beta.142.tgz#cde0ced7daa2fbc98e35a2c31203331907e84a39" - integrity sha512-vJ2V9fPNzi+8iutY4sjy6mgogkJtiGsd9hmpa1bjnGW6qnHOEkAV1fzVpvT002LlnjFgqgtzuLBDZob6oU7i8w== - dependencies: - "@ethersproject/address" ">=5.0.0-beta.128" - "@ethersproject/bignumber" ">=5.0.0-beta.130" - "@ethersproject/bytes" ">=5.0.0-beta.129" - "@ethersproject/constants" ">=5.0.0-beta.128" - "@ethersproject/hash" ">=5.0.0-beta.128" - "@ethersproject/keccak256" ">=5.0.0-beta.127" - "@ethersproject/logger" ">=5.0.0-beta.129" - "@ethersproject/properties" ">=5.0.0-beta.131" - "@ethersproject/strings" ">=5.0.0-beta.130" - -"@ethersproject/abi@5.0.0-beta.153": - version "5.0.0-beta.153" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz#43a37172b33794e4562999f6e2d555b7599a8eee" - integrity sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg== - dependencies: - "@ethersproject/address" ">=5.0.0-beta.128" - "@ethersproject/bignumber" ">=5.0.0-beta.130" - "@ethersproject/bytes" ">=5.0.0-beta.129" - "@ethersproject/constants" ">=5.0.0-beta.128" - "@ethersproject/hash" ">=5.0.0-beta.128" - "@ethersproject/keccak256" ">=5.0.0-beta.127" - "@ethersproject/logger" ">=5.0.0-beta.129" - "@ethersproject/properties" ">=5.0.0-beta.131" - "@ethersproject/strings" ">=5.0.0-beta.130" - -"@ethersproject/address@>=5.0.0-beta.128": - version "5.0.0-beta.134" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.0-beta.134.tgz#9c1790c87b763dc547ac12e2dbc9fa78d0799a71" - integrity sha512-FHhUVJTUIg2pXvOOhIt8sB1cQbcwrzZKzf9CPV7JM1auli20nGoYhyMFYGK7u++GXzTMJduIkU1OwlIBupewDw== - dependencies: - "@ethersproject/bignumber" ">=5.0.0-beta.130" - "@ethersproject/bytes" ">=5.0.0-beta.129" - "@ethersproject/keccak256" ">=5.0.0-beta.127" - "@ethersproject/logger" ">=5.0.0-beta.129" - "@ethersproject/rlp" ">=5.0.0-beta.126" - bn.js "^4.4.0" +"@consento/sync-randombytes@^1.0.4", "@consento/sync-randombytes@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@consento/sync-randombytes/-/sync-randombytes-1.0.5.tgz#5be6bc58c6a6fa6e09f04cc684d037e29e6c28d5" + integrity sha512-mPJ2XvrTLQGEdhleDuSIkWtVWnvmhREOC1FjorV1nlK49t/52Z9X1d618gTj6nlQghRLiYvcd8oL4vZ2YZuDIQ== + dependencies: + buffer "^5.4.3" + seedrandom "^3.0.5" + +"@cspotcode/source-map-consumer@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== + +"@cspotcode/source-map-support@0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz#118511f316e2e87ee4294761868e254d3da47960" + integrity sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg== + dependencies: + "@cspotcode/source-map-consumer" "0.8.0" + +"@ensdomains/address-encoder@^0.1.7": + version "0.1.9" + resolved "https://registry.yarnpkg.com/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz#f948c485443d9ef7ed2c0c4790e931c33334d02d" + integrity sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg== + dependencies: + bech32 "^1.1.3" + blakejs "^1.1.0" + bn.js "^4.11.8" + bs58 "^4.0.1" + crypto-addr-codec "^0.1.7" + nano-base32 "^1.0.1" + ripemd160 "^2.0.2" + +"@ensdomains/ens@0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.3.tgz#f4a6b55146fe526c9a50e13f373bf90d36ca94dc" + integrity sha512-btC+fGze//ml8SMNCx5DgwM8+kG2t+qDCZrqlL/2+PV4CNxnRIpR3egZ49D9FqS52PFoYLmz6MaQfl7AO3pUMA== + dependencies: + bluebird "^3.5.2" + eth-ens-namehash "^2.0.8" + ethereumjs-testrpc "^6.0.3" + ganache-cli "^6.1.0" + solc "^0.4.20" + testrpc "0.0.1" + web3-utils "^1.0.0-beta.31" + +"@ensdomains/ensjs@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@ensdomains/ensjs/-/ensjs-2.0.1.tgz#c27438f9ca074825ddb08430988c7decf2062a91" + integrity sha512-gZLntzE1xqPNkPvaHdJlV5DXHms8JbHBwrXc2xNrL1AylERK01Lj/txCCZyVQqFd3TvUO1laDbfUv8VII0qrjg== + dependencies: + "@babel/runtime" "^7.4.4" + "@ensdomains/address-encoder" "^0.1.7" + "@ensdomains/ens" "0.4.3" + "@ensdomains/resolver" "0.2.4" + content-hash "^2.5.2" + eth-ens-namehash "^2.0.8" + ethers "^5.0.13" + js-sha3 "^0.8.0" + +"@ensdomains/resolver@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89" + integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA== + +"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.4.0.tgz#2d67f6e6ba22246c5c89104e6b9a119fb3039766" + integrity sha512-UdkhFWzWcJCZVsj1O/H8/oqj/0RVYjLc1OhPjBrQdALAkQHpCp8xXI4WLnuGTADqTdJZww0NtgwG+TRPkXt27w== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.0" + +"@ethereumjs/tx@^3.2.1": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.0.tgz#14ed1b7fa0f28e1cd61e3ecbdab824205f6a4378" + integrity sha512-yTwEj2lVzSMgE6Hjw9Oa1DZks/nKTWM8Wn4ykDNapBPua2f4nXO3qKnni86O6lgDj5fVNRqbDsD0yy7/XNGDEA== + dependencies: + "@ethereumjs/common" "^2.4.0" + ethereumjs-util "^7.1.0" + +"@ethersproject/abi@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" + integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw== + dependencies: + "@ethersproject/address" "^5.0.4" + "@ethersproject/bignumber" "^5.0.7" + "@ethersproject/bytes" "^5.0.4" + "@ethersproject/constants" "^5.0.4" + "@ethersproject/hash" "^5.0.4" + "@ethersproject/keccak256" "^5.0.3" + "@ethersproject/logger" "^5.0.5" + "@ethersproject/properties" "^5.0.3" + "@ethersproject/strings" "^5.0.4" + +"@ethersproject/abi@5.4.0", "@ethersproject/abi@^5.0.0-beta.146", "@ethersproject/abi@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.0.tgz#a6d63bdb3672f738398846d4279fa6b6c9818242" + integrity sha512-9gU2H+/yK1j2eVMdzm6xvHSnMxk8waIHQGYCZg5uvAyH0rsAzxkModzBSpbAkAuhKFEovC2S9hM4nPuLym8IZw== + dependencies: + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + +"@ethersproject/abstract-provider@5.4.1", "@ethersproject/abstract-provider@^5.4.0": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz#e404309a29f771bd4d28dbafadcaa184668c2a6e" + integrity sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ== + dependencies: + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/networks" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/web" "^5.4.0" + +"@ethersproject/abstract-signer@5.4.1", "@ethersproject/abstract-signer@^5.4.0": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz#e4e9abcf4dd4f1ba0db7dff9746a5f78f355ea81" + integrity sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA== + dependencies: + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + +"@ethersproject/address@5.4.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.4.0.tgz#ba2d00a0f8c4c0854933b963b9a3a9f6eb4a37a3" + integrity sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q== + dependencies: + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/rlp" "^5.4.0" "@ethersproject/address@^5.0.9": version "5.0.11" @@ -615,15 +735,29 @@ "@ethersproject/logger" "^5.0.8" "@ethersproject/rlp" "^5.0.7" -"@ethersproject/bignumber@>=5.0.0-beta.130": - version "5.0.0-beta.135" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.0-beta.135.tgz#9d464df8967f5d314d109497e4f25ab82314c098" - integrity sha512-7Tw2NgHzK7o+70bwyoaIZCbRycz+saWNU0sLOYnis3qYXwYsdTL+Rm0PMGA2v4jyHJt7BPS2pxGww+akVXbX+w== +"@ethersproject/base64@5.4.0", "@ethersproject/base64@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.4.0.tgz#7252bf65295954c9048c7ca5f43e5c86441b2a9a" + integrity sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ== dependencies: - "@ethersproject/bytes" ">=5.0.0-beta.129" - "@ethersproject/logger" ">=5.0.0-beta.129" - "@ethersproject/properties" ">=5.0.0-beta.131" - bn.js "^4.4.0" + "@ethersproject/bytes" "^5.4.0" + +"@ethersproject/basex@5.4.0", "@ethersproject/basex@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.4.0.tgz#0a2da0f4e76c504a94f2b21d3161ed9438c7f8a6" + integrity sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + +"@ethersproject/bignumber@5.4.1", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.4.0": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.1.tgz#64399d3b9ae80aa83d483e550ba57ea062c1042d" + integrity sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + bn.js "^4.11.9" "@ethersproject/bignumber@^5.0.13": version "5.0.15" @@ -634,12 +768,12 @@ "@ethersproject/logger" "^5.0.8" bn.js "^4.4.0" -"@ethersproject/bytes@>=5.0.0-beta.129": - version "5.0.0-beta.136" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.0-beta.136.tgz#3aa651df43b44c9e355eba993d8ab4440cb964bb" - integrity sha512-yoi5Ul16ScMHVNsf+oCDGaAnj+rtXxITcneXPeDl8h0rk1VNIqb1WKKvooD5WtM0oAglyauuDahHIF+4+5G/Sg== +"@ethersproject/bytes@5.4.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.4.0.tgz#56fa32ce3bf67153756dbaefda921d1d4774404e" + integrity sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA== dependencies: - "@ethersproject/logger" ">=5.0.0-beta.129" + "@ethersproject/logger" "^5.4.0" "@ethersproject/bytes@^5.0.9": version "5.0.11" @@ -648,12 +782,12 @@ dependencies: "@ethersproject/logger" "^5.0.8" -"@ethersproject/constants@>=5.0.0-beta.128": - version "5.0.0-beta.133" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.0-beta.133.tgz#af4ccd7232f3ed73aebe066a695ede32c497a394" - integrity sha512-VCTpk3AF00mlWQw1vg+fI6qCo0qO5EVWK574t4HNBKW6X748jc9UJPryKUz9JgZ64ZQupyLM92wHilsG/YTpNQ== +"@ethersproject/constants@5.4.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.4.0.tgz#ee0bdcb30bf1b532d2353c977bf2ef1ee117958a" + integrity sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q== dependencies: - "@ethersproject/bignumber" ">=5.0.0-beta.130" + "@ethersproject/bignumber" "^5.4.0" "@ethersproject/constants@^5.0.8": version "5.0.10" @@ -662,22 +796,79 @@ dependencies: "@ethersproject/bignumber" "^5.0.13" -"@ethersproject/hash@>=5.0.0-beta.128": - version "5.0.0-beta.133" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.0-beta.133.tgz#bda0c74454a82359642033f27c5157963495fcdf" - integrity sha512-tfF11QxFlJCy92rMtUZ0kImchWhlYXkN5Gj5cYfTcCdWEUKwNq1LljDnlrjV2JabO6s5enb8uiUj4RBTo2+Rgw== - dependencies: - "@ethersproject/bytes" ">=5.0.0-beta.129" - "@ethersproject/keccak256" ">=5.0.0-beta.127" - "@ethersproject/logger" ">=5.0.0-beta.129" - "@ethersproject/strings" ">=5.0.0-beta.130" +"@ethersproject/contracts@5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.1.tgz#3eb4f35b7fe60a962a75804ada2746494df3e470" + integrity sha512-m+z2ZgPy4pyR15Je//dUaymRUZq5MtDajF6GwFbGAVmKz/RF+DNIPwF0k5qEcL3wPGVqUjFg2/krlCRVTU4T5w== + dependencies: + "@ethersproject/abi" "^5.4.0" + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + +"@ethersproject/hash@5.4.0", "@ethersproject/hash@^5.0.4", "@ethersproject/hash@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.4.0.tgz#d18a8e927e828e22860a011f39e429d388344ae0" + integrity sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA== + dependencies: + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + +"@ethersproject/hdnode@5.4.0", "@ethersproject/hdnode@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.4.0.tgz#4bc9999b9a12eb5ce80c5faa83114a57e4107cac" + integrity sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q== + dependencies: + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/basex" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/pbkdf2" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + "@ethersproject/signing-key" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/wordlists" "^5.4.0" + +"@ethersproject/json-wallets@5.4.0", "@ethersproject/json-wallets@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz#2583341cfe313fc9856642e8ace3080154145e95" + integrity sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ== + dependencies: + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/hdnode" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/pbkdf2" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/random" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + aes-js "3.0.0" + scrypt-js "3.0.1" -"@ethersproject/keccak256@>=5.0.0-beta.127": - version "5.0.0-beta.131" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.0-beta.131.tgz#b5778723ee75208065b9b9ad30c71d480f41bb31" - integrity sha512-KQnqMwGV0IMOjAr/UTFO8DuLrmN1uaMvcV3zh9hiXhh3rCuY+WXdeUh49w1VQ94kBKmaP0qfGb7z4SdhUWUHjw== +"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318" + integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A== dependencies: - "@ethersproject/bytes" ">=5.0.0-beta.129" + "@ethersproject/bytes" "^5.4.0" js-sha3 "0.5.7" "@ethersproject/keccak256@^5.0.7": @@ -688,22 +879,37 @@ "@ethersproject/bytes" "^5.0.9" js-sha3 "0.5.7" -"@ethersproject/logger@>=5.0.0-beta.129": - version "5.0.0-beta.134" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.0-beta.134.tgz#9eed0e2a733287476978f01b4304c6abf345072d" - integrity sha512-0nqZqf12/dCNfUhmpSvJweW6xQk9ixqgo/Fy3bVMbGKbuzezZtKPphGB5ibspvimWrVK7U6jLBTKHgRQKjU8Lg== +"@ethersproject/logger@5.4.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.0.tgz#f39adadf62ad610c420bcd156fd41270e91b3ca9" + integrity sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ== "@ethersproject/logger@^5.0.8": version "5.0.10" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.10.tgz#fd884688b3143253e0356ef92d5f22d109d2e026" integrity sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw== -"@ethersproject/properties@>=5.0.0-beta.131": - version "5.0.0-beta.137" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.0-beta.137.tgz#de393d450f1de0775e22d2acfb00e4f12223c2f7" - integrity sha512-AcvoVmV0aXixa7SxaPj237OAIEXl/UMJf4vl2yFNzWjf77mMyZaZoKLLOh2zes++mLeQ3EJEIebSWFm06L5NuA== +"@ethersproject/networks@5.4.2", "@ethersproject/networks@^5.4.0": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.2.tgz#2247d977626e97e2c3b8ee73cd2457babde0ce35" + integrity sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw== dependencies: - "@ethersproject/logger" ">=5.0.0-beta.129" + "@ethersproject/logger" "^5.4.0" + +"@ethersproject/pbkdf2@5.4.0", "@ethersproject/pbkdf2@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz#ed88782a67fda1594c22d60d0ca911a9d669641c" + integrity sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + +"@ethersproject/properties@5.4.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.4.0.tgz#38ba20539b44dcc5d5f80c45ad902017dcdbefe7" + integrity sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A== + dependencies: + "@ethersproject/logger" "^5.4.0" "@ethersproject/properties@^5.0.7": version "5.0.9" @@ -712,12 +918,46 @@ dependencies: "@ethersproject/logger" "^5.0.8" -"@ethersproject/rlp@>=5.0.0-beta.126": - version "5.0.0-beta.131" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.0-beta.131.tgz#4a0c0c314e26ed7f01be6bca16308d629a8022d2" - integrity sha512-sUJUGbywlnuk2frkSWzWiGenTrwOnrKQaNKJqjCGmK35x0WIzcR4/1gC6jWa0hpWJT6Seq6J6SCT5CS+ZWCFNw== +"@ethersproject/providers@5.4.4": + version "5.4.4" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.4.tgz#6729120317942fc0ab0ecdb35e944ec6bbedb795" + integrity sha512-mQevyXj2X2D3l8p/JGDYFZbODhZjW6On15DnCK4Xc9y6b+P0vqorQC/j46omWSm4cyo7BQ/rgfhXNYmvAfyZoQ== + dependencies: + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/basex" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/networks" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/random" "^5.4.0" + "@ethersproject/rlp" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/web" "^5.4.0" + bech32 "1.1.4" + ws "7.4.6" + +"@ethersproject/random@5.4.0", "@ethersproject/random@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.4.0.tgz#9cdde60e160d024be39cc16f8de3b9ce39191e16" + integrity sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw== dependencies: - "@ethersproject/bytes" ">=5.0.0-beta.129" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + +"@ethersproject/rlp@5.4.0", "@ethersproject/rlp@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.4.0.tgz#de61afda5ff979454e76d3b3310a6c32ad060931" + integrity sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" "@ethersproject/rlp@^5.0.7": version "5.0.9" @@ -727,6 +967,27 @@ "@ethersproject/bytes" "^5.0.9" "@ethersproject/logger" "^5.0.8" +"@ethersproject/sha2@5.4.0", "@ethersproject/sha2@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.4.0.tgz#c9a8db1037014cbc4e9482bd662f86c090440371" + integrity sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.4.0", "@ethersproject/signing-key@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.4.0.tgz#2f05120984e81cf89a3d5f6dec5c68ee0894fbec" + integrity sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.7" + "@ethersproject/signing-key@^5.0.8": version "5.0.11" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.11.tgz#19fc5c4597e18ad0a5efc6417ba5b74069fdd2af" @@ -737,14 +998,40 @@ "@ethersproject/properties" "^5.0.7" elliptic "6.5.4" -"@ethersproject/strings@>=5.0.0-beta.130": - version "5.0.0-beta.136" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.0-beta.136.tgz#053cbf4f9f96a7537cbc50300597f2d707907f51" - integrity sha512-Hb9RvTrgGcOavHvtQZz+AuijB79BO3g1cfF2MeMfCU9ID4j3mbZv/olzDMS2pK9r4aERJpAS94AmlWzCgoY2LQ== +"@ethersproject/solidity@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.4.0.tgz#1305e058ea02dc4891df18b33232b11a14ece9ec" + integrity sha512-XFQTZ7wFSHOhHcV1DpcWj7VXECEiSrBuv7JErJvB9Uo+KfCdc3QtUZV+Vjh/AAaYgezUEKbCtE6Khjm44seevQ== + dependencies: + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + +"@ethersproject/strings@5.4.0", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.4.0.tgz#fb12270132dd84b02906a8d895ae7e7fa3d07d9a" + integrity sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA== dependencies: - "@ethersproject/bytes" ">=5.0.0-beta.129" - "@ethersproject/constants" ">=5.0.0-beta.128" - "@ethersproject/logger" ">=5.0.0-beta.129" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + +"@ethersproject/transactions@5.4.0", "@ethersproject/transactions@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.4.0.tgz#a159d035179334bd92f340ce0f77e83e9e1522e0" + integrity sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ== + dependencies: + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/rlp" "^5.4.0" + "@ethersproject/signing-key" "^5.4.0" "@ethersproject/transactions@^5.0.0-beta.135": version "5.0.11" @@ -761,6 +1048,58 @@ "@ethersproject/rlp" "^5.0.7" "@ethersproject/signing-key" "^5.0.8" +"@ethersproject/units@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.4.0.tgz#d57477a4498b14b88b10396062c8cbbaf20c79fe" + integrity sha512-Z88krX40KCp+JqPCP5oPv5p750g+uU6gopDYRTBGcDvOASh6qhiEYCRatuM/suC4S2XW9Zz90QI35MfSrTIaFg== + dependencies: + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + +"@ethersproject/wallet@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.4.0.tgz#fa5b59830b42e9be56eadd45a16a2e0933ad9353" + integrity sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ== + dependencies: + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/hdnode" "^5.4.0" + "@ethersproject/json-wallets" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/random" "^5.4.0" + "@ethersproject/signing-key" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/wordlists" "^5.4.0" + +"@ethersproject/web@5.4.0", "@ethersproject/web@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.4.0.tgz#49fac173b96992334ed36a175538ba07a7413d1f" + integrity sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og== + dependencies: + "@ethersproject/base64" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + +"@ethersproject/wordlists@5.4.0", "@ethersproject/wordlists@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.4.0.tgz#f34205ec3bbc9e2c49cadaee774cf0b07e7573d7" + integrity sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + "@graphql-tools/batch-delegate@^6.2.4", "@graphql-tools/batch-delegate@^6.2.6": version "6.2.6" resolved "https://registry.yarnpkg.com/@graphql-tools/batch-delegate/-/batch-delegate-6.2.6.tgz#fbea98dc825f87ef29ea5f3f371912c2a2aa2f2c" @@ -1056,6 +1395,81 @@ normalize-path "^2.0.1" through2 "^2.0.3" +"@improbable-eng/grpc-web@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@improbable-eng/grpc-web/-/grpc-web-0.12.0.tgz#9b10a7edf2a1d7672f8997e34a60e7b70e49738f" + integrity sha512-uJjgMPngreRTYPBuo6gswMj1gK39Wbqre/RgE0XnSDXJRg6ST7ZhuS53dFE6Vc2CX4jxgl+cO+0B3op8LA4Q0Q== + dependencies: + browser-headers "^0.4.0" + +"@improbable-eng/grpc-web@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@improbable-eng/grpc-web/-/grpc-web-0.13.0.tgz#289e6fc4dafc00b1af8e2b93b970e6892299014d" + integrity sha512-vaxxT+Qwb7GPqDQrBV4vAAfH0HywgOLw6xGIKXd9Q8hcV63CQhmS3p4+pZ9/wVvt4Ph3ZDK9fdC983b9aGMUFg== + dependencies: + browser-headers "^0.4.0" + +"@improbable-eng/grpc-web@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@improbable-eng/grpc-web/-/grpc-web-0.14.0.tgz#a71c5af471dcef6a2810798f71f93ed8d6ac3817" + integrity sha512-ag1PTMWpBZKGi6GrEcZ4lkU5Qag23Xjo10BmnK9qyx4TMmSVcWmQ3rECirfQzm2uogrM9n1M6xfOpFsJP62ivA== + dependencies: + browser-headers "^0.4.1" + +"@ledgerhq/devices@^5.51.1": + version "5.51.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-5.51.1.tgz#d741a4a5d8f17c2f9d282fd27147e6fe1999edb7" + integrity sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA== + dependencies: + "@ledgerhq/errors" "^5.50.0" + "@ledgerhq/logs" "^5.50.0" + rxjs "6" + semver "^7.3.5" + +"@ledgerhq/errors@^5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-5.50.0.tgz#e3a6834cb8c19346efca214c1af84ed28e69dad9" + integrity sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow== + +"@ledgerhq/hw-transport-webusb@^5.22.0": + version "5.53.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-5.53.1.tgz#3df8c401417571e3bcacc378d8aca587214b05ae" + integrity sha512-A/f+xcrkIAZiJrvPpDvsrjxQX4cI2kbdiunQkwsYmOG3Bp4z89ZnsBiC7YBst4n2/g+QgTg0/KPVtODU5djooQ== + dependencies: + "@ledgerhq/devices" "^5.51.1" + "@ledgerhq/errors" "^5.50.0" + "@ledgerhq/hw-transport" "^5.51.1" + "@ledgerhq/logs" "^5.50.0" + +"@ledgerhq/hw-transport@^5.51.1": + version "5.51.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz#8dd14a8e58cbee4df0c29eaeef983a79f5f22578" + integrity sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw== + dependencies: + "@ledgerhq/devices" "^5.51.1" + "@ledgerhq/errors" "^5.50.0" + events "^3.3.0" + +"@ledgerhq/logs@^5.50.0": + version "5.50.0" + resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.50.0.tgz#29c6419e8379d496ab6d0426eadf3c4d100cd186" + integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA== + +"@multiformats/base-x@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121" + integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== + +"@nodefactory/filsnap-adapter@^0.2.1": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@nodefactory/filsnap-adapter/-/filsnap-adapter-0.2.2.tgz#0e182150ce3825b6c26b8512ab9355ab7759b498" + integrity sha512-nbaYMwVopOXN2bWOdDY3il6gGL9qMuCmMN4WPuoxzJjSnAMJNqEeSe6MNNJ/fYBLipZcJfAtirNXRrFLFN+Tvw== + +"@nodefactory/filsnap-types@^0.2.1": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@nodefactory/filsnap-types/-/filsnap-types-0.2.2.tgz#f95cbf93ce5815d8d151c60663940086b015cb8f" + integrity sha512-XT1tE2vrYF2D0tSNNekgjqKRpqPQn4W72eKul9dDCul/8ykouhqnVTyjFHYvBhlBWE0PK3nmG7i83QvhgGSiMw== + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -1077,20 +1491,20 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@openzeppelin/contracts-ethereum-package@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-ethereum-package/-/contracts-ethereum-package-2.4.0.tgz#cd98612022cadb8710c26901bc564240a19a9b40" - integrity sha512-GC1aOgTnuNnlhdYOCKFizLCQRgYlbImWi+aJ9Lw4Yw4BSLHzfPg+XV0tgn9l+KnFAzgoUEg2aD2wmaHZBjEnSw== - -"@openzeppelin/contracts@^2.5.0": +"@openzeppelin/contracts-ethereum-package@^2.5.0": version "2.5.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-2.5.0.tgz#e327a98ba1d26b7756ff62885a0aa0967a375449" - integrity sha512-t3jm8FrhL9tkkJTofkznTqo/XXdHi21w5yXwalEnaMOp22ZwZ0f/mmKdlgMMLPFa6bSVHbY88mKESwJT/7m5Lg== + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-ethereum-package/-/contracts-ethereum-package-2.5.0.tgz#cfb4b91f8132edde7e04bcd032575d4c6b544f4a" + integrity sha512-14CijdTyy4Y/3D3UUeFC2oW12nt1Yq1M8gFOtkuODEvSYPe3YSAKnKyhUeGf0UDNCZzwfGr15KdiFK6AoJjoSQ== -"@openzeppelin/upgrades@^2.7.2": - version "2.7.2" - resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades/-/upgrades-2.7.2.tgz#140124305af7aee935566e735f2aa970880ab3d1" - integrity sha512-RU63TpSLNRjoeC6M4IeaEA3lI8UP6DdWF5L+gru9uExU+A/OvrhfepHfNd5lFQtkCB77oQ2I1wauE75K5a/ysg== +"@openzeppelin/contracts@^2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-2.5.1.tgz#c76e3fc57aa224da3718ec351812a4251289db31" + integrity sha512-qIy6tLx8rtybEsIOAlrM4J/85s2q2nPkDqj/Rx46VakBZ0LwtFhXIVub96LXHczQX0vaqmAueDqNPXtbSXSaYQ== + +"@openzeppelin/upgrades@^2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades/-/upgrades-2.8.0.tgz#8086ab9c99d9f8dac7205030b0f9e7e4a280c4a3" + integrity sha512-LzjTQPeljPsgHDPdZyH9cMCbIHZILgd2cpNcYEkdsC2IylBYRHShlbEDXJV9snnqg9JWfzPiKIqyj3XVliwtqQ== dependencies: "@types/cbor" "^2.0.0" axios "^0.18.0" @@ -1099,27 +1513,7 @@ chalk "^2.4.1" ethers "^4.0.20" glob "^7.1.3" - lodash.concat "^4.5.0" - lodash.difference "^4.5.0" - lodash.every "^4.6.0" - lodash.findlast "^4.6.0" - lodash.flatten "^4.4.0" - lodash.includes "^4.3.0" - lodash.invertby "^4.7.0" - lodash.isempty "^4.4.0" - lodash.isequal "^4.5.0" - lodash.isstring "^4.0.1" - lodash.keys "^4.2.0" - lodash.map "^4.6.0" - lodash.omit "^4.5.0" - lodash.pick "^4.4.0" - lodash.pickby "^4.6.0" - lodash.random "^3.2.0" - lodash.reverse "^4.0.1" - lodash.some "^4.6.0" - lodash.uniq "^4.5.0" - lodash.values "^4.3.0" - lodash.without "^4.4.0" + lodash "^4.17.15" semver "^5.5.1" spinnies "^0.4.2" truffle-flattener "^1.4.0" @@ -1225,6 +1619,11 @@ resolved "https://registry.yarnpkg.com/@redux-saga/types/-/types-1.1.0.tgz#0e81ce56b4883b4b2a3001ebe1ab298b84237204" integrity sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg== +"@repeaterjs/repeater@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca" + integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA== + "@resolver-engine/core@^0.2.1": version "0.2.1" resolved "https://registry.yarnpkg.com/@resolver-engine/core/-/core-0.2.1.tgz#0d71803f6d3b8cb2e9ed481a1bf0ca5f5256d0c0" @@ -1264,6 +1663,18 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== +"@solidity-parser/parser@^0.12.0": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.12.2.tgz#1afad367cb29a2ed8cdd4a3a62701c2821fb578f" + integrity sha512-d7VS7PxgMosm5NyaiyDJRNID5pK4AWj1l64Dbz0147hJgy5k2C0/ZiKK/9u5c5K+HRUVHmp+RMvGEjGh84oA5Q== + +"@solidity-parser/parser@^0.13.2": + version "0.13.2" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.13.2.tgz#b6c71d8ca0b382d90a7bbed241f9bc110af65cbe" + integrity sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw== + dependencies: + antlr4ts "^0.5.0-alpha.4" + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -1271,29 +1682,273 @@ dependencies: defer-to-connect "^1.0.1" -"@truffle/abi-utils@^0.1.4", "@truffle/abi-utils@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.1.5.tgz#95b39ee0cb6baf777fdbaa2ac6d901ab8b0f8c58" - integrity sha512-PvCN/qebM0boK2YycX3sMe6CwoLtB7cpYj2ugHPtcQ+Zpg1hQRGS+GRLeBuQg3RR5X8IxzLb4YPZh5dnJxMZYA== +"@textile/buckets-grpc@2.6.6": + version "2.6.6" + resolved "https://registry.yarnpkg.com/@textile/buckets-grpc/-/buckets-grpc-2.6.6.tgz#304bdef37c81f0bdf2aa98f52d3b437bf4ab9d14" + integrity sha512-Gg+96RviTLNnSX8rhPxFgREJn3Ss2wca5Szk60nOenW+GoVIc+8dtsA9bE/6Vh5Gn85zAd17m1C2k6PbJK8x3Q== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@types/google-protobuf" "^3.7.4" + google-protobuf "^3.13.0" + +"@textile/buckets@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@textile/buckets/-/buckets-6.1.0.tgz#9b33115035813e121e47d75ccbe6ed49af2c8d38" + integrity sha512-39pGJicewq7GMKUrBubkh4QHuGL+v6TkkV70GG+VRwD3UENEAoDSPrA8OZYUX+sgAtBuiWWij+ZB2TE2bxagkg== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@repeaterjs/repeater" "^3.0.4" + "@textile/buckets-grpc" "2.6.6" + "@textile/context" "^0.12.0" + "@textile/crypto" "^4.2.0" + "@textile/grpc-authentication" "^3.4.0" + "@textile/grpc-connection" "^2.5.0" + "@textile/grpc-transport" "^0.5.0" + "@textile/hub-grpc" "2.6.6" + "@textile/hub-threads-client" "^5.4.0" + "@textile/security" "^0.9.0" + "@textile/threads-id" "^0.6.0" + abort-controller "^3.0.0" + cids "^1.1.4" + it-drain "^1.0.3" + loglevel "^1.6.8" + paramap-it "^0.1.1" + +"@textile/context@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@textile/context/-/context-0.12.0.tgz#dfced24f45be5a99a7b46135c2a85c39006694c3" + integrity sha512-VXH6QXCHVqQDXBC5pxwENFTuSI+LidC5a+qA6MSoCXtDKuqsaqkLHj7J/ZMKezWGxDU8O9WReXpzYFnlYZKyMg== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@textile/security" "^0.9.0" + +"@textile/crypto@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@textile/crypto/-/crypto-4.2.0.tgz#fb3060d9cd98f2b6b2eb0d802e4d945d00043ce9" + integrity sha512-E7K9mCuDkCptqhGTk3iYCoNg44Q0kiWUIzf3vSmDqP60TLROFbg7h45jeh+tiHCFw67jlPm7RE62yUI9/AE5Qw== + dependencies: + "@types/ed2curve" "^0.2.2" + ed2curve "^0.3.0" + fastestsmallesttextencoderdecoder "^1.0.22" + multibase "^3.1.0" + tweetnacl "^1.0.3" + +"@textile/grpc-authentication@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@textile/grpc-authentication/-/grpc-authentication-3.4.0.tgz#78d20fa92dd55a521d2ed5b4a7b1bcd2a02d728c" + integrity sha512-UZsbkSXSbn8TQStoCAhqwt63as6rmQlVprqGJFNp+K1miL55jK1tU/lcVzOjmS33TPkf5PApJ18m2bkiHpR+kw== + dependencies: + "@textile/context" "^0.12.0" + "@textile/crypto" "^4.2.0" + "@textile/grpc-connection" "^2.5.0" + "@textile/hub-threads-client" "^5.4.0" + "@textile/security" "^0.9.0" + +"@textile/grpc-connection@^2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@textile/grpc-connection/-/grpc-connection-2.5.0.tgz#83c80248b5b6a42444ee74f6be50d89b31bc6a92" + integrity sha512-KyBSDmOhGLW/pT1MVMqkZNXec/V2PW42MgFIBeXHzUs3cvCSj33+4d0fjB1OYvwTmhBArpqzKSbl94dTHOCoEg== + dependencies: + "@improbable-eng/grpc-web" "^0.12.0" + "@textile/context" "^0.12.0" + "@textile/grpc-transport" "^0.5.0" + +"@textile/grpc-powergate-client@^2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@textile/grpc-powergate-client/-/grpc-powergate-client-2.6.2.tgz#c267cc3e3dd1e68673c234d5465ff70bed843df6" + integrity sha512-ODe22lveqPiSkBsxnhLIRKQzZVwvyqDVx6WBPQJZI4yxrja5SDOq6/yH2Dtmqyfxg8BOobFvn+tid3wexRZjnQ== + dependencies: + "@improbable-eng/grpc-web" "^0.14.0" + "@types/google-protobuf" "^3.15.2" + google-protobuf "^3.17.3" + +"@textile/grpc-transport@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@textile/grpc-transport/-/grpc-transport-0.5.0.tgz#28fc7f21f8e84820b7535fb143156be9deae0e81" + integrity sha512-d74MA/TbU9dZ3BzLy2Esuh5dTdCaLk6d6rZYf5Sea4GMhZZMo8I/bkftLIicIxXdX/l8s0E5vo+JF6fkYUqMyA== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@types/ws" "^7.2.6" + isomorphic-ws "^4.0.1" + loglevel "^1.6.6" + ws "^7.2.1" + +"@textile/hub-filecoin@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@textile/hub-filecoin/-/hub-filecoin-2.1.0.tgz#627eaac4c733a695bfea54ff470fc3f50686592d" + integrity sha512-/SWtBIEzPKKEMx5d4C6UZGVdoxxnV2C//pWBv5gRWQNDb2yJYKLftvsj1BQ1TpgdAlFyXZT9g1TgKT++zcOnHA== + dependencies: + "@improbable-eng/grpc-web" "^0.12.0" + "@textile/context" "^0.12.0" + "@textile/crypto" "^4.2.0" + "@textile/grpc-authentication" "^3.4.0" + "@textile/grpc-connection" "^2.5.0" + "@textile/grpc-powergate-client" "^2.6.2" + "@textile/hub-grpc" "2.6.6" + "@textile/security" "^0.9.0" + event-iterator "^2.0.0" + loglevel "^1.6.8" + +"@textile/hub-grpc@2.6.6": + version "2.6.6" + resolved "https://registry.yarnpkg.com/@textile/hub-grpc/-/hub-grpc-2.6.6.tgz#c99392490885760f357b58e72812066aac0ffeac" + integrity sha512-PHoLUE1lq0hyiVjIucPHRxps8r1oafXHIgmAR99+Lk4TwAF2MXx5rfxYhg1dEJ3ches8ZuNbVGkiNIXroIoZ8Q== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@types/google-protobuf" "^3.7.4" + google-protobuf "^3.13.0" + +"@textile/hub-threads-client@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@textile/hub-threads-client/-/hub-threads-client-5.4.0.tgz#9ea261cda2fa1b4da547cf4d7e84506a63af30d6" + integrity sha512-V2Y7mcjptAhahMO2P1ytnW9kT87kDeWVwzE49M2xpocnoURoTl4suU022fq894ALcs/7b+bf5cY0M6kifMRA1w== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@textile/context" "^0.12.0" + "@textile/hub-grpc" "2.6.6" + "@textile/security" "^0.9.0" + "@textile/threads-client" "^2.2.0" + "@textile/threads-id" "^0.6.0" + "@textile/users-grpc" "2.6.6" + loglevel "^1.7.0" + +"@textile/hub@^6.0.2": + version "6.2.0" + resolved "https://registry.yarnpkg.com/@textile/hub/-/hub-6.2.0.tgz#10c84abfe311548b7d022b4fab1d150980434a21" + integrity sha512-r5GRaZ2G4GBwC7tcbNAtYuzmhFeH9y/Eul1CtUqhoOQZFQnLQWHclj08zi5NchuLnnQbLuCIc+8KQHlp8jllGQ== + dependencies: + "@textile/buckets" "^6.1.0" + "@textile/crypto" "^4.2.0" + "@textile/grpc-authentication" "^3.4.0" + "@textile/hub-filecoin" "^2.1.0" + "@textile/hub-grpc" "2.6.6" + "@textile/hub-threads-client" "^5.4.0" + "@textile/security" "^0.9.0" + "@textile/threads-id" "^0.6.0" + "@textile/users" "^6.1.0" + loglevel "^1.6.8" + multihashes "3.1.2" + +"@textile/multiaddr@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@textile/multiaddr/-/multiaddr-0.6.0.tgz#ea1936e2e51399296f5a537896932dfdd4876b09" + integrity sha512-FCAlWGK1XMpozT2rVqY0qLGSk+eBeoanrq6HGI7fUw216UyAa44rBVsoYclQvx3fccpWzNpehC/BCh92mziMYg== + dependencies: + "@textile/threads-id" "^0.6.0" + multiaddr "^8.1.2" + varint "^6.0.0" + +"@textile/security@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@textile/security/-/security-0.9.0.tgz#df5521c0a75b7ee0d5d4173792721b02f1e6e10e" + integrity sha512-yE+XfFllEc3rdahadgCs+nWKaVWCdSICLZY9OZ0Ma9tDFHzXtA+CrxnnNreiKPlBzTqxXCouNYYti3ZpTwT8Fw== + dependencies: + "@consento/sync-randombytes" "^1.0.5" + fast-sha256 "^1.3.0" + fastestsmallesttextencoderdecoder "^1.0.22" + multibase "^3.1.0" + +"@textile/threads-client-grpc@^1.0.2": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@textile/threads-client-grpc/-/threads-client-grpc-1.1.1.tgz#65a84d933244abf3e83ed60ae491d8e066dc3b00" + integrity sha512-vdRD6hW90w1ys35AmeCy/DSQqASpu9oAP72zE8awLmB+MEUxHKclp4qRITgRAgRVczs/YpiksUBzqCNS9ekx6A== + dependencies: + "@improbable-eng/grpc-web" "^0.14.0" + "@types/google-protobuf" "^3.15.5" + google-protobuf "^3.17.3" + +"@textile/threads-client@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@textile/threads-client/-/threads-client-2.2.0.tgz#57c2014576dfdb37ef568a282b9c12a82d00766e" + integrity sha512-/iK/ETfiYRNIBphhRAATBxdG5HPnt9lf+HMR2m02111GPAVMCuyW8RPFYifI+785UwcoQkeM7E030X1rlNt2iw== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@textile/context" "^0.12.0" + "@textile/crypto" "^4.2.0" + "@textile/grpc-transport" "^0.5.0" + "@textile/multiaddr" "^0.6.0" + "@textile/security" "^0.9.0" + "@textile/threads-client-grpc" "^1.0.2" + "@textile/threads-id" "^0.6.0" + "@types/to-json-schema" "^0.2.0" + fastestsmallesttextencoderdecoder "^1.0.22" + to-json-schema "^0.2.5" + +"@textile/threads-id@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@textile/threads-id/-/threads-id-0.6.0.tgz#6eab94e64f8360779749f60d4b55a5c7bf6c2772" + integrity sha512-0ZJ+nWirtySYA9XRZ1lPd6qB9ZrlW0QKh8VxVg1118O8UNljY2+NDlAf5hr4ObfnZEU0oi02Zi3IAciSXv8RWQ== + dependencies: + "@consento/sync-randombytes" "^1.0.4" + multibase "^3.1.0" + varint "^6.0.0" + +"@textile/users-grpc@2.6.6": + version "2.6.6" + resolved "https://registry.yarnpkg.com/@textile/users-grpc/-/users-grpc-2.6.6.tgz#dfec3ffc8f960892839c4e2e678af57b79f0d09a" + integrity sha512-pzI/jAWJx1/NqvSj03ukn2++aDNRdnyjwgbxh2drrsuxRZyCQEa1osBAA+SDkH5oeRf6dgxrc9dF8W1Ttjn0Yw== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@types/google-protobuf" "^3.7.4" + google-protobuf "^3.13.0" + +"@textile/users@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@textile/users/-/users-6.1.0.tgz#7addccc4403b6c094f4796297100662204ab3915" + integrity sha512-Pqf22WR+L7tt4KvhlAFyXSAy767iAUua+ODtKrd59iQPiPH33vo/H9BvtauCAAJHAoFJJksJUJFVwFEDAK30OQ== + dependencies: + "@improbable-eng/grpc-web" "^0.13.0" + "@textile/buckets-grpc" "2.6.6" + "@textile/context" "^0.12.0" + "@textile/crypto" "^4.2.0" + "@textile/grpc-authentication" "^3.4.0" + "@textile/grpc-connection" "^2.5.0" + "@textile/grpc-transport" "^0.5.0" + "@textile/hub-grpc" "2.6.6" + "@textile/hub-threads-client" "^5.4.0" + "@textile/security" "^0.9.0" + "@textile/threads-id" "^0.6.0" + "@textile/users-grpc" "2.6.6" + event-iterator "^2.0.0" + loglevel "^1.7.0" + +"@truffle/abi-utils@^0.1.0": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.1.6.tgz#d754a54caec2577efaa05f0ca66c58e73676884e" + integrity sha512-A9bW5XHywPNHod8rsu4x4eyM4C6k3eMeyOCd47edhiA/e9kgAVp6J3QDzKoHS8nuJ2qiaq+jk5bLnAgNWAHYyQ== dependencies: change-case "3.0.2" faker "^5.3.1" fast-check "^2.12.1" - source-map-support "^0.5.19" -"@truffle/code-utils@^1.2.23", "@truffle/code-utils@^1.2.24": - version "1.2.24" - resolved "https://registry.yarnpkg.com/@truffle/code-utils/-/code-utils-1.2.24.tgz#8da82510e416128c45fc154e92410982ab98b426" - integrity sha512-IqpbTh4uNQueadv96GBWBaGTYTyOsLKE9Dui1wpiijON6xq2iIcTArej1vMh+nkAd5/AsP+enbBY8mksm6rFBg== +"@truffle/abi-utils@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.2.4.tgz#9fc8bfc95bbe29a33cca3ab9028865b078e2f051" + integrity sha512-ICr5Sger6r5uj2G5GN9Zp9OQDCaCqe2ZyAEyvavDoFB+jX0zZFUCfDnv5jllGRhgzdYJ3mec2390mjUyz9jSZA== + dependencies: + change-case "3.0.2" + faker "^5.3.1" + fast-check "^2.12.1" + +"@truffle/blockchain-utils@^0.0.31": + version "0.0.31" + resolved "https://registry.yarnpkg.com/@truffle/blockchain-utils/-/blockchain-utils-0.0.31.tgz#0503d9fb2ce3e05c167c27294927f2f88d70a24d" + integrity sha512-BFo/nyxwhoHqPrqBQA1EAmSxeNnspGLiOCMa9pAL7WYSjyNBlrHaqCMO/F2O87G+NUK/u06E70DiSP2BFP0ZZw== + +"@truffle/code-utils@^1.2.29": + version "1.2.29" + resolved "https://registry.yarnpkg.com/@truffle/code-utils/-/code-utils-1.2.29.tgz#1225a75fdb177cd2a1d8e0d72e2222d6a1bb484a" + integrity sha512-BLNDjFLhDHCJjmdVSTObEgQDT3QFi1Yif20fDHt53kwjRH6T+MGcvaW8b9Yk8r3qpeFAYJrT2yEi02JBTr/hNg== dependencies: cbor "^5.1.0" - source-map-support "^0.5.19" -"@truffle/codec@^0.10.1": - version "0.10.1" - resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.10.1.tgz#70df52ddf1c64781a23daaccda24e10bfb9dec9d" - integrity sha512-c1lC9Wcp+Z1DLvEYH3dkEtMKnUJx72CirO3kmi0OgFSA5QqTDCtfrVOhAugcb/iMLgqUK05/pexp2whb4oASKA== +"@truffle/codec@^0.11.11": + version "0.11.11" + resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.11.11.tgz#4f159d6df96fdec99364da58c2007a3d45be3beb" + integrity sha512-KH4n16SFJlML0wnVFeNv6SxUHhGPQEJI8AIAaM5a5RCtb4+evQAwqOz3vxdoeh8aOTHLeRmZI/PnUyigfbOXxA== dependencies: + "@truffle/abi-utils" "^0.2.4" + "@truffle/compile-common" "^0.7.17" big.js "^5.2.2" bn.js "^5.1.3" cbor "^5.1.0" @@ -1303,34 +1958,105 @@ lodash.partition "^4.6.0" lodash.sum "^4.0.2" semver "^7.3.4" + utf8 "^3.0.0" + web3-utils "1.5.2" + +"@truffle/codec@^0.7.1": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.7.1.tgz#2ef0fa40109040796afbebb8812c872122100ae4" + integrity sha512-mNd6KnW6J0UB1zafGBXDlTEbCMvWpmPAJmzv7aF/nAIaN/F8UePSCiQ1OTQP39Rprj6GFiCCaWVnBAwum6UGSg== + dependencies: + big.js "^5.2.2" + bn.js "^4.11.8" + borc "^2.1.2" + debug "^4.1.0" + lodash.clonedeep "^4.5.0" + lodash.escaperegexp "^4.1.2" + lodash.partition "^4.6.0" + lodash.sum "^4.0.2" + semver "^6.3.0" source-map-support "^0.5.19" utf8 "^3.0.0" web3-utils "1.2.9" -"@truffle/config@^1.2.35": - version "1.2.35" - resolved "https://registry.yarnpkg.com/@truffle/config/-/config-1.2.35.tgz#98a9ae3a964e73c33dcea4dcb172f878fdbb9bdd" - integrity sha512-ULTS9t3ldqEV1VBVNWlS9tdWJ0r637ANspzBoQd6S/Ab7CfueQhcIfp29oz6Ahcgjkl4NX+Gu/dG6/Jiys81vg== +"@truffle/compile-common@^0.7.17": + version "0.7.17" + resolved "https://registry.yarnpkg.com/@truffle/compile-common/-/compile-common-0.7.17.tgz#5f37ba6a6f625d2b0a8545bce43cd34a555c5abb" + integrity sha512-N+6iFJQ7C7rT3hKVYBZDK1wqRfUs69FbSHZdevnaaXrL3he0I3oDjLoNCpsZXwnWZjFLKtoAazai5VdHO4useg== + dependencies: + "@truffle/contract-sources" "^0.1.12" + "@truffle/error" "^0.0.14" + "@truffle/expect" "^0.0.18" + colors "^1.4.0" + debug "^4.3.1" + +"@truffle/config@^1.3.5": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@truffle/config/-/config-1.3.5.tgz#0c36367a258fe4ceb2b405bfd45bd1f27516b21f" + integrity sha512-Mkg3rKRqEM89/gSzuKRtu8tJyDjc2bxzrZZEdv89vsDbjqw5Un1A9t44zKss84k+xdhB3iRUCP47U0fm9fi4NQ== dependencies: - "@truffle/error" "^0.0.12" - "@truffle/events" "^0.0.9" - "@truffle/provider" "^0.2.26" + "@truffle/error" "^0.0.14" + "@truffle/events" "^0.0.14" + "@truffle/provider" "^0.2.38" configstore "^4.0.0" find-up "^2.1.0" lodash.assignin "^4.2.0" lodash.merge "^4.6.2" + lodash.pick "^4.4.0" module "^1.2.5" original-require "^1.0.1" - source-map-support "^0.5.19" -"@truffle/db@^0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@truffle/db/-/db-0.5.4.tgz#810574232f936e8351538395a935376947b759af" - integrity sha512-vekTc++LrUPfumqxrH6FzJ8hWTVZ+tEEs+3okKBXokAuA6Se95RxDeZPIANNS7Nsp4rsgs8IfZV4jF7UufQGOg== +"@truffle/contract-schema@^3.3.1", "@truffle/contract-schema@^3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@truffle/contract-schema/-/contract-schema-3.4.3.tgz#c1bcde343f70b9438314202e103a7d77d684603c" + integrity sha512-pgaTgF4CKIpkqVYZVr2qGTxZZQOkNCWOXW9VQpKvLd4G0SNF2Y1gyhrFbBhoOUtYlbbSty+IEFFHsoAqpqlvpQ== + dependencies: + ajv "^6.10.0" + debug "^4.3.1" + +"@truffle/contract-sources@^0.1.12": + version "0.1.12" + resolved "https://registry.yarnpkg.com/@truffle/contract-sources/-/contract-sources-0.1.12.tgz#7a3dfec1bcf6f3632c0f54e522fb6f12b0bdf34b" + integrity sha512-7OH8P+N4n2LewbNiVpuleshPqj8G7n9Qkd5ot79sZ/R6xIRyXF05iBtg3/IbjIzOeQCrCE9aYUHNe2go9RuM0g== dependencies: - "@truffle/abi-utils" "^0.1.4" - "@truffle/code-utils" "^1.2.23" - "@truffle/config" "^1.2.35" + debug "^4.3.1" + glob "^7.1.6" + +"@truffle/contract@^4.3.31": + version "4.3.31" + resolved "https://registry.yarnpkg.com/@truffle/contract/-/contract-4.3.31.tgz#9f801458d264fe1cdddd4d0ed422ea8dbca83b2c" + integrity sha512-x6UtNLWEyZFaryvkZ6kbsFB5UzkA6vqRVji1idU3W1x1eHQEpQFS1zRinxgmA3NxnfqetK4d+T0xGrtnNQs4ng== + dependencies: + "@ensdomains/ensjs" "^2.0.1" + "@truffle/blockchain-utils" "^0.0.31" + "@truffle/contract-schema" "^3.4.3" + "@truffle/debug-utils" "^5.1.11" + "@truffle/error" "^0.0.14" + "@truffle/interface-adapter" "^0.5.5" + bignumber.js "^7.2.1" + ethers "^4.0.32" + web3 "1.5.2" + web3-core-helpers "1.5.2" + web3-core-promievent "1.5.2" + web3-eth-abi "1.5.2" + web3-utils "1.5.2" + +"@truffle/db-loader@^0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@truffle/db-loader/-/db-loader-0.0.6.tgz#df41101e8c2aeb9005c231c53e5b4210143f15c6" + integrity sha512-b3xetLuWKON/VklFZtzxr2ZmW2an7k8cgh/HIRUmDStIM9QwBULBPQRQnull1R1LMDXxIRKgo4SWga5pnv4bJg== + optionalDependencies: + "@truffle/db" "^0.5.27" + +"@truffle/db@^0.5.27": + version "0.5.27" + resolved "https://registry.yarnpkg.com/@truffle/db/-/db-0.5.27.tgz#a3c1be05687ebb8331204f9ad3ef55b5b15dc14d" + integrity sha512-4uj0CIOAbC77IWxJN8NGoDlmIt7SS6OerdYcLcU5w2x0OUdUCuroVlTzbMVOIZ/2EuAJQ9+SfVGFoUWy7Nf1QQ== + dependencies: + "@truffle/abi-utils" "^0.2.4" + "@truffle/code-utils" "^1.2.29" + "@truffle/config" "^1.3.5" + "@truffle/resolver" "^7.0.25" apollo-server "^2.18.2" debug "^4.3.1" fs-extra "^9.1.0" @@ -1346,17 +2072,28 @@ pouchdb-adapter-node-websql "^7.0.0" pouchdb-debug "^7.1.1" pouchdb-find "^7.0.0" - source-map-support "^0.5.19" - web3-utils "1.2.9" + web3-utils "1.5.2" -"@truffle/debugger@^8.0.18": - version "8.0.18" - resolved "https://registry.yarnpkg.com/@truffle/debugger/-/debugger-8.0.18.tgz#b79d6e024290931533812b15c602bfb6c44ee6f8" - integrity sha512-m5OK4Ra8jz1k3R56idXXTOe2DmQfur8ZoOSNFNCu7TrPGFuktfJFVyQkJnRa+f5lHwGZODr0H7r0FSGr5ncd6Q== +"@truffle/debug-utils@^5.1.11": + version "5.1.11" + resolved "https://registry.yarnpkg.com/@truffle/debug-utils/-/debug-utils-5.1.11.tgz#3252645f7d5e480ba71fcce92ca5d1f89a8b47b0" + integrity sha512-kLgMBznddc02jK5DU3hT622B+Hn7Rk/VwpvpY1Ayk9sH8X4fDb5e40VfZqdyMHcgsTwVkD/FW3JFS5l6C819HA== dependencies: - "@truffle/abi-utils" "^0.1.5" - "@truffle/codec" "^0.10.1" - "@truffle/source-map-utils" "^1.3.35" + "@truffle/codec" "^0.11.11" + "@trufflesuite/chromafi" "^2.2.2" + bn.js "^5.1.3" + chalk "^2.4.2" + debug "^4.3.1" + highlightjs-solidity "^1.2.2" + +"@truffle/debugger@^9.1.12": + version "9.1.12" + resolved "https://registry.yarnpkg.com/@truffle/debugger/-/debugger-9.1.12.tgz#b39c071294eccf8a556333fce3bc650a28a07c7f" + integrity sha512-d3m/EvLMih80KDYvm/V0rHoliVnV/ex0OWxCopnSMnjA/UYyf1/j4MNEsxvVCLlK/PfxmDmyl+n/wbv6lUAqfA== + dependencies: + "@truffle/abi-utils" "^0.2.4" + "@truffle/codec" "^0.11.11" + "@truffle/source-map-utils" "^1.3.55" bn.js "^5.1.3" debug "^4.3.1" json-pointer "^0.6.0" @@ -1366,82 +2103,178 @@ lodash.sum "^4.0.2" lodash.zipwith "^4.2.0" redux "^3.7.2" - redux-cli-logger "^2.0.1" redux-saga "1.0.0" remote-redux-devtools "^0.5.12" reselect-tree "^1.3.4" semver "^7.3.4" - source-map-support "^0.5.19" - web3 "1.2.9" - web3-eth-abi "1.2.9" + web3 "1.5.2" + web3-eth-abi "1.5.2" -"@truffle/error@^0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.12.tgz#83e02e6ffe1d154fe274141d90038a91fd1e186d" - integrity sha512-kZqqnPR9YDJG7KCDOcN1qH16Qs0oz1PzF0Y93AWdhXuL9S9HYo/RUUeqGKbPpRBEZldQUS8aa4EzfK08u5pu6g== +"@truffle/error@^0.0.14": + version "0.0.14" + resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.14.tgz#59683b5407bede7bddf16d80dc5592f9c5e5fa05" + integrity sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA== -"@truffle/error@^0.0.7": - version "0.0.7" - resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.7.tgz#e9db39885575647ef08bf624b0c13fe46d41a209" - integrity sha512-UIfVKsXSXocKnn5+RNklUXNoGd/JVj7V8KmC48TQzmjU33HQI86PX0JDS7SpHMHasI3w9X//1q7Lu7nZtj3Zzg== - -"@truffle/events@^0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@truffle/events/-/events-0.0.9.tgz#460fc72a04269526cbd8ef54069d474c22b42b23" - integrity sha512-o0rS8zkjCzg2vDJymSZyyq1eKdkRbxIFnsnYQl6Bc2StK89C/ZISenxrUe2fbdeq3L9Zq+ds1mSKH/MFK0Ejkg== +"@truffle/events@^0.0.14": + version "0.0.14" + resolved "https://registry.yarnpkg.com/@truffle/events/-/events-0.0.14.tgz#8c028f8e682e09b6b8d00d5db05440442722c628" + integrity sha512-lrWT+4tohj7IgK+RHrW1vzcMHUJnutW3Plqlp/STMarZBPXm38k9w2Q2qJm6BdsBd+ZRZLwBVZwkOgwTal5dew== dependencies: emittery "^0.4.1" ora "^3.4.0" -"@truffle/interface-adapter@^0.3.0": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.3.3.tgz#61305378cf81776769ef36c60d394e568ac4a2ee" - integrity sha512-l3I4WFTfnBSIfG96IOBRtAIE6AHDAxcOUJE7W5zh9hocQwzQlGWc2yEyyTcLa0656TTM8RxaZZ2S/KdHHMvCaw== - dependencies: - bn.js "^4.11.8" - ethers "^4.0.32" - lodash "^4.17.13" - web3 "1.2.2" +"@truffle/expect@^0.0.18": + version "0.0.18" + resolved "https://registry.yarnpkg.com/@truffle/expect/-/expect-0.0.18.tgz#022353a212942437e1a57ac1191d692347367bb5" + integrity sha512-ZcYladRCgwn3bbhK3jIORVHcUOBk/MXsUxjfzcw+uD+0H1Kodsvcw1AAIaqd5tlyFhdOb7YkOcH0kUES7F8d1A== -"@truffle/interface-adapter@^0.4.19": - version "0.4.19" - resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.4.19.tgz#19248ac88099f8df34f58a3d43a95ba3470dc89a" - integrity sha512-+Zz6Fr8+I2wYSS8RM3WBOMzf22QffMQTnlsYsRgRHzv3gYoRA9ZDLb84lFRfmWyw+IdXTo90tjRHEb5krC6uxg== +"@truffle/interface-adapter@^0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.5.5.tgz#b82911476406b99e4fa9927f77363dc42dfc585c" + integrity sha512-vEutNkWDJWRMVFsyrMD1yZAHY7ZcQhzep7UHiqf6VE4K2Jgl07gK6CG3xco6C2YYBy+7R5Wt0vCTmbVFlPRi7A== dependencies: bn.js "^5.1.3" ethers "^4.0.32" - source-map-support "^0.5.19" - web3 "1.2.9" + web3 "1.5.2" -"@truffle/provider@^0.1.17": - version "0.1.19" - resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.1.19.tgz#3e6f15fdd8475ca5d0c846d2b412cc823f1fb767" - integrity sha512-ke8iQmzW4Y99+8iff8xQcc+mCNU4AkwtaZ/iSpmVD8qpLytw8/DSNCm0RiEz9/+I93Q1zqI4Jnij/rXnkS2Njw== +"@truffle/preserve-fs@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@truffle/preserve-fs/-/preserve-fs-0.2.4.tgz#9218021f805bb521d0175d5e6bb8535dc4f5c340" + integrity sha512-dGHPWw40PpSMZSWTTCrv+wq5vQuSh2Cy1ABdhQOqMkw7F5so4mdLZdgh956em2fLbTx5NwaEV7dwLu2lYM+xwA== dependencies: - "@truffle/error" "^0.0.7" - "@truffle/interface-adapter" "^0.3.0" - web3 "1.2.1" + "@truffle/preserve" "^0.2.4" -"@truffle/provider@^0.2.26": - version "0.2.26" - resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.26.tgz#88e31b79973c2427c4a17d9a59411e6fbc810190" - integrity sha512-YKPmhB9S9AQkT2ePGtadwjDduxU23DXXy+5zyM5fevw5GCbXSnf+jG6rICXjPkVFjuKBlXuq5JbuERZn43522Q== +"@truffle/preserve-to-buckets@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@truffle/preserve-to-buckets/-/preserve-to-buckets-0.2.4.tgz#8f7616716fb3ba983565ccdcd47bc12af2a96c2b" + integrity sha512-C3NBOY7BK55mURBLrYxUqhz57Mz23Q9ePj+A0J4sJnmWJIsjfzuc2gozXkrzFK5od5Rg786NIoXxPxkb2E0tsA== + dependencies: + "@textile/hub" "^6.0.2" + "@truffle/preserve" "^0.2.4" + cids "^1.1.5" + ipfs-http-client "^48.2.2" + isomorphic-ws "^4.0.1" + iter-tools "^7.0.2" + ws "^7.4.3" + +"@truffle/preserve-to-filecoin@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@truffle/preserve-to-filecoin/-/preserve-to-filecoin-0.2.4.tgz#cc947aa9d575fb162435fe324f43d88d17ebf082" + integrity sha512-kUzvSUCfpH0gcLxOM8eaYy5dPuJYh/wBpjU5bEkCcrx1HQWr73fR3slS8cO5PNqaxkDvm8RDlh7Lha2JTLp4rw== dependencies: - "@truffle/error" "^0.0.12" - "@truffle/interface-adapter" "^0.4.19" - web3 "1.2.9" + "@truffle/preserve" "^0.2.4" + cids "^1.1.5" + delay "^5.0.0" + filecoin.js "^0.0.5-alpha" -"@truffle/source-map-utils@^1.3.35": - version "1.3.35" - resolved "https://registry.yarnpkg.com/@truffle/source-map-utils/-/source-map-utils-1.3.35.tgz#aa40422a05e2727254665ee2c23659d01230eb8f" - integrity sha512-j3PHac4g/yQwxSB899lkal/YMuIXLNNlDGfCog2QrWqdtK7HJhx6X2tftwqrZzO4JTKc1Cs8KOCPOndx9W2xeQ== +"@truffle/preserve-to-ipfs@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@truffle/preserve-to-ipfs/-/preserve-to-ipfs-0.2.4.tgz#a4b17b47574b4a1384557c8728b09d84fbdb13c0" + integrity sha512-17gEBhYcS1Qx/FAfOrlyyKJ74HLYm4xROtHwqRvV9MoDI1k3w/xcL+odRrl5H15NX8vNFOukAI7cGe0NPjQHvQ== dependencies: - "@truffle/code-utils" "^1.2.24" - "@truffle/codec" "^0.10.1" + "@truffle/preserve" "^0.2.4" + ipfs-http-client "^48.2.2" + iter-tools "^7.0.2" + +"@truffle/preserve@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@truffle/preserve/-/preserve-0.2.4.tgz#1d902cc9df699eee3efdc39820c755b9c5af65c7" + integrity sha512-rMJQr/uvBIpT23uGM9RLqZKwIIR2CyeggVOTuN2UHHljSsxHWcvRCkNZCj/AA3wH3GSOQzCrbYBcs0d/RF6E1A== + dependencies: + spinnies "^0.5.1" + +"@truffle/provider@^0.2.24", "@truffle/provider@^0.2.38": + version "0.2.38" + resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.38.tgz#7a55a9083cdc6b896d40ac0c547ef3acdfcb0d92" + integrity sha512-YKdTUST+G741jFtwgwSpXA0sni5ClLPfhLVUirLxKAiLXI3HnYDl1TAtf/THTPWGMmfd3ygfkXVlxceYuSNuRQ== + dependencies: + "@truffle/error" "^0.0.14" + "@truffle/interface-adapter" "^0.5.5" + web3 "1.5.2" + +"@truffle/provisioner@^0.2.28": + version "0.2.28" + resolved "https://registry.yarnpkg.com/@truffle/provisioner/-/provisioner-0.2.28.tgz#03aaeadf6904d640181dba760e659d4b31c69877" + integrity sha512-3zf2NyBaWtOANBOcYGZyN6V4Zjya0vDyZSNfbPyAPBsb1GalarfZpWWS7ptSiiBRLF+5AmX8jXgNXNSiaQuWtQ== + dependencies: + "@truffle/config" "^1.3.5" + +"@truffle/resolver@^7.0.25": + version "7.0.25" + resolved "https://registry.yarnpkg.com/@truffle/resolver/-/resolver-7.0.25.tgz#2722733223e6a967be79d1dde0462cf67c6605bf" + integrity sha512-tg+ANLciYxa4/eyunVG4l8WcJK0LDpoWe5wgdRH/EZxE2sTW388uu1MUBLo7LLxiB/MXIl88KL73Ra6I69gU3A== + dependencies: + "@truffle/contract" "^4.3.31" + "@truffle/contract-sources" "^0.1.12" + "@truffle/expect" "^0.0.18" + "@truffle/provisioner" "^0.2.28" + abi-to-sol "^0.2.0" + debug "^4.3.1" + detect-installed "^2.0.4" + get-installed-path "^4.0.8" + glob "^7.1.6" + +"@truffle/source-map-utils@^1.3.55": + version "1.3.55" + resolved "https://registry.yarnpkg.com/@truffle/source-map-utils/-/source-map-utils-1.3.55.tgz#a9011a1c0bd4b103031f0a02aa87bd7e87bde9a9" + integrity sha512-ldP7l1Fg0Z2+ub0zimJe5NQViF/yU5Pf6Z4Mjxtvpdt3knqqTZMrqMMz0W5lbMnob4jGgWOYRV2UIw7mQg9mOA== + dependencies: + "@truffle/code-utils" "^1.2.29" + "@truffle/codec" "^0.11.11" debug "^4.3.1" json-pointer "^0.6.0" node-interval-tree "^1.3.3" - web3-utils "1.2.9" + web3-utils "1.5.2" + +"@trufflesuite/chromafi@^2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@trufflesuite/chromafi/-/chromafi-2.2.2.tgz#d3fc507aa8504faffc50fb892cedcfe98ff57f77" + integrity sha512-mItQwVBsb8qP/vaYHQ1kDt2vJLhjoEXJptT6y6fJGvFophMFhOI/NsTVUa0nJL1nyMeFiS6hSYuNVdpQZzB1gA== + dependencies: + ansi-mark "^1.0.0" + ansi-regex "^3.0.0" + array-uniq "^1.0.3" + camelcase "^4.1.0" + chalk "^2.3.2" + cheerio "^1.0.0-rc.2" + detect-indent "^5.0.0" + he "^1.1.1" + highlight.js "^10.4.1" + lodash.merge "^4.6.2" + min-indent "^1.0.0" + strip-ansi "^4.0.0" + strip-indent "^2.0.0" + super-split "^1.1.0" + +"@tsconfig/node10@^1.0.7": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + +"@tsconfig/node12@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + +"@tsconfig/node14@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + +"@tsconfig/node16@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + +"@typechain/truffle-v5@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@typechain/truffle-v5/-/truffle-v5-5.0.0.tgz#01ab526b3986e06f8f2720d4a88dd11b6d0fe11d" + integrity sha512-iyXay2ImCB6ATNvkW5w6ojm0Si0kU4kb7g480O/PzSNOYO1b2MovZHrQbVS+KBMrRlcy7UaFTdrVPpg8j3vUZQ== + +"@typechain/web3-v1@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@typechain/web3-v1/-/web3-v1-3.0.0.tgz#8aaeeae0e1bbb871dc0d25071e8ab9d88440fb92" + integrity sha512-7N9yGzGOmyW8HJAa3U+0oUqc1JxZcMUIh6Fn4jMkl1z98rKyrzvrllXzT2QmqJ9etZKiyI39AVVly/YPYKTCxQ== "@types/accepts@*", "@types/accepts@^1.3.5": version "1.3.5" @@ -1457,6 +2290,13 @@ dependencies: "@types/node" "*" +"@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== + dependencies: + "@types/node" "*" + "@types/body-parser@*", "@types/body-parser@1.19.0": version "1.19.0" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" @@ -1472,10 +2312,10 @@ dependencies: "@types/node" "*" -"@types/chai-as-promised@^7.1.2": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.2.tgz#2f564420e81eaf8650169e5a3a6b93e096e5068b" - integrity sha512-PO2gcfR3Oxa+u0QvECLe1xKXOqYTzCmWf0FhLhjREoW3fPAVamjihL7v1MOVLJLsnAMdLcjkfrs01yvDMwVK4Q== +"@types/chai-as-promised@^7.1.4": + version "7.1.4" + resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.4.tgz#caf64e76fb056b8c8ced4b761ed499272b737601" + integrity sha512-1y3L1cHePcIm5vXkh1DSGf/zQq5n5xDKG1fpCvf18+uOkpce0Z1ozNFPkyWsVswK7ntN1sZBw3oU6gmN+pDUcA== dependencies: "@types/chai" "*" @@ -1484,10 +2324,10 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.9.tgz#194332625ed2ae914aef00b8d5ca3b77e7924cc6" integrity sha512-NeXgZj+MFL4izGqA4sapdYzkzQG+MtGra9vhQ58dnmDY++VgJaRUws+aLVV5zRJCYJl/8s9IjMmhiUw1WsKSmw== -"@types/chai@^4.2.11": - version "4.2.11" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.11.tgz#d3614d6c5f500142358e6ed24e1bf16657536c50" - integrity sha512-t7uW6eFafjO+qJ3BIV2gGUyZs27egcNRkUdalkud+Qa3+kg//f129iuOFivHDXQ+vnU3fDXuwgv0cqMCbcE8sw== +"@types/chai@^4.2.21": + version "4.2.21" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.21.tgz#9f35a5643129df132cf3b5c1ec64046ea1af0650" + integrity sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg== "@types/concat-stream@^1.6.0": version "1.6.0" @@ -1525,6 +2365,13 @@ dependencies: "@types/express" "*" +"@types/ed2curve@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@types/ed2curve/-/ed2curve-0.2.2.tgz#8f8bc7e2c9a5895a941c63a4f7acd7a6a62a5b15" + integrity sha512-G1sTX5xo91ydevQPINbL2nfgVAj/s1ZiqZxC8OCWduwu+edoNGUm5JXtTkg9F3LsBZbRI46/0HES4CPUE2wc9g== + dependencies: + tweetnacl "^1.0.0" + "@types/ethereumjs-abi@^0.6.3": version "0.6.3" resolved "https://registry.yarnpkg.com/@types/ethereumjs-abi/-/ethereumjs-abi-0.6.3.tgz#eb5ed09fd86b9e2b1c0eb75d1e9bc29c50715c86" @@ -1589,6 +2436,11 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/google-protobuf@^3.15.2", "@types/google-protobuf@^3.15.5", "@types/google-protobuf@^3.7.4": + version "3.15.5" + resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.15.5.tgz#644b2be0f5613b1f822c70c73c6b0e0b5b5fa2ad" + integrity sha512-6bgv24B+A2bo9AfzReeg5StdiijKzwwnRflA8RLd1V4Yv995LeTmo0z69/MPbBDFSiZWdZHQygLo/ccXhMEDgw== + "@types/http-assert@*": version "1.5.1" resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b" @@ -1599,6 +2451,11 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.0.tgz#682477dbbbd07cd032731cb3b0e7eaee3d026b69" integrity sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA== +"@types/json-schema@*": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "@types/keygrip@*": version "1.0.2" resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.2.tgz#513abfd256d7ad0bf1ee1873606317b33b1b2a72" @@ -1625,7 +2482,7 @@ "@types/koa-compose" "*" "@types/node" "*" -"@types/long@^4.0.0": +"@types/long@^4.0.0", "@types/long@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== @@ -1640,22 +2497,15 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/mkdirp@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" - integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg== - dependencies: - "@types/node" "*" - "@types/mocha@^5.2.5": version "5.2.7" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.7.tgz#315d570ccb56c53452ff8638738df60726d5b6ea" integrity sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ== -"@types/mocha@^7.0.2": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-7.0.2.tgz#b17f16cf933597e10d6d78eae3251e692ce8b0ce" - integrity sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w== +"@types/mocha@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.0.0.tgz#3205bcd15ada9bc681ac20bef64e9e6df88fd297" + integrity sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA== "@types/node-fetch@2.5.7": version "2.5.7" @@ -1670,6 +2520,21 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.2.tgz#50375b95b5845a34efda2ffb3a087c7becbc46c6" integrity sha512-uvilvAQbdJvnSBFcKJ2td4016urcGvsiR+N4dHGU87ml8O2Vl6l+ErOi9w0kXSPiwJ1AYlIW+0pDXDWWMOiWbw== +"@types/node@10.12.18": + version "10.12.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" + integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== + +"@types/node@11.11.6": + version "11.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" + integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== + +"@types/node@>=13.7.0", "@types/node@^16.7.1": + version "16.7.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.1.tgz#c6b9198178da504dfca1fd0be9b2e1002f1586f0" + integrity sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A== + "@types/node@^10.0.3", "@types/node@^10.12.18", "@types/node@^10.3.2": version "10.17.15" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.15.tgz#bfff4e23e9e70be6eec450419d51e18de1daf8e7" @@ -1690,11 +2555,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.27.tgz#d7506f73160ad30fcebbcf5b8b7d2d976e649e42" integrity sha512-odQFl/+B9idbdS0e8IxDl2ia/LP8KZLXhV3BUeI98TrZp0uoIzQPhGd+5EtzHmT0SMOIaPd7jfz6pOHLWTtl7A== -"@types/node@^13.9.1": - version "13.9.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.1.tgz#96f606f8cd67fb018847d9b61e93997dabdefc72" - integrity sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ== - "@types/node@^8.0.0": version "8.10.59" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.59.tgz#9e34261f30183f9777017a13d185dfac6b899e04" @@ -1707,10 +2567,10 @@ dependencies: "@types/node" "*" -"@types/prettier@^1.13.2": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.0.tgz#a2502fb7ce9b6626fdbfc2e2a496f472de1bdd05" - integrity sha512-gDE8JJEygpay7IjA/u3JiIURvwZW08f0cZSZLAzFoX/ZmeqvS0Sqv+97aKuHpNsalAMMhwPe+iAS6fQbfmbt7A== +"@types/prettier@^2.1.1": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" + integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== "@types/qs@*": version "6.9.6" @@ -1727,13 +2587,6 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== -"@types/resolve@^0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - "@types/secp256k1@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.1.tgz#fb3aa61a1848ad97d7425ff9dcba784549fca5a4" @@ -1741,6 +2594,11 @@ dependencies: "@types/node" "*" +"@types/seedrandom@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-3.0.1.tgz#1254750a4fec4aff2ebec088ccd0bb02e91fedb4" + integrity sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw== + "@types/serve-static@*": version "1.13.9" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" @@ -1749,6 +2607,13 @@ "@types/mime" "^1" "@types/node" "*" +"@types/to-json-schema@^0.2.0": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@types/to-json-schema/-/to-json-schema-0.2.1.tgz#223346df86bc0c183d53c939ad5eb1ddfb0e9bf5" + integrity sha512-DlvjodmdSrih054SrUqgS3bIZ93allrfbzjFUFmUhAtC60O+B/doLfgB8stafkEFyrU/zXWtPlX/V1H94iKv/A== + dependencies: + "@types/json-schema" "*" + "@types/ungap__global-this@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@types/ungap__global-this/-/ungap__global-this-0.3.1.tgz#18ce9f657da556037a29d50604335614ce703f4c" @@ -1775,6 +2640,13 @@ dependencies: "@types/node" "*" +"@types/ws@^7.2.6": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + "@types/zen-observable@^0.8.0": version "0.8.2" resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71" @@ -1837,6 +2709,26 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== +"@zondax/filecoin-signing-tools@github:Digital-MOB-Filecoin/filecoin-signing-tools-js": + version "0.2.0" + resolved "https://codeload.github.com/Digital-MOB-Filecoin/filecoin-signing-tools-js/tar.gz/8f8e92157cac2556d35cab866779e9a8ea8a4e25" + dependencies: + axios "^0.20.0" + base32-decode "^1.0.0" + base32-encode "^1.1.1" + bip32 "^2.0.5" + bip39 "^3.0.2" + blakejs "^1.1.0" + bn.js "^5.1.2" + ipld-dag-cbor "^0.17.0" + leb128 "0.0.5" + secp256k1 "^4.0.1" + +"@zxing/text-encoding@0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" + integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== + abab@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" @@ -1852,7 +2744,22 @@ abbrev@1.0.x: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= -abort-controller@3.0.0: +abi-to-sol@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/abi-to-sol/-/abi-to-sol-0.2.1.tgz#308889ba60adc29bcc4265e6b4f7c692802db3a4" + integrity sha512-zJPxaymTHQx/Edpy3NELGseGuDrFPVVzwRvIyxu37ZgRsItHoaxLQeGuOxYNxJPNuc030D6S6evmw0yCCtn+1A== + dependencies: + "@truffle/abi-utils" "^0.1.0" + "@truffle/codec" "^0.7.1" + "@truffle/contract-schema" "^3.3.1" + ajv "^6.12.5" + better-ajv-errors "^0.6.7" + neodoc "^2.0.2" + prettier "^2.1.2" + prettier-plugin-solidity "^1.0.0-alpha.59" + source-map-support "^0.5.19" + +abort-controller@3.0.0, abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== @@ -1904,6 +2811,13 @@ accepts@^1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" +acorn-dynamic-import@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + integrity sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ= + dependencies: + acorn "^4.0.3" + acorn-globals@^1.0.4: version "1.0.9" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf" @@ -1911,7 +2825,12 @@ acorn-globals@^1.0.4: dependencies: acorn "^2.1.0" -acorn@4.X: +acorn-walk@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.1.1.tgz#3ddab7f84e4a7e2313f6c414c5b7dac85f4e3ebc" + integrity sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w== + +acorn@4.X, acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= @@ -1921,6 +2840,16 @@ acorn@^2.1.0, acorn@^2.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" integrity sha1-q259nYhqrKiwhbwzEreaGYQz8Oc= +acorn@^5.0.0: + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== + +acorn@^8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" + integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== + address@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" @@ -1931,6 +2860,21 @@ aes-js@3.0.0: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= +ajv-keywords@^3.1.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + ajv@^6.5.5: version "6.11.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" @@ -1941,16 +2885,41 @@ ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== +ansi-mark@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/ansi-mark/-/ansi-mark-1.0.4.tgz#1cd4ba8d57f15f109d6aaf6ec9ca9786c8a4ee6c" + integrity sha1-HNS6jVfxXxCdaq9uycqXhsik7mw= + dependencies: + ansi-regex "^3.0.0" + array-uniq "^1.0.3" + chalk "^2.3.2" + strip-ansi "^4.0.0" + super-split "^1.1.0" + ansi-regex@^2.0.0, ansi-regex@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -1995,11 +2964,32 @@ ansi-styles@~1.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= +antlr4ts@^0.5.0-alpha.4: + version "0.5.0-alpha.4" + resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" + integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== + any-promise@1.3.0, any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= +any-signal@^2.0.0, any-signal@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-2.1.2.tgz#8d48270de0605f8b218cf9abe8e9c6a0e7418102" + integrity sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ== + dependencies: + abort-controller "^3.0.0" + native-abort-controller "^1.0.3" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + anymatch@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" @@ -2008,6 +2998,14 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + apollo-cache-control@^0.11.6: version "0.11.6" resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.11.6.tgz#f7bdf924272af47ac474cf3f3f35cfc038cc9485" @@ -2274,7 +3272,7 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: +array-uniq@^1.0.1, array-uniq@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= @@ -2314,6 +3312,16 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" +asn1.js@^5.0.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + asn1@~0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" @@ -2321,11 +3329,31 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" +assert-args@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/assert-args/-/assert-args-1.2.1.tgz#404103a1452a32fe77898811e54e590a8a9373bd" + integrity sha1-QEEDoUUqMv53iYgR5U5ZCoqTc70= + dependencies: + "101" "^1.2.0" + compound-subject "0.0.1" + debug "^2.2.0" + get-prototype-of "0.0.0" + is-capitalized "^1.0.0" + is-class "0.0.4" + assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + assertion-error@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" @@ -2336,6 +3364,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + async-limiter@^1.0.0, async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" @@ -2353,6 +3386,13 @@ async@1.x: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= +async@^2.1.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2385,13 +3425,6 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== -axios@0.19.2: - version "0.19.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" - integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== - dependencies: - follow-redirects "1.5.10" - axios@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" @@ -2400,6 +3433,20 @@ axios@^0.18.0: follow-redirects "1.5.10" is-buffer "^2.0.2" +axios@^0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.20.0.tgz#057ba30f04884694993a8cd07fa394cff11c50bd" + integrity sha512-ANA4rr2BDcmmAQLOKft2fufrtuvlqR+cXNNinUmvfeSNCOF98PZL+7M/v1zIdGo7OLjEA9J2gXJL+j4zGsl0bA== + dependencies: + follow-redirects "^1.10.0" + +axios@^0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -2530,6 +3577,18 @@ base-x@^3.0.2, base-x@^3.0.8: dependencies: safe-buffer "^5.0.1" +base32-decode@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base32-decode/-/base32-decode-1.0.0.tgz#2a821d6a664890c872f20aa9aca95a4b4b80e2a7" + integrity sha512-KNWUX/R7wKenwE/G/qFMzGScOgVntOmbE27vvc6GrniDGYb6a5+qWcuoXl8WIOQL7q0TpK7nZDm1Y04Yi3Yn5g== + +base32-encode@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/base32-encode/-/base32-encode-1.2.0.tgz#e150573a5e431af0a998e32bdfde7045725ca453" + integrity sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A== + dependencies: + to-data-view "^1.1.0" + base64-js@^1.0.2: version "1.3.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" @@ -2560,12 +3619,40 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +bech32@1.1.4, bech32@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +bech32@=1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.3.tgz#bd47a8986bbb3eec34a56a097a84b8d3e9a2dfcd" + integrity sha512-yuVFUvrNcoJi0sv5phmqc6P+Fl1HjRDRNOOkHY2X/3LBy2bIGNSFx4fZ95HMaXHupuS7cZR15AsvtmCIF4UEyg== + +better-ajv-errors@^0.6.7: + version "0.6.7" + resolved "https://registry.yarnpkg.com/better-ajv-errors/-/better-ajv-errors-0.6.7.tgz#b5344af1ce10f434fe02fc4390a5a9c811e470d1" + integrity sha512-PYgt/sCzR4aGpyNy5+ViSQ77ognMnWq7745zM+/flYO4/Yisdtp9wDQW2IKCyVYPUxQt3E/b5GBSwfhd1LPdlg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/runtime" "^7.0.0" + chalk "^2.4.1" + core-js "^3.2.1" + json-to-ast "^2.0.3" + jsonpointer "^4.0.1" + leven "^3.1.0" + +big-integer@1.6.36: + version "1.6.36" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.36.tgz#78631076265d4ae3555c04f85e7d9d2f3a071a36" + integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg== + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bignumber.js@^7.2.0: +bignumber.js@^7.2.0, bignumber.js@^7.2.1: version "7.2.1" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f" integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== @@ -2580,18 +3667,46 @@ bignumber.js@^9.0.1: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bindings@^1.2.1, bindings@^1.3.1, bindings@^1.5.0: +bindings@^1.2.1, bindings@^1.3.0, bindings@^1.3.1, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: file-uri-to-path "1.0.0" +bip32@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" + integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== + dependencies: + "@types/node" "10.12.18" + bs58check "^2.1.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + tiny-secp256k1 "^1.1.3" + typeforce "^1.11.5" + wif "^2.0.6" + +bip39@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" + integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== + dependencies: + "@types/node" "11.11.6" + create-hash "^1.1.0" + pbkdf2 "^3.0.9" + randombytes "^2.0.1" + bip66@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" @@ -2599,6 +3714,27 @@ bip66@^1.1.5: dependencies: safe-buffer "^5.0.1" +bitcore-lib@^8.22.2, bitcore-lib@^8.25.10: + version "8.25.10" + resolved "https://registry.yarnpkg.com/bitcore-lib/-/bitcore-lib-8.25.10.tgz#4bbb30932dec65cb76e4d1d793f55d7e4a75f071" + integrity sha512-MyHpSg7aFRHe359RA/gdkaQAal3NswYZTLEuu0tGX1RGWXAYN9i/24fsjPqVKj+z0ua+gzAT7aQs0KiKXWCgKA== + dependencies: + bech32 "=1.1.3" + bn.js "=4.11.8" + bs58 "^4.0.1" + buffer-compare "=1.1.1" + elliptic "^6.5.3" + inherits "=2.0.1" + lodash "^4.17.20" + +bitcore-mnemonic@^8.22.2: + version "8.25.10" + resolved "https://registry.yarnpkg.com/bitcore-mnemonic/-/bitcore-mnemonic-8.25.10.tgz#43d7b73d9705a11fceef62e37089ad487e917c26" + integrity sha512-FeXxO37BLV5JRvxPmVFB91zRHalavV8H4TdQGt1/hz0AkoPymIV68OkuB+TptpjeYgatcgKPoPvPhglJkTzFQQ== + dependencies: + bitcore-lib "^8.25.10" + unorm "^1.4.1" + bl@^1.0.0: version "1.2.2" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" @@ -2607,12 +3743,28 @@ bl@^1.0.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" +bl@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + blakejs@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= -bluebird@^3.5.0: +blob-to-it@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/blob-to-it/-/blob-to-it-1.0.2.tgz#bc76550638ca13280dbd3f202422a6a132ffcc8d" + integrity sha512-yD8tikfTlUGEOSHExz4vDCIQFLaBPXIL0KcxGQt9RbwMVXBEh+jokdJyStvTXPgWrdKfwgk7RX8GPsgrYzsyng== + dependencies: + browser-readablestream-to-it "^1.0.2" + +bluebird@^3.5.0, bluebird@^3.5.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -2622,7 +3774,7 @@ bn.js@4.11.6: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= -bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.4.0: +bn.js@4.11.8, bn.js@=4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== @@ -2632,12 +3784,7 @@ bn.js@^4.11.9: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz#48efc4031a9c4041b9c99c6941d903463ab62eb5" - integrity sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA== - -bn.js@^5.1.3: +bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== @@ -2658,11 +3805,24 @@ body-parser@1.19.0, body-parser@^1.16.0, body-parser@^1.18.3: raw-body "2.4.0" type-is "~1.6.17" -boolbase@~1.0.0: +boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +borc@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/borc/-/borc-2.1.2.tgz#6ce75e7da5ce711b963755117dd1b187f6f8cf19" + integrity sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w== + dependencies: + bignumber.js "^9.0.0" + buffer "^5.5.0" + commander "^2.15.0" + ieee754 "^1.1.13" + iso-url "~0.4.7" + json-text-sequence "~0.1.0" + readable-stream "^3.6.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2680,7 +3840,7 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" -braces@^2.3.1: +braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -2708,6 +3868,16 @@ brorand@^1.0.1, brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= +browser-headers@^0.4.0, browser-headers@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/browser-headers/-/browser-headers-0.4.1.tgz#4308a7ad3b240f4203dbb45acedb38dc2d65dd02" + integrity sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg== + +browser-readablestream-to-it@^1.0.1, browser-readablestream-to-it@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.2.tgz#f6b8d18e7a35b0321359261a32aa2c70f46921c4" + integrity sha512-lv4M2Z6RKJpyJijJzBQL5MNssS7i8yedl+QkhnLCyPtgNGNSXv1KthzUnye9NlRAtBAI80X6S9i+vK09Rzjcvg== + browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -2765,6 +3935,13 @@ browserify-sign@^4.0.0: inherits "^2.0.1" parse-asn1 "^5.0.0" +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + browserslist@^4.14.5: version "4.16.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" @@ -2776,14 +3953,14 @@ browserslist@^4.14.5: escalade "^3.1.1" node-releases "^1.1.70" -bs58@^4.0.0: +bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= dependencies: base-x "^3.0.2" -bs58check@^2.1.2: +bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -2799,6 +3976,11 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" +btoa-lite@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" + integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= + buffer-alloc-unsafe@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" @@ -2812,6 +3994,11 @@ buffer-alloc@^1.2.0: buffer-alloc-unsafe "^1.1.0" buffer-fill "^1.0.0" +buffer-compare@=1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-compare/-/buffer-compare-1.1.1.tgz#5be7be853af89198d1f4ddc090d1d66a48aef596" + integrity sha1-W+e+hTr4kZjR9N3AkNHWakiu9ZY= + buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -2832,6 +4019,13 @@ buffer-from@1.1.1, buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +buffer-pipe@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/buffer-pipe/-/buffer-pipe-0.0.3.tgz#242197681d4591e7feda213336af6c07a5ce2409" + integrity sha512-GlxfuD/NrKvCNs0Ut+7b1IHjylfdegMBxQIlZHj7bObKVQBxB5S84gtm2yu1mQ8/sSggceWBDPY0cPXgvX2MuA== + dependencies: + safe-buffer "^5.1.2" + buffer-to-arraybuffer@^0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" @@ -2842,6 +4036,23 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= +buffer@6.0.3, buffer@^6.0.1: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + buffer@^5.0.5, buffer@^5.2.1: version "5.4.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" @@ -2850,7 +4061,7 @@ buffer@^5.0.5, buffer@^5.2.1: base64-js "^1.0.2" ieee754 "^1.1.4" -buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.0: +buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -2870,6 +4081,11 @@ builtin-modules@^1.1.1: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + busboy@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b" @@ -2942,6 +4158,11 @@ camel-case@^3.0.0: no-case "^2.2.0" upper-case "^1.1.1" +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= + camelcase@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -2952,6 +4173,11 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2985,6 +4211,14 @@ cbor@^5.1.0: bignumber.js "^9.0.1" nofilter "^1.0.4" +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60= + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + chai-as-promised@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" @@ -2996,16 +4230,16 @@ chai-as-promised@^7.1.1: version "2.0.2" resolved "https://codeload.github.com/ren-forks/chai-bignumber/tar.gz/afa6f46dcbef0b7e622dc27b9b3354fc67afafbc" -chai@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" - integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== +chai@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49" + integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== dependencies: assertion-error "^1.1.0" check-error "^1.0.2" deep-eql "^3.0.1" get-func-name "^2.0.0" - pathval "^1.1.0" + pathval "^1.1.1" type-detect "^4.0.5" chalk@1.1.3, chalk@^1.1.3: @@ -3019,7 +4253,7 @@ chalk@1.1.3, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3079,6 +4313,17 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= +cheerio-select@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823" + integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg== + dependencies: + css-select "^4.1.3" + css-what "^5.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + domutils "^2.7.0" + cheerio@0.20.0: version "0.20.0" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.20.0.tgz#5c710f2bab95653272842ba01c6ea61b3545ec35" @@ -3104,6 +4349,34 @@ cheerio@1.0.0-rc.2: lodash "^4.15.0" parse5 "^3.0.1" +cheerio@^1.0.0-rc.2: + version "1.0.0-rc.10" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.10.tgz#2ba3dcdfcc26e7956fc1f440e61d51c643379f3e" + integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== + dependencies: + cheerio-select "^1.5.0" + dom-serializer "^1.3.2" + domhandler "^4.2.0" + htmlparser2 "^6.1.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" + +chokidar@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" + integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.2.0" + optionalDependencies: + fsevents "~2.1.1" + chokidar@3.4.2: version "3.4.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" @@ -3119,6 +4392,40 @@ chokidar@3.4.2: optionalDependencies: fsevents "~2.1.2" +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -3140,6 +4447,16 @@ cids@^0.7.1: multicodec "^1.0.0" multihashes "~0.4.15" +cids@^1.0.0, cids@^1.1.4, cids@^1.1.5: + version "1.1.7" + resolved "https://registry.yarnpkg.com/cids/-/cids-1.1.7.tgz#06aee89b9b5d615a7def86f2308a72bb642b7c7e" + integrity sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA== + dependencies: + multibase "^4.0.1" + multicodec "^3.0.1" + multihashes "^4.0.1" + uint8arrays "^2.1.3" + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -3148,6 +4465,11 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +circular-json@^0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.9.tgz#932763ae88f4f7dead7a0d09c8a51a4743a53b1d" + integrity sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ== + circular@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/circular/-/circular-1.0.5.tgz#7da77af98bbde9ce4b5b358cd556b5dded2d3149" @@ -3194,7 +4516,7 @@ cli-cursor@^3.0.0: dependencies: restore-cursor "^3.1.0" -cli-logger@0.5.40: +cli-logger@^0.5.40: version "0.5.40" resolved "https://registry.yarnpkg.com/cli-logger/-/cli-logger-0.5.40.tgz#097f0e11b072c7c698a26c47f588a29c20b48b0b" integrity sha1-CX8OEbByx8aYomxH9YiinCC0iws= @@ -3227,7 +4549,16 @@ cli-util@~1.1.27: resolved "https://registry.yarnpkg.com/cli-util/-/cli-util-1.1.27.tgz#42d69e36a040a321fc9cf851c1513cadc5093054" integrity sha1-QtaeNqBAoyH8nPhRwVE8rcUJMFQ= dependencies: - cli-regexp "~0.1.0" + cli-regexp "~0.1.0" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" cliui@^3.2.0: version "3.2.0" @@ -3283,6 +4614,11 @@ clone@^1.0.0, clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +code-error-fragment@0.0.230: + version "0.0.230" + resolved "https://registry.yarnpkg.com/code-error-fragment/-/code-error-fragment-0.0.230.tgz#d736d75c832445342eca1d1fedbf17d9618b14d7" + integrity sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw== + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -3335,7 +4671,7 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== -colors@^1.1.2: +colors@^1.1.2, colors@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -3361,17 +4697,12 @@ command-line-args@^4.0.7: find-replace "^1.0.3" typical "^2.6.1" -commander@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== - commander@3.0.2, commander@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -commander@^2.12.1, commander@^2.19.0, commander@^2.20.3, commander@~2.20.3: +commander@^2.12.1, commander@^2.15.0, commander@^2.19.0, commander@^2.20.3, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -3393,6 +4724,11 @@ component-emitter@^1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== +compound-subject@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/compound-subject/-/compound-subject-0.0.1.tgz#271554698a15ae608b1dfcafd30b7ba1ea892c4b" + integrity sha1-JxVUaYoVrmCLHfyv0wt7oeqJLEs= + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -3429,6 +4765,11 @@ configstore@^4.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" @@ -3442,6 +4783,11 @@ constant-case@^2.0.0: snake-case "^2.1.0" upper-case "^1.1.1" +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -3500,6 +4846,11 @@ core-js@^3.0.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.1.tgz#cec8de593db8eb2a85ffb0dbdeb312cb6e5460ae" integrity sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg== +core-js@^3.2.1: + version "3.16.2" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.2.tgz#3f485822889c7fc48ef463e35be5cc2a4a01a1f4" + integrity sha512-P0KPukO6OjMpjBtHSceAZEWlDD1M2Cpzpg6dBbrjFqFhBHe/BwhxaP820xKOjRn/lZRQirrCusIpLS/n2sgXLQ== + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3513,16 +4864,24 @@ cors@^2.8.1, cors@^2.8.4: object-assign "^4" vary "^1" -coveralls@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.9.tgz#8cfc5a5525f84884e2948a0bf0f1c0e90aac0420" - integrity sha512-nNBg3B1+4iDox5A5zqHKzUTiwl2ey4k2o0NEcVZYvl+GOSJdKBj4AJGKLv6h3SvWch7tABHePAQOSZWM9E2hMg== +coveralls@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.1.1.tgz#f5d4431d8b5ae69c5079c8f8ca00d64ac77cf081" + integrity sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww== dependencies: js-yaml "^3.13.1" lcov-parse "^1.0.0" log-driver "^1.2.7" - minimist "^1.2.0" - request "^2.88.0" + minimist "^1.2.5" + request "^2.88.2" + +crc-32@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" create-ecdh@^4.0.0: version "4.0.3" @@ -3555,6 +4914,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-fetch@3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c" @@ -3569,6 +4933,15 @@ cross-fetch@^3.0.4: dependencies: node-fetch "2.6.1" +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -3585,7 +4958,20 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= -crypto-browserify@3.12.0: +crypto-addr-codec@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz#e16cea892730178fe25a38f6d15b680cab3124ae" + integrity sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg== + dependencies: + base-x "^3.0.8" + big-integer "1.6.36" + blakejs "^1.1.0" + bs58 "^4.0.1" + ripemd160-min "0.0.6" + safe-buffer "^5.2.0" + sha3 "^2.1.1" + +crypto-browserify@3.12.0, crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== @@ -3607,6 +4993,17 @@ crypto-random-string@^1.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -3622,6 +5019,11 @@ css-what@2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== +css-what@^5.0.0, css-what@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== + css@2.X: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -3697,6 +5099,13 @@ debug@3.1.0, debug@=3.1.0: dependencies: ms "2.0.0" +debug@3.2.6, debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + debug@4.1.1, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -3704,13 +5113,6 @@ debug@4.1.1, debug@^4.1.1: dependencies: ms "^2.1.1" -debug@^3.0.1, debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - debug@^3.2.6: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -3725,7 +5127,7 @@ debug@^4.1.0, debug@^4.3.1: dependencies: ms "2.1.2" -decamelize@^1.1.1, decamelize@^1.2.0: +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3795,6 +5197,13 @@ decompress@^4.0.0: pify "^2.3.0" strip-dirs "^2.0.0" +deep-eql@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" + integrity sha1-71WKyrjeJSBs1xOQbXTlaTDrafI= + dependencies: + type-detect "0.1.1" + deep-eql@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" @@ -3869,10 +5278,10 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -delay@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-4.3.0.tgz#efeebfb8f545579cb396b3a722443ec96d14c50e" - integrity sha512-Lwaf3zVFDMBop1yDuFZ19F9WyGcZcGacsbdlZtWjQmM50tOcMntm1njF/Nb/Vjij3KaSvCF+sEYGKrrjObu2NA== +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== delayed-stream@~1.0.0: version "1.0.0" @@ -3919,6 +5328,18 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + +detect-installed@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-installed/-/detect-installed-2.0.4.tgz#a0850465e7c3ebcff979d6b6535ad344b80dd7c5" + integrity sha1-oIUEZefD68/5eda2U1rTRLgN18U= + dependencies: + get-installed-path "^2.0.3" + detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -3970,6 +5391,15 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dns-over-http-resolver@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" + integrity sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA== + dependencies: + debug "^4.3.1" + native-fetch "^3.0.0" + receptacle "^1.3.2" + dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -3978,6 +5408,15 @@ dom-serializer@0: domelementtype "^2.0.1" entities "^2.0.0" +dom-serializer@^1.0.1, dom-serializer@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + dom-serializer@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" @@ -3991,6 +5430,11 @@ dom-walk@^0.1.0: resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" @@ -4001,6 +5445,11 @@ domelementtype@^2.0.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== +domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domhandler@2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" @@ -4015,6 +5464,13 @@ domhandler@^2.3.0: dependencies: domelementtype "1" +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" + integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + dependencies: + domelementtype "^2.2.0" + domutils@1.5, domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" @@ -4031,6 +5487,15 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" +domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442" + integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" @@ -4045,10 +5510,10 @@ dot-prop@^4.1.0: dependencies: is-obj "^1.0.0" -dotenv@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== double-ended-queue@2.1.0-0: version "2.1.0-0" @@ -4087,11 +5552,25 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +ed2curve@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ed2curve/-/ed2curve-0.3.0.tgz#322b575152a45305429d546b071823a93129a05d" + integrity sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ== + dependencies: + tweetnacl "1.x.x" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= +electron-fetch@^1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.3.tgz#06cf363d7f64073ec00a37e9949ec9d29ce6b08a" + integrity sha512-1AVMaxrHXTTMqd7EK0MGWusdqNr07Rpj8Th6bG4at0oNgIi/1LBwa9CjT/0Zy+M0k/tSJPS04nFxHj0SXDVgVw== + dependencies: + encoding "^0.1.13" + electron-to-chromium@^1.3.649: version "1.3.687" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz#c336184b7ab70427ffe2ee79eaeaedbc1ad8c374" @@ -4120,7 +5599,7 @@ elliptic@6.5.2, elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.5.2: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -elliptic@6.5.4: +elliptic@6.5.4, elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -4148,6 +5627,16 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -4163,6 +5652,13 @@ encoding-down@^6.3.0: level-codec "^9.0.0" level-errors "^2.0.0" +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -4177,6 +5673,16 @@ end-stream@~0.1.0: dependencies: write-stream "~0.4.3" +enhanced-resolve@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" + integrity sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.7" + entities@1.0: version "1.0.0" resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" @@ -4192,7 +5698,17 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -errno@~0.1.1: +err-code@^2.0.0, err-code@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +err-code@^3.0.0, err-code@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" + integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== + +errno@^0.1.3, errno@~0.1.1: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== @@ -4270,7 +5786,7 @@ es6-denodeify@^0.1.1: resolved "https://registry.yarnpkg.com/es6-denodeify/-/es6-denodeify-0.1.5.tgz#31d4d5fe9c5503e125460439310e16a2a3f39c1f" integrity sha1-MdTV/pxVA+ElRgQ5MQ4WoqPznB8= -es6-iterator@^2.0.3, es6-iterator@~2.0.3: +es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -4279,7 +5795,38 @@ es6-iterator@^2.0.3, es6-iterator@~2.0.3: es5-ext "^0.10.35" es6-symbol "^3.1.1" -es6-symbol@^3.1.1, es6-symbol@~3.1.3: +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== @@ -4287,7 +5834,7 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -es6-weak-map@^2.0.2: +es6-weak-map@^2.0.1, es6-weak-map@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== @@ -4312,7 +5859,7 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escape-string-regexp@4.0.0: +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== @@ -4341,6 +5888,16 @@ escodegen@^1.6.1: optionalDependencies: source-map "~0.6.1" +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + esdoc@^1.0.4: version "1.1.0" resolved "https://registry.yarnpkg.com/esdoc/-/esdoc-1.1.0.tgz#07d40ebf791764cd537929c29111e20a857624f3" @@ -4368,16 +5925,28 @@ esprima@^4.0.0, esprima@^4.0.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +esrecurse@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + estraverse@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= -estraverse@^4.2.0: +estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -4388,7 +5957,7 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -eth-ens-namehash@2.0.8: +eth-ens-namehash@2.0.8, eth-ens-namehash@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= @@ -4396,12 +5965,13 @@ eth-ens-namehash@2.0.8: idna-uts46-hx "^2.3.1" js-sha3 "^0.5.7" -eth-gas-reporter@^0.2.15: - version "0.2.15" - resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.15.tgz#663752ac05bad1054c3c54d6fa611865a6a75fc1" - integrity sha512-nia5IswXUX9XQvc9b3t/PeS+uZFGeq2thzPOot4uLbovpoQRFjxOpo1lz8gbKIfsdOsKYC7pCaTdcScio8bX3Q== +eth-gas-reporter@^0.2.22: + version "0.2.22" + resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.22.tgz#bbe91f5d7b22433d26f099eeb5b20118ced0e575" + integrity sha512-L1FlC792aTf3j/j+gGzSNlGrXKSxNPXQNk6TnV5NNZ2w3jnQCRyJjDl0zUo25Cq2t90IS5vGdbkwqFQK7Ce+kw== dependencies: - "@ethersproject/abi" "5.0.0-beta.142" + "@ethersproject/abi" "^5.0.0-beta.146" + "@solidity-parser/parser" "^0.12.0" cli-table3 "^0.5.0" colors "^1.1.2" ethereumjs-util "6.2.0" @@ -4409,12 +5979,11 @@ eth-gas-reporter@^0.2.15: fs-readdir-recursive "^1.1.0" lodash "^4.17.14" markdown-table "^1.1.3" - mocha "^5.2.0" + mocha "^7.1.1" req-cwd "^2.0.0" request "^2.88.0" request-promise-native "^1.0.5" sha1 "^1.1.1" - solidity-parser-diligence "^0.4.17" sync-request "^6.0.0" eth-lib@0.2.7: @@ -4493,6 +6062,13 @@ ethereumjs-common@^1.3.2, ethereumjs-common@^1.5.0: resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz#d3e82fc7c47c0cef95047f431a99485abc9bb1cd" integrity sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ== +ethereumjs-testrpc@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/ethereumjs-testrpc/-/ethereumjs-testrpc-6.0.3.tgz#7a0b87bf3670f92f607f98fa6a78801d9741b124" + integrity sha512-lAxxsxDKK69Wuwqym2K49VpXtBvLEsXr1sryNG4AkvL5DomMdeCBbu3D87UEevKenLHBiT8GTjARwN6Yj039gA== + dependencies: + webpack "^3.0.0" + ethereumjs-tx@^1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" @@ -4509,19 +6085,6 @@ ethereumjs-tx@^2.1.1: ethereumjs-common "^1.5.0" ethereumjs-util "^6.0.0" -ethereumjs-util@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" - integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - ethjs-util "0.1.6" - keccak "^1.0.2" - rlp "^2.0.0" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - ethereumjs-util@6.2.0, ethereumjs-util@^6.0.0: version "6.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz#23ec79b2488a7d041242f01e25f24e5ad0357960" @@ -4561,6 +6124,18 @@ ethereumjs-util@^5.0.0: safe-buffer "^5.1.1" secp256k1 "^3.0.1" +ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.0.tgz#e2b43a30bfcdbcb432a4eb42bd5f2393209b3fd5" + integrity sha512-kR+vhu++mUDARrsMMhsjjzPduRVAeundLGXucGRHF3B4oEltOUspfgCVco4kckucj3FMlLaZHUl9n7/kdmr6Tw== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + ethjs-util "0.1.6" + rlp "^2.2.4" + ethers@4.0.0-beta.3: version "4.0.0-beta.3" resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.0-beta.3.tgz#15bef14e57e94ecbeb7f9b39dd0a4bd435bc9066" @@ -4592,6 +6167,42 @@ ethers@^4.0.20, ethers@^4.0.27, ethers@^4.0.32, ethers@^4.0.40: uuid "2.0.1" xmlhttprequest "1.8.0" +ethers@^5.0.13: + version "5.4.5" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.5.tgz#cec133b9f5b514dc55e2561ee7aa7218c33affd7" + integrity sha512-PPZ6flOAj230sXEWf/r/It6ZZ5c7EOVWx+PU87Glkbg79OtT7pLE1WgL4MRdwx6iF7HzSOvUUI+8cAmcdzo12w== + dependencies: + "@ethersproject/abi" "5.4.0" + "@ethersproject/abstract-provider" "5.4.1" + "@ethersproject/abstract-signer" "5.4.1" + "@ethersproject/address" "5.4.0" + "@ethersproject/base64" "5.4.0" + "@ethersproject/basex" "5.4.0" + "@ethersproject/bignumber" "5.4.1" + "@ethersproject/bytes" "5.4.0" + "@ethersproject/constants" "5.4.0" + "@ethersproject/contracts" "5.4.1" + "@ethersproject/hash" "5.4.0" + "@ethersproject/hdnode" "5.4.0" + "@ethersproject/json-wallets" "5.4.0" + "@ethersproject/keccak256" "5.4.0" + "@ethersproject/logger" "5.4.0" + "@ethersproject/networks" "5.4.2" + "@ethersproject/pbkdf2" "5.4.0" + "@ethersproject/properties" "5.4.0" + "@ethersproject/providers" "5.4.4" + "@ethersproject/random" "5.4.0" + "@ethersproject/rlp" "5.4.0" + "@ethersproject/sha2" "5.4.0" + "@ethersproject/signing-key" "5.4.0" + "@ethersproject/solidity" "5.4.0" + "@ethersproject/strings" "5.4.0" + "@ethersproject/transactions" "5.4.0" + "@ethersproject/units" "5.4.0" + "@ethersproject/wallet" "5.4.0" + "@ethersproject/web" "5.4.0" + "@ethersproject/wordlists" "5.4.0" + ethjs-unit@0.1.6, ethjs-unit@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" @@ -4608,7 +6219,7 @@ ethjs-util@0.1.6, ethjs-util@^0.1.3: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" -event-emitter@^0.3.5: +event-emitter@^0.3.5, event-emitter@~0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= @@ -4616,6 +6227,16 @@ event-emitter@^0.3.5: d "1" es5-ext "~0.10.14" +event-iterator@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/event-iterator/-/event-iterator-1.2.0.tgz#2e71dc6ca56f1cf8ebcb2b9be7fdfd10acabbb76" + integrity sha512-Daq7YUl0Mv1i4QEgzGQlz0jrx7hUFNyLGbiF+Ap7NCMCjDLCCnolyj6s0TAc6HmrBziO5rNVHsPwGMp7KdRPvw== + +event-iterator@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/event-iterator/-/event-iterator-2.0.0.tgz#10f06740cc1e9fd6bc575f334c2bc1ae9d2dbf62" + integrity sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ== + event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" @@ -4626,7 +6247,7 @@ eventemitter3@3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== -eventemitter3@3.1.2, eventemitter3@^3.1.0: +eventemitter3@3.1.2, eventemitter3@^3.1.0, eventemitter3@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== @@ -4641,6 +6262,11 @@ eventemitter3@^4.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== +events@^3.0.0, events@^3.2.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + eventsource@1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" @@ -4656,6 +6282,19 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -4669,6 +6308,11 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -4696,6 +6340,13 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + express@^4.0.0, express@^4.14.0, express@^4.17.1: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" @@ -4812,6 +6463,11 @@ fast-deep-equal@^3.1.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-fifo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.0.0.tgz#9bc72e6860347bb045a876d1c5c0af11e9b984e7" + integrity sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ== + fast-future@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/fast-future/-/fast-future-1.0.2.tgz#8435a9aaa02d79248d17d704e76259301d99280a" @@ -4851,6 +6507,16 @@ fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-sha256@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-sha256/-/fast-sha256-1.3.0.tgz#7916ba2054eeb255982608cccd0f6660c79b7ae6" + integrity sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ== + +fastestsmallesttextencoderdecoder@^1.0.22: + version "1.0.22" + resolved "https://registry.yarnpkg.com/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz#59b47e7b965f45258629cc6c127bf783281c5e93" + integrity sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw== + fastq@^1.6.0: version "1.6.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.1.tgz#4570c74f2ded173e71cf0beb08ac70bb85826791" @@ -4925,6 +6591,29 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +filecoin.js@^0.0.5-alpha: + version "0.0.5-alpha" + resolved "https://registry.yarnpkg.com/filecoin.js/-/filecoin.js-0.0.5-alpha.tgz#cf6f14ae0715e88c290aeacfe813ff48a69442cd" + integrity sha512-xPrB86vDnTPfmvtN/rJSrhl4M77694ruOgNXd0+5gP67mgmCDhStLCqcr+zHIDRgDpraf7rY+ELbwjXZcQNdpQ== + dependencies: + "@ledgerhq/hw-transport-webusb" "^5.22.0" + "@nodefactory/filsnap-adapter" "^0.2.1" + "@nodefactory/filsnap-types" "^0.2.1" + "@zondax/filecoin-signing-tools" "github:Digital-MOB-Filecoin/filecoin-signing-tools-js" + bignumber.js "^9.0.0" + bitcore-lib "^8.22.2" + bitcore-mnemonic "^8.22.2" + btoa-lite "^1.0.0" + events "^3.2.0" + isomorphic-ws "^4.0.1" + node-fetch "^2.6.0" + rpc-websockets "^5.3.1" + scrypt-async "^2.0.1" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + websocket "^1.0.31" + ws "^7.3.1" + filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" @@ -4979,6 +6668,13 @@ find-replace@^1.0.3: array-back "^1.0.4" test-value "^2.1.0" +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + find-up@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -4995,20 +6691,13 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.1.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -5017,13 +6706,12 @@ find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-yarn-workspace-root@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" - integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== dependencies: - fs-extra "^4.0.3" - micromatch "^3.1.4" + micromatch "^4.0.2" first-chunk-stream@^1.0.0: version "1.0.0" @@ -5044,6 +6732,11 @@ follow-redirects@1.5.10: dependencies: debug "=3.1.0" +follow-redirects@^1.10.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.2.tgz#cecb825047c00f5e66b142f90fed4f515dec789b" + integrity sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -5170,7 +6863,7 @@ fs-extra@^0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" -fs-extra@^4.0.2, fs-extra@^4.0.3: +fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== @@ -5197,7 +6890,7 @@ fs-extra@^8.0.1, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.1.0: +fs-extra@^9.0.1, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -5224,11 +6917,24 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@~2.1.2: +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.1.1, fsevents@~2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -5239,16 +6945,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -ganache-cli@6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/ganache-cli/-/ganache-cli-6.9.0.tgz#94d7e26964dff80b7382a33829ec75e15709a948" - integrity sha512-ZdL6kPrApXF/O+f6uU431OJcwxMk69H3KPDSHHrMP82ZvZRNpDHbR+rVv7XX/YUeoQ5q6nZ2AFiGiFAVn9pfzA== - dependencies: - ethereumjs-util "6.1.0" - source-map-support "0.5.12" - yargs "13.2.4" - -ganache-cli@^6.12.2: +ganache-cli@^6.1.0, ganache-cli@^6.11.0, ganache-cli@^6.12.2: version "6.12.2" resolved "https://registry.yarnpkg.com/ganache-cli/-/ganache-cli-6.12.2.tgz#c0920f7db0d4ac062ffe2375cb004089806f627a" integrity sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw== @@ -5276,6 +6973,11 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -5286,6 +6988,20 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= +get-installed-path@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/get-installed-path/-/get-installed-path-2.1.1.tgz#a1f33dc6b8af542c9331084e8edbe37fe2634152" + integrity sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA== + dependencies: + global-modules "1.0.0" + +get-installed-path@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/get-installed-path/-/get-installed-path-4.0.8.tgz#a4fee849f5f327c12c551bb37477acd5151e5f7d" + integrity sha512-PmANK1xElIHlHH2tXfOoTnSDUjX1X3GvKK6ZyLbUnSCCn1pADwu67eVWttuPzJWrXDDT2MfO6uAaKILOFfitmA== + dependencies: + global-modules "1.0.0" + get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" @@ -5295,6 +7011,11 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-iterator@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" + integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== + get-params@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/get-params/-/get-params-0.1.2.tgz#bae0dfaba588a0c60d7834c0d8dc2ff60eeef2fe" @@ -5305,6 +7026,11 @@ get-port@^3.1.0: resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= +get-prototype-of@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/get-prototype-of/-/get-prototype-of-0.0.0.tgz#98772bd10716d16deb4b322516c469efca28ac44" + integrity sha1-mHcr0QcW0W3rSzIlFsRp78oorEQ= + get-stream@^2.2.0: version "2.3.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" @@ -5367,7 +7093,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-parent@^3.0.0: +glob-parent@^3.0.0, glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= @@ -5382,7 +7108,7 @@ glob-parent@^5.1.0: dependencies: is-glob "^4.0.1" -glob-parent@~5.1.0: +glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -5403,10 +7129,10 @@ glob-stream@^5.3.2: to-absolute-glob "^0.1.1" unique-stream "^2.0.2" -glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== +glob@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -5438,6 +7164,27 @@ glob@^5.0.15, glob@^5.0.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.6: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@1.0.0, global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + global-modules@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" @@ -5445,6 +7192,17 @@ global-modules@^2.0.0: dependencies: global-prefix "^3.0.0" +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + global-prefix@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" @@ -5472,6 +7230,13 @@ globals@^9.18.0: resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== +globalthis@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" + integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== + dependencies: + define-properties "^1.1.3" + globby@11.0.2: version "11.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" @@ -5498,6 +7263,11 @@ globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" +google-protobuf@^3.13.0, google-protobuf@^3.17.3: + version "3.17.3" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.17.3.tgz#f87595073545a77946c8f0b67c302c5f7646d700" + integrity sha512-OVPzcSWIAJ+d5yiHyeaLrdufQtrvaBrF4JQg+z8ynTkbO3uFcujqXszTumqg1cGsAsjkWnI+M5B1xZ19yR4Wyg== + got@9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -5550,6 +7320,11 @@ graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + graphql-extensions@^0.12.8: version "0.12.8" resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.12.8.tgz#9cdc2c43d8fe5e0f6c3177a004ac011da2a8aa0f" @@ -5707,6 +7482,11 @@ has-flag@^1.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -5793,7 +7573,7 @@ hash.js@1.1.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -5801,12 +7581,7 @@ hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= - -he@1.2.0: +he@1.2.0, he@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -5819,6 +7594,16 @@ header-case@^1.0.0: no-case "^2.2.0" upper-case "^1.1.3" +highlight.js@^10.4.1: + version "10.7.3" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + +highlightjs-solidity@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/highlightjs-solidity/-/highlightjs-solidity-1.2.2.tgz#049a050c0d8009c99b373537a4e66bf55366de51" + integrity sha512-+cZ+1+nAO5Pi6c70TKuMcPmwqLECxiYhnQc1MxdXckK94zyWFMNZADzu98ECNlf5xCRdNh+XKp+eklmRU+Dniw== + hmac-drbg@^1.0.0, hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -5835,6 +7620,13 @@ hoist-non-react-statics@^3.3.2: dependencies: react-is "^16.7.0" +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + hosted-git-info@^2.1.4: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -5857,6 +7649,16 @@ htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^3.1.1" +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + htmlparser2@~3.8.1: version "3.8.3" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" @@ -5937,6 +7739,11 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + ice-cap@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/ice-cap/-/ice-cap-0.0.4.tgz#8a6d31ab4cac8d4b56de4fa946df3352561b6e18" @@ -5952,6 +7759,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.4: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + idna-uts46-hx@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" @@ -5959,7 +7773,7 @@ idna-uts46-hx@^2.3.1: dependencies: punycode "2.1.0" -ieee754@^1.1.13: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -6001,10 +7815,10 @@ immediate@~3.2.3: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= -immutable@^4.0.0-rc.12: - version "4.0.0-rc.12" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0-rc.12.tgz#ca59a7e4c19ae8d9bf74a97bdf0f6e2f2a5d0217" - integrity sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A== +immutable@^4.0.0-rc.14: + version "4.0.0-rc.14" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0-rc.14.tgz#29ba96631ec10867d1348515ac4e6bdba462f071" + integrity sha512-pfkvmRKJSoW7JFx0QeYlAmT+kNYvn5j0u7bnpNq4N2RCvHSTlLT208G8jgaquNe+Q8kCPHKOSpxJkyvLDpYq0w== immutable@~3.7.6: version "3.7.6" @@ -6036,21 +7850,26 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +inherits@2.0.1, inherits@=2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +ini@^1.3.4, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + ini@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - interpret@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" @@ -6073,11 +7892,143 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== +ip-regex@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + ipaddr.js@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== +ipfs-core-types@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ipfs-core-types/-/ipfs-core-types-0.2.1.tgz#460bf2116477ce621995468c962c685dbdc4ac6f" + integrity sha512-q93+93qSybku6woZaajE9mCrHeVoMzNtZ7S5m/zx0+xHRhnoLlg8QNnGGsb5/+uFQt/RiBArsIw/Q61K9Jwkzw== + dependencies: + cids "^1.1.5" + multiaddr "^8.0.0" + peer-id "^0.14.1" + +ipfs-core-utils@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.6.1.tgz#59d1ca9ff4a33bbf6497c4abe024573c3fd7d784" + integrity sha512-UFIklwE3CFcsNIhYFDuz0qB7E2QtdFauRfc76kskgiqhGWcjqqiDeND5zBCrAy0u8UMaDqAbFl02f/mIq1yKXw== + dependencies: + any-signal "^2.0.0" + blob-to-it "^1.0.1" + browser-readablestream-to-it "^1.0.1" + cids "^1.1.5" + err-code "^2.0.3" + ipfs-core-types "^0.2.1" + ipfs-utils "^5.0.0" + it-all "^1.0.4" + it-map "^1.0.4" + it-peekable "^1.0.1" + multiaddr "^8.0.0" + multiaddr-to-uri "^6.0.0" + parse-duration "^0.4.4" + timeout-abort-controller "^1.1.1" + uint8arrays "^1.1.0" + +ipfs-http-client@^48.2.2: + version "48.2.2" + resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-48.2.2.tgz#b570fb99866f94df1c394a6101a2eb750ff46599" + integrity sha512-f3ppfWe913SJLvunm0UgqdA1dxVZSGQJPaEVJtqgjxPa5x0fPDiBDdo60g2MgkW1W6bhF9RGlxvHHIE9sv/tdg== + dependencies: + any-signal "^2.0.0" + bignumber.js "^9.0.0" + cids "^1.1.5" + debug "^4.1.1" + form-data "^3.0.0" + ipfs-core-types "^0.2.1" + ipfs-core-utils "^0.6.1" + ipfs-utils "^5.0.0" + ipld-block "^0.11.0" + ipld-dag-cbor "^0.17.0" + ipld-dag-pb "^0.20.0" + ipld-raw "^6.0.0" + it-last "^1.0.4" + it-map "^1.0.4" + it-tar "^1.2.2" + it-to-stream "^0.1.2" + merge-options "^2.0.0" + multiaddr "^8.0.0" + multibase "^3.0.0" + multicodec "^2.0.1" + multihashes "^3.0.1" + nanoid "^3.1.12" + native-abort-controller "~0.0.3" + parse-duration "^0.4.4" + stream-to-it "^0.2.2" + uint8arrays "^1.1.0" + +ipfs-utils@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-5.0.1.tgz#7c0053d5e77686f45577257a73905d4523e6b4f7" + integrity sha512-28KZPgO4Uf5duT2ORLAYfboUp98iUshDD7yRAfbNxNAR8Dtidfn6o20rZfoXnkri2zKBVIPlJkuCPmPJB+6erg== + dependencies: + abort-controller "^3.0.0" + any-signal "^2.1.0" + buffer "^6.0.1" + electron-fetch "^1.7.2" + err-code "^2.0.0" + fs-extra "^9.0.1" + is-electron "^2.2.0" + iso-url "^1.0.0" + it-glob "0.0.10" + it-to-stream "^0.1.2" + merge-options "^2.0.0" + nanoid "^3.1.3" + native-abort-controller "0.0.3" + native-fetch "^2.0.0" + node-fetch "^2.6.0" + stream-to-it "^0.2.0" + +ipld-block@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/ipld-block/-/ipld-block-0.11.1.tgz#c3a7b41aee3244187bd87a73f980e3565d299b6e" + integrity sha512-sDqqLqD5qh4QzGq6ssxLHUCnH4emCf/8F8IwjQM2cjEEIEHMUj57XhNYgmGbemdYPznUhffxFGEHsruh5+HQRw== + dependencies: + cids "^1.0.0" + +ipld-dag-cbor@^0.17.0: + version "0.17.1" + resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-0.17.1.tgz#842e6c250603e5791049168831a425ec03471fb1" + integrity sha512-Bakj/cnxQBdscORyf4LRHxQJQfoaY8KWc7PWROQgX+aw5FCzBt8ga0VM/59K+ABOznsqNvyLR/wz/oYImOpXJw== + dependencies: + borc "^2.1.2" + cids "^1.0.0" + is-circular "^1.0.2" + multicodec "^3.0.1" + multihashing-async "^2.0.0" + uint8arrays "^2.1.3" + +ipld-dag-pb@^0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.20.0.tgz#025c0343aafe6cb9db395dd1dc93c8c60a669360" + integrity sha512-zfM0EdaolqNjAxIrtpuGKvXxWk5YtH9jKinBuQGTcngOsWFQhyybGCTJHGNGGtRjHNJi2hz5Udy/8pzv4kcKyg== + dependencies: + cids "^1.0.0" + class-is "^1.1.0" + multicodec "^2.0.0" + multihashing-async "^2.0.0" + protons "^2.0.0" + reset "^0.1.0" + run "^1.4.0" + stable "^0.1.8" + uint8arrays "^1.0.0" + +ipld-raw@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/ipld-raw/-/ipld-raw-6.0.0.tgz#74d947fcd2ce4e0e1d5bb650c1b5754ed8ea6da0" + integrity sha512-UK7fjncAzs59iu/o2kwYtb8jgTtW6B+cNWIiNpAJkfRwqoMk1xD/6i25ktzwe4qO8gQgoR9RxA5ibC23nq8BLg== + dependencies: + cids "^1.0.0" + multicodec "^2.0.0" + multihashing-async "^2.0.0" + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -6109,6 +8060,13 @@ is-bigint@^1.0.1: resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -6143,6 +8101,11 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.3: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== +is-capitalized@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-capitalized/-/is-capitalized-1.0.0.tgz#4c8464b4d91d3e4eeb44889dd2cd8f1b0ac4c136" + integrity sha1-TIRktNkdPk7rRIid0s2PGwrEwTY= + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -6150,6 +8113,16 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-circular@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-circular/-/is-circular-1.0.2.tgz#2e0ab4e9835f4c6b0ea2b9855a84acd501b8366c" + integrity sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA== + +is-class@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/is-class/-/is-class-0.0.4.tgz#e057451705bb34e39e3e33598c93a9837296b736" + integrity sha1-4FdFFwW7NOOePjNZjJOpg3KWtzY= + is-core-module@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" @@ -6194,11 +8167,21 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= +is-electron@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.0.tgz#8943084f09e8b731b3a7a0298a7b5d56f6b7eef0" + integrity sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q== + is-equal-shallow@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" @@ -6260,7 +8243,7 @@ is-generator-function@^1.0.7: resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== -is-glob@4.0.1, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@4.0.1, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -6286,6 +8269,13 @@ is-hex-prefixed@1.0.0: resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= +is-ip@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== + dependencies: + ip-regex "^4.0.0" + is-lower-case@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" @@ -6352,6 +8342,11 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -6447,17 +8442,24 @@ is-valid-glob@^0.3.0: resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" integrity sha1-1LVcafUYhvm2XHDWwmItN+KfSP4= -is-windows@^1.0.2: +is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= -isarray@1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -6472,6 +8474,29 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= +iso-constants@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/iso-constants/-/iso-constants-0.1.2.tgz#3d2456ed5aeaa55d18564f285ba02a47a0d885b4" + integrity sha512-OTCM5ZCQsHBCI4Wdu4tSxvDIkmDHd5EwJDps5mKqnQnWJSKlnwMs3EDZ4n3Fh1tmkWkDlyd2vCDbEYuPbyrUNQ== + +iso-random-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.0.tgz#3f0118166d5443148bbc134345fb100002ad0f1d" + integrity sha512-lGuIu104KfBV9ubYTSaE3GeAr6I69iggXxBHbTBc5u/XKlwlWl0LCytnkIZissaKqvxablwRD9B3ktVnmIUnEg== + dependencies: + events "^3.3.0" + readable-stream "^3.4.0" + +iso-url@^1.0.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.1.5.tgz#875a0f2bf33fa1fc200f8d89e3f49eee57a8f0d9" + integrity sha512-+3JqoKdBTGmyv9vOkS6b9iHhvK34UajfTibrH/1HOK8TI7K2VsM0qOCd+aJdWKtSOA8g3PqZfcwDmnR0p3klqQ== + +iso-url@~0.4.7: + version "0.4.7" + resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-0.4.7.tgz#de7e48120dae46921079fe78f325ac9e9217a385" + integrity sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog== + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -6489,7 +8514,7 @@ isobject@^4.0.0: resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== -isomorphic-ws@4.0.1: +isomorphic-ws@4.0.1, isomorphic-ws@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== @@ -6507,6 +8532,84 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" +it-all@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.5.tgz#e880510d7e73ebb79063a76296a2eb3cb77bbbdb" + integrity sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA== + +it-concat@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/it-concat/-/it-concat-1.0.3.tgz#84db9376e4c77bf7bc1fd933bb90f184e7cef32b" + integrity sha512-sjeZQ1BWQ9U/W2oI09kZgUyvSWzQahTkOkLIsnEPgyqZFaF9ME5gV6An4nMjlyhXKWQMKEakQU8oRHs2SdmeyA== + dependencies: + bl "^4.0.0" + +it-drain@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/it-drain/-/it-drain-1.0.4.tgz#15ee0e90fba4b5bc8cff1c61b8c59d4203293baa" + integrity sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ== + +it-glob@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-0.0.10.tgz#4defd9286f693847c3ff483d2ff65f22e1359ad8" + integrity sha512-p1PR15djgPV7pxdLOW9j4WcJdla8+91rJdUU2hU2Jm68vkxpIEXK55VHBeH8Lvqh2vqLtM83t8q4BuJxue6niA== + dependencies: + fs-extra "^9.0.1" + minimatch "^3.0.4" + +it-last@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/it-last/-/it-last-1.0.5.tgz#5c711c7d58948bcbc8e0cb129af3a039ba2a585b" + integrity sha512-PV/2S4zg5g6dkVuKfgrQfN2rUN4wdTI1FzyAvU+i8RV96syut40pa2s9Dut5X7SkjwA3P0tOhLABLdnOJ0Y/4Q== + +it-map@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/it-map/-/it-map-1.0.5.tgz#2f6a9b8f0ba1ed1aeadabf86e00b38c73a1dc299" + integrity sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ== + +it-peekable@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-1.0.2.tgz#3b2c7948b765f35b3bb07abbb9b2108c644e73c1" + integrity sha512-LRPLu94RLm+lxLZbChuc9iCXrKCOu1obWqxfaKhF00yIp30VGkl741b5P60U+rdBxuZD/Gt1bnmakernv7bVFg== + +it-reader@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/it-reader/-/it-reader-2.1.0.tgz#b1164be343f8538d8775e10fb0339f61ccf71b0f" + integrity sha512-hSysqWTO9Tlwc5EGjVf8JYZzw0D2FsxD/g+eNNWrez9zODxWt6QlN6JAMmycK72Mv4jHEKEXoyzUN4FYGmJaZw== + dependencies: + bl "^4.0.0" + +it-tar@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/it-tar/-/it-tar-1.2.2.tgz#8d79863dad27726c781a4bcc491f53c20f2866cf" + integrity sha512-M8V4a9I+x/vwXTjqvixcEZbQZHjwDIb8iUQ+D4M2QbhAdNs3WKVSl+45u5/F2XFx6jYMFOGzMVlKNK/uONgNIA== + dependencies: + bl "^4.0.0" + buffer "^5.4.3" + iso-constants "^0.1.2" + it-concat "^1.0.0" + it-reader "^2.0.0" + p-defer "^3.0.0" + +it-to-stream@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-0.1.2.tgz#7163151f75b60445e86b8ab1a968666acaacfe7b" + integrity sha512-DTB5TJRZG3untmZehcaFN0kGWl2bNv7tnJRgQHAO9QEt8jfvVRrebZtnD5NZd4SCj4WVPjl0LSrugNWE/UaZRQ== + dependencies: + buffer "^5.6.0" + fast-fifo "^1.0.0" + get-iterator "^1.0.2" + p-defer "^3.0.0" + p-fifo "^1.0.0" + readable-stream "^3.6.0" + +iter-tools@^7.0.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/iter-tools/-/iter-tools-7.1.3.tgz#eeafa7cde16ae8ff3b67ce6890f5e2f745a65fe7" + integrity sha512-Pnd3FVHgKnDHrTVjggXLMq5O/P60fho5iL0a0kkdLcofxX8STHw6cgYZ4ZHQS3Zb4Hg/VeqeNUxDs4vlVwUL4A== + dependencies: + "@babel/runtime" "^7.12.1" + iterall@^1.1.3, iterall@^1.2.1, iterall@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" @@ -6545,18 +8648,18 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== +js-yaml@3.13.1, js-yaml@3.x, js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== dependencies: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@3.x, js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== +js-yaml@3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -6607,6 +8710,11 @@ json-buffer@3.0.0: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= +json-loader@^0.5.4: + version "0.5.7" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w== + json-pointer@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.1.tgz#3c6caa6ac139e2599f5a1659d39852154015054d" @@ -6641,13 +8749,33 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json-text-sequence@^0.1: +json-text-sequence@^0.1, json-text-sequence@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/json-text-sequence/-/json-text-sequence-0.1.1.tgz#a72f217dc4afc4629fff5feb304dc1bd51a2f3d2" integrity sha1-py8hfcSvxGKf/1/rME3BvVGi89I= dependencies: delimit-stream "0.1.0" +json-to-ast@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/json-to-ast/-/json-to-ast-2.1.0.tgz#041a9fcd03c0845036acb670d29f425cea4faaf9" + integrity sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ== + dependencies: + code-error-fragment "0.0.230" + grapheme-splitter "^1.0.4" + +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" @@ -6691,6 +8819,11 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= +jsonpointer@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc" + integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg== + jsonschema@^1.2.4: version "1.2.5" resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.5.tgz#bab69d97fa28946aec0a56a9cc266d23fe80ae61" @@ -6734,6 +8867,18 @@ keccak@^3.0.0: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" +keypair@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/keypair/-/keypair-1.0.3.tgz#4314109d94052a0acfd6b885695026ad29529c80" + integrity sha512-0wjZ2z/SfZZq01+3/8jYLd8aEShSa+aat1zyPGQY3IuKoEAp6DJGvu2zt6snELrQU9jbCkIlCyNOD7RdQbHhkQ== + +keypather@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/keypather/-/keypather-1.10.2.tgz#e0449632d4b3e516f21cc014ce7c5644fddce614" + integrity sha1-4ESWMtSz5RbyHMAUznxWRP3c5hQ= + dependencies: + "101" "^1.0.0" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -6779,6 +8924,11 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + lazy-debug-legacy@0.0.X: version "0.0.1" resolved "https://registry.yarnpkg.com/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz#537716c0776e4cf79e3ed1b621f7658c2911b1b1" @@ -6810,6 +8960,14 @@ lcov-parse@^1.0.0: resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= +leb128@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/leb128/-/leb128-0.0.5.tgz#84524a86ef7799fb3933ce41345f6490e27ac948" + integrity sha512-elbNtfmu3GndZbesVF6+iQAfVjOXW9bM/aax9WwMlABZW+oK9sbAZEXoewaPHmL34sxa8kVwWsru8cNE/yn2gg== + dependencies: + bn.js "^5.0.0" + buffer-pipe "0.0.3" + level-codec@9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.1.tgz#042f4aa85e56d4328ace368c950811ba802b7247" @@ -6926,6 +9084,11 @@ levelup@4.4.0, levelup@^4.3.2: level-supports "~1.0.0" xtend "~4.0.0" +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -6934,6 +9097,23 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +libp2p-crypto@^0.19.0: + version "0.19.7" + resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.19.7.tgz#e96a95bd430e672a695209fe0fbd2bcbd348bc35" + integrity sha512-Qb5o/3WFKF2j6mYSt4UBPyi2kbKl3jYV0podBJoJCw70DlpM5Xc+oh3fFY9ToSunu8aSQQ5GY8nutjXgX/uGRA== + dependencies: + err-code "^3.0.1" + is-typedarray "^1.0.0" + iso-random-stream "^2.0.0" + keypair "^1.0.1" + multiformats "^9.4.5" + node-forge "^0.10.0" + pem-jwk "^2.0.0" + protobufjs "^6.11.2" + secp256k1 "^4.0.0" + uint8arrays "^3.0.0" + ursa-optional "^0.10.1" + linked-list@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/linked-list/-/linked-list-0.1.0.tgz#798b0ff97d1b92a4fd08480f55aea4e9d49d37bf" @@ -6950,6 +9130,30 @@ load-json-file@^1.0.0, load-json-file@^1.1.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -7010,71 +9214,26 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.concat@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.concat/-/lodash.concat-4.5.0.tgz#b053ae02e4a8008582e7256b9d02bda6d0380395" - integrity sha1-sFOuAuSoAIWC5yVrnQK9ptA4A5U= - -lodash.difference@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= - lodash.escaperegexp@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= -lodash.every@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7" - integrity sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc= - -lodash.findlast@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findlast/-/lodash.findlast-4.6.0.tgz#ea8bb78cf2e7e7804fc8aeb7d1953e07fe31fbc8" - integrity sha1-6ou3jPLn54BPyK630ZU+B/4x+8g= - lodash.flatten@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= - -lodash.invertby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.invertby/-/lodash.invertby-4.7.0.tgz#cdebb6cd4942aa6b8df2c74be1c5d948682718b0" - integrity sha1-zeu2zUlCqmuN8sdL4cXZSGgnGLA= - -lodash.isempty@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" - integrity sha1-b4bL7di+TsmHvpqvM8loTbGzHn4= - lodash.isequal@^4.0.0, lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - lodash.keys@^4.0.0, lodash.keys@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" integrity sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU= -lodash.map@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -7095,31 +9254,11 @@ lodash.pick@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= -lodash.pickby@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" - integrity sha1-feoh2MGNdwOifHBMFdO4SmfjOv8= - -lodash.random@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.random/-/lodash.random-3.2.0.tgz#96e24e763333199130d2c9e2fd57f91703cc262d" - integrity sha1-luJOdjMzGZEw0sni/Vf5FwPMJi0= - lodash.rest@^4.0.0: version "4.0.5" resolved "https://registry.yarnpkg.com/lodash.rest/-/lodash.rest-4.0.5.tgz#954ef75049262038c96d1fc98b28fdaf9f0772aa" integrity sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo= -lodash.reverse@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.reverse/-/lodash.reverse-4.0.1.tgz#1f2afedace2e16e660f3aa7c59d3300a6f25d13c" - integrity sha1-Hyr+2s4uFuZg86p8WdMwCm8l0Tw= - -lodash.some@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" - integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= - lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -7159,32 +9298,27 @@ lodash.tostring@^4.0.0: resolved "https://registry.yarnpkg.com/lodash.tostring/-/lodash.tostring-4.1.4.tgz#560c27d1f8eadde03c2cce198fef5c031d8298fb" integrity sha1-Vgwn0fjq3eA8LM4Zj+9cAx2CmPs= -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash.values@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" - integrity sha1-o6bCsOvsxcLLocF+bmIP6BtT00c= - lodash.without@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= +lodash.xor@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.xor/-/lodash.xor-4.5.0.tgz#4d48ed7e98095b0632582ba714d3ff8ae8fb1db6" + integrity sha1-TUjtfpgJWwYyWCunFNP/iuj7HbY= + lodash.zipwith@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.zipwith/-/lodash.zipwith-4.2.0.tgz#afacf03fd2f384af29e263c3c6bda3b80e3f51fd" integrity sha1-r6zwP9LzhK8p4mPDxr2juA4/Uf0= -lodash@4.17.21, lodash@^4.1.0, lodash@^4.15.0, lodash@^4.17.19, lodash@^4.17.4, lodash@^4.2.1: +lodash@4.17.21, lodash@^4.1.0, lodash@^4.15.0, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.2.1: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -7194,6 +9328,13 @@ log-driver@^1.2.7: resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== +log-symbols@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + log-symbols@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" @@ -7208,7 +9349,7 @@ log-symbols@^2.2.0: dependencies: chalk "^2.0.1" -loglevel@^1.6.7: +loglevel@^1.6.6, loglevel@^1.6.7, loglevel@^1.6.8, loglevel@^1.7.0: version "1.7.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== @@ -7218,6 +9359,11 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -7254,6 +9400,14 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -7338,6 +9492,13 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= + dependencies: + mimic-fn "^1.0.0" + mem@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" @@ -7373,6 +9534,14 @@ memoizee@^0.4.14: next-tick "1" timers-ext "^0.1.5" +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -7383,6 +9552,13 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= +merge-options@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-2.0.0.tgz#36ca5038badfc3974dbde5e58ba89d3df80882c3" + integrity sha512-S7xYIeWHl2ZUKF7SDeBhGg6rfv5bKxVBdk95s/I7wVF8d+hjLSztJ/B271cnUiF6CAFduEQ5Zn3HYwAjT16DlQ== + dependencies: + is-plain-obj "^2.0.0" + merge-stream@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" @@ -7419,7 +9595,7 @@ micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -7493,6 +9669,11 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -7503,7 +9684,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4: +minimatch@*, "minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -7572,6 +9753,18 @@ mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" +mkdirp@0.5.5, mkdirp@^0.5.3, mkdirp@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + mocha@8.1.2: version "8.1.2" resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.2.tgz#d67fad13300e4f5cd48135a935ea566f96caf827" @@ -7603,22 +9796,35 @@ mocha@8.1.2: yargs-parser "13.1.2" yargs-unparser "1.6.1" -mocha@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" - integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== +mocha@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.2.0.tgz#01cc227b00d875ab1eed03a75106689cfed5a604" + integrity sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ== dependencies: + ansi-colors "3.2.3" browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" + chokidar "3.3.0" + debug "3.2.6" diff "3.5.0" escape-string-regexp "1.0.5" - glob "7.1.2" + find-up "3.0.0" + glob "7.1.3" growl "1.10.5" - he "1.1.1" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "3.0.0" minimatch "3.0.4" - mkdirp "0.5.1" - supports-color "5.4.0" + mkdirp "0.5.5" + ms "2.1.1" + node-environment-flags "1.0.6" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "1.6.0" mock-fs@^4.1.0: version "4.10.4" @@ -7658,6 +9864,27 @@ ms@2.1.2, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +multiaddr-to-uri@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz#8f08a75c6eeb2370d5d24b77b8413e3f0fa9bcc0" + integrity sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A== + dependencies: + multiaddr "^8.0.0" + +multiaddr@^8.0.0, multiaddr@^8.1.2: + version "8.1.2" + resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-8.1.2.tgz#74060ff8636ba1c01b2cf0ffd53950b852fa9b1f" + integrity sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ== + dependencies: + cids "^1.0.0" + class-is "^1.1.0" + dns-over-http-resolver "^1.0.0" + err-code "^2.0.3" + is-ip "^3.1.0" + multibase "^3.0.0" + uint8arrays "^1.1.0" + varint "^5.0.0" + multibase@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" @@ -7666,6 +9893,21 @@ multibase@^0.7.0: base-x "^3.0.8" buffer "^5.5.0" +multibase@^3.0.0, multibase@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-3.1.2.tgz#59314e1e2c35d018db38e4c20bb79026827f0f2f" + integrity sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw== + dependencies: + "@multiformats/base-x" "^4.0.1" + web-encoding "^1.0.6" + +multibase@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-4.0.5.tgz#620293b524e01f504b750cef585c2bdc6ee1c64c" + integrity sha512-oqFkOYXdUkakxT8MqGyn5sE1KYeVt1zataOTvg688skQp6TVBv9XnouCcVO86XKFzh/UTiCGmEImTx6ZnPZ0qQ== + dependencies: + "@multiformats/base-x" "^4.0.1" + multibase@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" @@ -7689,6 +9931,36 @@ multicodec@^1.0.0: buffer "^5.6.0" varint "^5.0.0" +multicodec@^2.0.0, multicodec@^2.0.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-2.1.3.tgz#b9850635ad4e2a285a933151b55b4a2294152a5d" + integrity sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA== + dependencies: + uint8arrays "1.1.0" + varint "^6.0.0" + +multicodec@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-3.1.0.tgz#bc96faee2118d1ff114a3ee9e870a030a3b65743" + integrity sha512-f6d4DhbQ9a8WiJ/wpbKgeJSeR0/juP/1wnjbKdZ0KAWDkC/z7Lb3xOegMUG+uTcfwSYf6j1eTvFf8HDgqPRGmQ== + dependencies: + uint8arrays "^2.1.5" + varint "^6.0.0" + +multiformats@^9.4.2, multiformats@^9.4.5: + version "9.4.5" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.4.5.tgz#9ac47bbc87aadb09d4bd05e9cd3da6f4436414f6" + integrity sha512-zQxukxsHM34EJi3yT3MkUlycY9wEouyrAz0PSN+CyCj6cYchJZ4LrTH74YtlsxVyAK6waz/gnVLmJwi3P0knKg== + +multihashes@3.1.2, multihashes@^3.0.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-3.1.2.tgz#ffa5e50497aceb7911f7b4a3b6cada9b9730edfc" + integrity sha512-AP4IoV/YzkNrfbQKZE3OMPibrmy350OmCd6cJkwyM8oExaXIlOY4UnOOVSQtAEuq/LR01XfXKCESidzZvSwHCQ== + dependencies: + multibase "^3.1.0" + uint8arrays "^2.0.5" + varint "^6.0.0" + multihashes@^0.4.15, multihashes@~0.4.15: version "0.4.21" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" @@ -7698,16 +9970,52 @@ multihashes@^0.4.15, multihashes@~0.4.15: multibase "^0.7.0" varint "^5.0.0" +multihashes@^4.0.1, multihashes@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-4.0.2.tgz#d76aeac3a302a1bed9fe1ec964fb7a22fa662283" + integrity sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ== + dependencies: + multibase "^4.0.1" + uint8arrays "^2.1.3" + varint "^5.0.2" + +multihashing-async@^2.0.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-2.1.3.tgz#8b6a33a754dc02327a19adfaf1f1054625b1c470" + integrity sha512-z4dlnTgZLn4D8daBdMGn601aS3GLOMnW5+EKoaevLwa3Fu4FK64ofn9PdJ3s0bDkhGK2fdwSjrG/S8mWlW9bzQ== + dependencies: + blakejs "^1.1.0" + err-code "^3.0.0" + js-sha3 "^0.8.0" + multihashes "^4.0.1" + murmurhash3js-revisited "^3.0.0" + uint8arrays "^2.1.3" + +murmurhash3js-revisited@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz#6bd36e25de8f73394222adc6e41fa3fac08a5869" + integrity sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g== + nan@^2.12.1: version "2.14.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== +nan@^2.13.2, nan@^2.14.2: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + nan@^2.14.0, nan@^2.2.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nano-base32@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nano-base32/-/nano-base32-1.0.1.tgz#ba548c879efcfb90da1c4d9e097db4a46c9255ef" + integrity sha1-ulSMh578+5DaHE2eCX20pGySVe8= + nano-json-stream-parser@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" @@ -7718,6 +10026,11 @@ nanoid@^2.0.0: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== +nanoid@^3.1.12, nanoid@^3.1.3: + version "3.1.25" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" + integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -7740,10 +10053,34 @@ napi-macros@~1.8.1: resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-1.8.2.tgz#299265c1d8aa401351ad0675107d751228c03eda" integrity sha512-Tr0DNY4RzTaBG2W2m3l7ZtFuJChTH6VZhXVhkGGjF/4cZTt+i8GcM9ozD+30Lmr4mDoZ5Xx34t2o4GJqYWDGcg== -napi-macros@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" - integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== +napi-macros@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" + integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== + +native-abort-controller@0.0.3, native-abort-controller@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-0.0.3.tgz#4c528a6c9c7d3eafefdc2c196ac9deb1a5edf2f8" + integrity sha512-YIxU5nWqSHG1Xbu3eOu3pdFRD882ivQpIcu6AiPVe2oSVoRbfYW63DVkZm3g1gHiMtZSvZzF6THSzTGEBYl8YA== + dependencies: + globalthis "^1.0.1" + +native-abort-controller@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-1.0.3.tgz#35974a2e189c0d91399c8767a989a5bf058c1435" + integrity sha512-fd5LY5q06mHKZPD5FmMrn7Lkd2H018oBGKNOAdLpctBDEPFKsfJ1nX9ke+XRa8PEJJpjqrpQkGjq2IZ27QNmYA== + +native-fetch@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-2.0.1.tgz#319d53741a7040def92d5dc8ea5fe9416b1fad89" + integrity sha512-gv4Bea+ga9QdXINurpkEqun3ap3vnB+WYoe4c8ddqUYEH7B2h6iD39RF8uVN7OwmSfMY3RDxkvBnoI4e2/vLXQ== + dependencies: + globalthis "^1.0.1" + +native-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-3.0.0.tgz#06ccdd70e79e171c365c75117959cf4fe14a09bb" + integrity sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw== needle@^2.2.1: version "2.6.0" @@ -7759,11 +10096,23 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== +neo-async@^2.5.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + neo-async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== +neodoc@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/neodoc/-/neodoc-2.0.2.tgz#ad00b30b9758379dcd3cf752a0659bacbab2c4fb" + integrity sha512-NAppJ0YecKWdhSXFYCHbo6RutiX8vOt/Jo3l46mUg6pQlpJNaqc5cGxdrW2jITQm5JIYySbFVPDl3RrREXNyPw== + dependencies: + ansi-regex "^2.0.0" + next-tick@1: version "1.1.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" @@ -7806,6 +10155,14 @@ node-emoji@^1.10.0: dependencies: lodash.toarray "^4.4.0" +node-environment-flags@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" + integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + node-fetch@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.4.1.tgz#b2e38f1117b8acbedbe0524f041fb3177188255d" @@ -7816,11 +10173,16 @@ node-fetch@2.6.0: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== -node-fetch@2.6.1, node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@^2.6.1: +node-fetch@2.6.1, node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + node-gyp-build@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" @@ -7848,6 +10210,35 @@ node-interval-tree@^1.3.3: dependencies: shallowequal "^1.0.2" +node-libs-browser@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + node-pre-gyp@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054" @@ -7973,6 +10364,13 @@ npmlog@^4.0.2: gauge "~2.7.3" set-blocking "~2.0.0" +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + dependencies: + boolbase "^1.0.0" + nth-check@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -8069,7 +10467,7 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.getownpropertydescriptors@^2.1.1: +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== @@ -8135,6 +10533,14 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + opencollective-postinstall@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" @@ -8200,6 +10606,11 @@ original@^1.0.0: dependencies: url-parse "^1.4.3" +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -8212,6 +10623,15 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + os-locale@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -8249,6 +10669,19 @@ p-defer@^1.0.0: resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= +p-defer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" + integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== + +p-fifo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-fifo/-/p-fifo-1.0.0.tgz#e29d5cf17c239ba87f51dde98c1d26a9cfe20a63" + integrity sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A== + dependencies: + fast-fifo "^1.0.0" + p-defer "^3.0.0" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -8332,6 +10765,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + param-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" @@ -8339,6 +10777,13 @@ param-case@^2.1.0: dependencies: no-case "^2.2.0" +paramap-it@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/paramap-it/-/paramap-it-0.1.1.tgz#dad5963c003315c0993b84402a9c08f8c36e80d9" + integrity sha512-3uZmCAN3xCw7Am/4ikGzjjR59aNMJVXGSU7CjG2Z6DfOAdhnLdCOd0S0m1sTkN4ov9QhlE3/jkzyu953hq0uwQ== + dependencies: + event-iterator "^1.0.0" + parse-asn1@^5.0.0: version "5.1.5" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" @@ -8356,6 +10801,11 @@ parse-cache-control@^1.0.1: resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" integrity sha1-juqz5U+laSD+Fro493+iGqzC104= +parse-duration@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/parse-duration/-/parse-duration-0.4.4.tgz#11c0f51a689e97d06c57bd772f7fda7dc013243c" + integrity sha512-KbAJuYGUhZkB9gotDiKLnZ7Z3VTacK3fgwmDdB6ZVDtJbMBT6MfLga0WJaYpPDu0mzqT0NgHtHDt5PY4l0nidg== + parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -8378,6 +10828,18 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parse5-htmlparser2-tree-adapter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + parse5@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" @@ -8390,6 +10852,11 @@ parse5@^3.0.1: dependencies: "@types/node" "*" +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + parseurl@^1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -8416,24 +10883,30 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -patch-package@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.1.tgz#e3c55cf09dffd3984dd300e30d842672b604307f" - integrity sha512-dfCtQor63PPij6DDYtCzBRoO5nNAcMSg7Cmh+DLhR+s3t0OLQBdvFxJksZHBe1J2MjsSWDjTF4+oQKFbdkssIg== +patch-package@^6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.4.7.tgz#2282d53c397909a0d9ef92dae3fdeb558382b148" + integrity sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ== dependencies: "@yarnpkg/lockfile" "^1.1.0" chalk "^2.4.2" cross-spawn "^6.0.5" - find-yarn-workspace-root "^1.2.1" + find-yarn-workspace-root "^2.0.0" fs-extra "^7.0.1" is-ci "^2.0.0" klaw-sync "^6.0.0" minimist "^1.2.0" + open "^7.4.2" rimraf "^2.6.3" semver "^5.6.0" slash "^2.0.0" tmp "^0.0.33" +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + path-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" @@ -8492,15 +10965,22 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== pbkdf2@^3.0.17, pbkdf2@^3.0.3: version "3.0.17" @@ -8513,6 +10993,37 @@ pbkdf2@^3.0.17, pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +pbkdf2@^3.0.9: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +peer-id@^0.14.1: + version "0.14.8" + resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.14.8.tgz#667c6bedc8ab313c81376f6aca0baa2140266fab" + integrity sha512-GpuLpob/9FrEFvyZrKKsISEkaBYsON2u0WtiawLHj1ii6ewkoeRiSDFLyIefYhw0jGvQoeoZS05jaT52X7Bvig== + dependencies: + cids "^1.1.5" + class-is "^1.1.0" + libp2p-crypto "^0.19.0" + minimist "^1.2.5" + multihashes "^4.0.2" + protobufjs "^6.10.2" + uint8arrays "^2.0.5" + +pem-jwk@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pem-jwk/-/pem-jwk-2.0.0.tgz#1c5bb264612fc391340907f5c1de60c06d22f085" + integrity sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA== + dependencies: + asn1.js "^5.0.1" + pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -8872,10 +11383,27 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= -prettier@^1.14.2: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== +prettier-plugin-solidity@^1.0.0-alpha.59: + version "1.0.0-beta.17" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.17.tgz#fc0fe977202b6503763a338383efeceaa6c7661e" + integrity sha512-YFkxV/rHi1mphi17/XKcJ9QjZlb+L/J0yY2erix21BZfzPv2BN9dfmSRGr/poDp/FBOFSW+jteP2BCMe7HndVQ== + dependencies: + "@solidity-parser/parser" "^0.13.2" + emoji-regex "^9.2.2" + escape-string-regexp "^4.0.0" + semver "^7.3.5" + solidity-comments-extractor "^0.0.7" + string-width "^4.2.2" + +prettier@^2.1.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d" + integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== + +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== process-nextick-args@~1.0.6: version "1.0.7" @@ -8887,6 +11415,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" @@ -8926,6 +11459,40 @@ prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +protobufjs@^6.10.2, protobufjs@^6.11.2: + version "6.11.2" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b" + integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" ">=13.7.0" + long "^4.0.0" + +protocol-buffers-schema@^3.3.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.5.2.tgz#38ad35ba768607a5ed2375f8db4c2ecc5ea293c8" + integrity sha512-LPzSaBYp/TcbuSlpGwqT5jR9kvJ3Zp5ic2N5c2ybx6XB/lSfEHq2D7ja8AgoxHoMD91wXFALJoXsvshKPuXyew== + +protons@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/protons/-/protons-2.0.2.tgz#f55ee68f6d183a7efaa80b4bee58e52444f7f1f7" + integrity sha512-EIPoT9ftVirJ9QJ3oFoueYUiBhmPqE1AoSBPypLSqbbvHvx+OcUeK9z84YIsk6jda+N3FL58dU1LcWmfGCZGHA== + dependencies: + protocol-buffers-schema "^3.3.1" + signed-varint "^2.0.1" + uint8arrays "^2.1.3" + varint "^5.0.0" + proxy-addr@~2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" @@ -8939,6 +11506,11 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + psl@^1.1.28: version "1.7.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" @@ -8969,11 +11541,21 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + punycode@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -9008,12 +11590,17 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -querystring@^0.2.0: +querystring@^0.2.0, querystring@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== @@ -9095,6 +11682,14 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -9104,6 +11699,15 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + readable-stream@1.0.33: version "1.0.33" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.33.tgz#3a360dd66c1b1d7fd4705389860eda1d0f61126c" @@ -9134,7 +11738,7 @@ readable-stream@1.1.14: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0: +"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -9153,7 +11757,7 @@ readable-stream@1.1.14: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -9183,6 +11787,22 @@ readable-stream@~2.0.0: string_decoder "~0.10.x" util-deprecate "~1.0.1" +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" + integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== + dependencies: + picomatch "^2.0.4" + readdirp@~3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" @@ -9190,6 +11810,20 @@ readdirp@~3.4.0: dependencies: picomatch "^2.2.1" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +receptacle@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/receptacle/-/receptacle-1.3.2.tgz#a7994c7efafc7a01d0e2041839dab6c4951360d2" + integrity sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A== + dependencies: + ms "^2.1.1" + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -9204,13 +11838,6 @@ recursive-readdir@^2.2.2: dependencies: minimatch "3.0.4" -redux-cli-logger@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/redux-cli-logger/-/redux-cli-logger-2.1.0.tgz#7e546502a4b08c7fac4fe2faee2326a6326cb4a1" - integrity sha512-75mVsggAJRSykWy2qxdGI7osocDWvc3RCMeN93hlvS/FxgdRww12NaXslez+W6gBOrSJKO7W16V0IzuISSfCxg== - dependencies: - colors "^1.1.2" - redux-devtools-core@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/redux-devtools-core/-/redux-devtools-core-0.2.1.tgz#4e43cbe590a1f18c13ee165d2d42e0bc77a164d8" @@ -9391,7 +12018,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.55.0, request@^2.79.0, request@^2.85.0, request@^2.88.0: +request@^2.55.0, request@^2.79.0, request@^2.85.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -9458,6 +12085,19 @@ reselect@^4.0.0: resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7" integrity sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA== +reset@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/reset/-/reset-0.1.0.tgz#9fc7314171995ae6cb0b7e58b06ce7522af4bafb" + integrity sha1-n8cxQXGZWubLC35YsGznUir0uvs= + +resolve-dir@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + resolve-from@5.0.0, resolve-from@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" @@ -9478,7 +12118,7 @@ resolve@1.1.x: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.6, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.1.6, resolve@^1.3.2: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== @@ -9521,6 +12161,11 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +retimer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/retimer/-/retimer-2.0.0.tgz#e8bd68c5e5a8ec2f49ccb5c636db84c04063bbca" + integrity sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg== + retry@0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" @@ -9531,6 +12176,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= + dependencies: + align-text "^0.1.1" + rimraf@^2.2.8, rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -9538,7 +12190,12 @@ rimraf@^2.2.8, rimraf@^2.6.1, rimraf@^2.6.3: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: +ripemd160-min@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/ripemd160-min/-/ripemd160-min-0.0.6.tgz#a904b77658114474d02503e819dcc55853b67e62" + integrity sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A== + +ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== @@ -9553,16 +12210,50 @@ rlp@^2.0.0, rlp@^2.2.3: dependencies: bn.js "^4.11.1" +rlp@^2.2.4: + version "2.2.6" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" + integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== + dependencies: + bn.js "^4.11.1" + rn-host-detect@^1.1.5: version "1.2.0" resolved "https://registry.yarnpkg.com/rn-host-detect/-/rn-host-detect-1.2.0.tgz#8b0396fc05631ec60c1cb8789e5070cdb04d0da0" integrity sha512-btNg5kzHcjZZ7t7mvvV/4wNJ9e3MPgrWivkRgWURzXL0JJ0pwWlU4zrbmdlz3HHzHOxhBhHB4D+/dbMFfu4/4A== +rpc-websockets@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-5.3.1.tgz#678ca24315e4fe34a5f42ac7c2744764c056eb08" + integrity sha512-rIxEl1BbXRlIA9ON7EmY/2GUM7RLMy8zrUPTiLPFiYnYOz0I3PXfCmDDrge5vt4pW4oIcAXBDvgZuJ1jlY5+VA== + dependencies: + "@babel/runtime" "^7.8.7" + assert-args "^1.2.1" + babel-runtime "^6.26.0" + circular-json "^0.5.9" + eventemitter3 "^3.1.2" + uuid "^3.4.0" + ws "^5.2.2" + run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== +run@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/run/-/run-1.4.0.tgz#e17d9e9043ab2fe17776cb299e1237f38f0b4ffa" + integrity sha1-4X2ekEOrL+F3dsspnhI3848LT/o= + dependencies: + minimatch "*" + +rxjs@6: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + rxjs@^6.4.0: version "6.5.4" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" @@ -9592,7 +12283,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -9639,6 +12330,11 @@ sc-istanbul@^0.4.5: which "^1.1.1" wordwrap "^1.0.0" +scrypt-async@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/scrypt-async/-/scrypt-async-2.0.1.tgz#4318dae48a8b7cc3b8fe05f75f4164a7d973d25d" + integrity sha512-wHR032jldwZNy7Tzrfu7RccOgGf8r5hyDMSP2uV6DpLiBUsR8JsDcx/in73o2UGVVrH5ivRFdNsFPcjtl3LErQ== + scrypt-js@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.3.tgz#bb0040be03043da9a012a2cea9fc9f852cfc87d4" @@ -9649,7 +12345,7 @@ scrypt-js@2.0.4: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== -scrypt-js@^3.0.0, scrypt-js@^3.0.1: +scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== @@ -9680,7 +12376,7 @@ secp256k1@^3.0.1: nan "^2.14.0" safe-buffer "^5.1.2" -secp256k1@^4.0.1: +secp256k1@^4.0.0, secp256k1@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg== @@ -9689,6 +12385,11 @@ secp256k1@^4.0.1: node-addon-api "^2.0.0" node-gyp-build "^4.2.0" +seedrandom@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" + integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== + seek-bzip@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" @@ -9696,7 +12397,7 @@ seek-bzip@^1.0.5: dependencies: commander "~2.8.1" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -9718,6 +12419,13 @@ semver@^7.3.4: dependencies: lru-cache "^6.0.0" +semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -9793,7 +12501,7 @@ setimmediate@1.0.4: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= -setimmediate@^1.0.5: +setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -9824,6 +12532,13 @@ sha1@^1.1.1: charenc ">= 0.0.1" crypt ">= 0.0.1" +sha3@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.1.4.tgz#000fac0fe7c2feac1f48a25e7a31b52a6492cc8f" + integrity sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg== + dependencies: + buffer "6.0.3" + shallowequal@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" @@ -9855,6 +12570,13 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +signed-varint@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/signed-varint/-/signed-varint-2.0.1.tgz#50a9989da7c98c2c61dad119bc97470ef8528129" + integrity sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk= + dependencies: + varint "~5.0.0" + signedsource@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" @@ -9937,7 +12659,7 @@ socketcluster-client@^14.2.1: uuid "3.2.1" ws "7.1.0" -sol-merger@1.1.1, sol-merger@2.0.1: +sol-merger@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/sol-merger/-/sol-merger-1.1.1.tgz#5ba48dd0e21982af3855daa7a4a1719ef6b6564d" integrity sha512-Wm0sFXauDzJmZgxZ3a3ATfRf8OvBIt1Q+lqJw/UO5aqRbXKnBCt7TzSSLvSWl91uqub4MUubFzq6Bk/tRKnO2Q== @@ -9949,7 +12671,7 @@ sol-merger@1.1.1, sol-merger@2.0.1: glob "^7.1.2" strip-json-comments "^3.0.1" -solc@0.5.17, solc@^0.5.17: +solc@0.5.17, solc@^0.4.20, solc@^0.5.17: version "0.5.17" resolved "https://registry.yarnpkg.com/solc/-/solc-0.5.17.tgz#8a76c50e98d49ca7610cca2fdc78ff3016540c67" integrity sha512-qpX+PGaU0Q3c6lh2vDzMoIbhv6bIrecI4bYsx+xUs01xsGFnY6Nr0L8y/QMyutTnrHN6Lb/Yl672ZVRqxka96w== @@ -9963,17 +12685,23 @@ solc@0.5.17, solc@^0.5.17: semver "^5.5.0" tmp "0.0.33" -solidity-coverage@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.7.2.tgz#b8b3ade3f03e9d71940bc84fb319ba7706e35a64" - integrity sha512-LizgpcrkMRmZdvOmwYN7l/h9ak0Yq/5BuXjEaH0Phds1Gu5hZfHGyvplgWYDFmzLwGB7hZ6d0/IdkdYm4HK0mg== +solidity-comments-extractor@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" + integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== + +solidity-coverage@^0.7.16: + version "0.7.16" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.7.16.tgz#c8c8c46baa361e2817bbf275116ddd2ec90a55fb" + integrity sha512-ttBOStywE6ZOTJmmABSg4b8pwwZfYKG8zxu40Nz+sRF5bQX7JULXWj/XbX0KXps3Fsp8CJXg8P29rH3W54ipxw== dependencies: - "@truffle/provider" "^0.1.17" + "@solidity-parser/parser" "^0.12.0" + "@truffle/provider" "^0.2.24" chalk "^2.4.2" death "^1.1.0" detect-port "^1.3.0" fs-extra "^8.1.0" - ganache-cli "6.9.0" + ganache-cli "^6.11.0" ghost-testrpc "^0.0.2" global-modules "^2.0.0" globby "^10.0.1" @@ -9983,19 +12711,19 @@ solidity-coverage@^0.7.2: pify "^4.0.1" recursive-readdir "^2.2.2" sc-istanbul "^0.4.5" + semver "^7.3.4" shelljs "^0.8.3" - solidity-parser-diligence "^0.4.16" - web3 "1.2.6" + web3-utils "^1.3.0" solidity-parser-antlr@^0.4.11: version "0.4.11" resolved "https://registry.yarnpkg.com/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz#af43e1f13b3b88309a875455f5d6e565b05ee5f1" integrity sha512-4jtxasNGmyC0midtjH/lTFPZYvTTUMy6agYcF+HoMnzW8+cqo3piFrINb4ZCzpPW+7tTVFCGa5ubP34zOzeuMg== -solidity-parser-diligence@^0.4.16, solidity-parser-diligence@^0.4.17: - version "0.4.18" - resolved "https://registry.yarnpkg.com/solidity-parser-diligence/-/solidity-parser-diligence-0.4.18.tgz#1ec8c29d320afe048db941828f142dec3e97f657" - integrity sha512-mauO/qG2v59W9sOn5TYV2dS7+fvFKqIHwiku+TH82e1Yca4H8s6EDG12ZpXO2cmgLlCKX3FOqqC73aYLB8WwNg== +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" @@ -10024,20 +12752,12 @@ source-map-support@^0.5.19, source-map-support@^0.5.3: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.6: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -10099,6 +12819,15 @@ spinnies@^0.4.2: cli-cursor "^3.0.0" strip-ansi "^5.2.0" +spinnies@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/spinnies/-/spinnies-0.5.1.tgz#6ac88455d9117c7712d52898a02c969811819a7e" + integrity sha512-WpjSXv9NQz0nU3yCT9TFEOfpFrXADY9C5fG6eAJqixLhvTX1jP3w92Y8IE5oafIe42nlF9otjhllnXN/QCaB3A== + dependencies: + chalk "^2.4.2" + cli-cursor "^3.0.0" + strip-ansi "^5.2.0" + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -10139,6 +12868,11 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -10162,11 +12896,37 @@ stoppable@^1.1.0: resolved "https://registry.yarnpkg.com/stoppable/-/stoppable-1.1.0.tgz#32da568e83ea488b08e4d7ea2c3bcc9d75015d5b" integrity sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw== +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + stream-shift@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== +stream-to-it@^0.2.0, stream-to-it@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-0.2.4.tgz#d2fd7bfbd4a899b4c0d6a7e6a533723af5749bd0" + integrity sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ== + dependencies: + get-iterator "^1.0.2" + streamsearch@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" @@ -10186,7 +12946,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -10203,7 +12963,7 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.1.0, string-width@^4.2.0: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== @@ -10228,7 +12988,7 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string_decoder@^1.1.1: +string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -10295,6 +13055,11 @@ strip-bom@2.X, strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + strip-dirs@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" @@ -10314,16 +13079,21 @@ strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed "1.0.0" -strip-json-comments@3.0.1, strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -strip-json-comments@~2.0.1: +strip-json-comments@2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-json-comments@3.0.1, strip-json-comments@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + sublevel-pouchdb@7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/sublevel-pouchdb/-/sublevel-pouchdb-7.2.2.tgz#49e46cd37883bf7ff5006d7c5b9bcc7bcc1f422f" @@ -10345,10 +13115,15 @@ subscriptions-transport-ws@^0.9.11, subscriptions-transport-ws@^0.9.16: symbol-observable "^1.0.4" ws "^5.2.0" -supports-color@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== +super-split@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/super-split/-/super-split-1.1.0.tgz#43b3ba719155f4d43891a32729d59b213d9155fc" + integrity sha512-I4bA5mgcb6Fw5UJ+EkpzqXfiuvVGS/7MuND+oBxNFmxu3ugLNrdIatzBLfhFRMVMLxgSsRy+TjIktgkF9RFSNQ== + +supports-color@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== dependencies: has-flag "^3.0.0" @@ -10371,6 +13146,13 @@ supports-color@^3.1.0: dependencies: has-flag "^1.0.0" +supports-color@^4.2.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s= + dependencies: + has-flag "^2.0.0" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -10477,6 +13259,11 @@ taffydb@2.7.3: resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.7.3.tgz#2ad37169629498fca5bc84243096d3cde0ec3a34" integrity sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ= +tapable@^0.2.7: + version "0.2.9" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.9.tgz#af2d8bbc9b04f74ee17af2b4d9048f807acd18a8" + integrity sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A== + tar-stream@^1.5.2: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" @@ -10511,6 +13298,11 @@ test-value@^2.1.0: array-back "^1.0.3" typical "^2.6.0" +testrpc@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/testrpc/-/testrpc-0.0.1.tgz#83e2195b1f5873aec7be1af8cbe6dcf39edb7aed" + integrity sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA== + then-request@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/then-request/-/then-request-6.0.2.tgz#ec18dd8b5ca43aaee5cb92f7e4c1630e950d4f0c" @@ -10592,6 +13384,21 @@ timed-out@^4.0.0, timed-out@^4.0.1: resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= +timeout-abort-controller@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz#2c3c3c66f13c783237987673c276cbd7a9762f29" + integrity sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ== + dependencies: + abort-controller "^3.0.0" + retimer "^2.0.0" + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + timers-ext@^0.1.5: version "0.1.7" resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" @@ -10605,6 +13412,17 @@ tiny-queue@^0.2.1: resolved "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.1.tgz#25a67f2c6e253b2ca941977b5ef7442ef97a6046" integrity sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY= +tiny-secp256k1@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c" + integrity sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA== + dependencies: + bindings "^1.3.0" + bn.js "^4.11.8" + create-hmac "^1.1.7" + elliptic "^6.4.0" + nan "^2.13.2" + title-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa" @@ -10627,11 +13445,21 @@ to-absolute-glob@^0.1.1: dependencies: extend-shallow "^2.0.1" +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + to-buffer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== +to-data-view@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/to-data-view/-/to-data-view-1.1.0.tgz#08d6492b0b8deb9b29bdf1f61c23eadfa8994d00" + integrity sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ== + to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" @@ -10642,6 +13470,18 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= +to-json-schema@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/to-json-schema/-/to-json-schema-0.2.5.tgz#ef3c3f11ad64460dcfbdbafd0fd525d69d62a98f" + integrity sha512-jP1ievOee8pec3tV9ncxLSS48Bnw7DIybgy112rhMCEhf3K4uyVNZZHr03iQQBzbV5v5Hos+dlZRRyk6YSMNDw== + dependencies: + lodash.isequal "^4.5.0" + lodash.keys "^4.2.0" + lodash.merge "^4.6.2" + lodash.omit "^4.5.0" + lodash.without "^4.4.0" + lodash.xor "^4.5.0" + to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -10732,16 +13572,15 @@ truffle-hdwallet-provider@^1.0.17: web3 "1.2.1" websocket "^1.0.28" -truffle-plugin-verify@0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/truffle-plugin-verify/-/truffle-plugin-verify-0.3.9.tgz#48eb7dbcb76b86e47936992cbe2f6af48cc6a797" - integrity sha512-eC6X1vWfE0TwuwHdFLZkddn4qyH7XbLm5hSaGR4Izpqd5Ostr1nGkFmAuJ8YaECV+QuMv7JipajBq6tLa35YTQ== +truffle-plugin-verify@0.5.11: + version "0.5.11" + resolved "https://registry.yarnpkg.com/truffle-plugin-verify/-/truffle-plugin-verify-0.5.11.tgz#f89db1870c1a86bbca913f3dc476aef310ad452d" + integrity sha512-IL8DDsA3YCUQcrRXtarTEXoZJeb2Rlj8jwNjdiWWyDZ7r/EQZndJooorWo19qDpZf9s8ydpvTE/Bb/uyna6Zag== dependencies: - axios "0.19.2" - cli-logger "0.5.40" - delay "4.3.0" - querystring "0.2.0" - sol-merger "2.0.1" + axios "^0.21.1" + cli-logger "^0.5.40" + delay "^5.0.0" + querystring "^0.2.1" truffle-typings@^1.0.8: version "1.0.8" @@ -10752,37 +13591,27 @@ truffle-typings@^1.0.8: "@types/mocha" "^5.2.5" "@types/web3" "^1.0.18" -truffle@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.2.4.tgz#3012c50ab32afd87a65dd06aeb73981b88d33dc8" - integrity sha512-vgBsAb9VA3T6ngBCwn6OMf2oJwKnoZT5T1a2GRsjfZXuD7OtwY9GmZwHti4MFxuF/oHVjSqhnp2e5mIeJctk7w== +truffle@^5.4.7: + version "5.4.7" + resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.4.7.tgz#401f0a32c974bfcd330f76f6d7cf76abb5288405" + integrity sha512-cNbCPBDjmeg6r+OS4ilJ59TVtu+sNfBN2C+EQbZwBdjKwzv0i1kWk6+CIdka8KTkyKhK9JviitmqA//ILu9uNw== dependencies: - "@truffle/debugger" "^8.0.18" + "@truffle/db-loader" "^0.0.6" + "@truffle/debugger" "^9.1.12" app-module-path "^2.2.0" mocha "8.1.2" original-require "^1.0.1" optionalDependencies: - "@truffle/db" "^0.5.4" + "@truffle/db" "^0.5.27" + "@truffle/preserve-fs" "^0.2.4" + "@truffle/preserve-to-buckets" "^0.2.4" + "@truffle/preserve-to-filecoin" "^0.2.4" + "@truffle/preserve-to-ipfs" "^0.2.4" -ts-essentials@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-1.0.4.tgz#ce3b5dade5f5d97cf69889c11bf7d2da8555b15a" - integrity sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ== - -ts-generator@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ts-generator/-/ts-generator-0.0.8.tgz#7bd48ca064db026d9520bcb682b69efc20971d6a" - integrity sha512-Gi+aZCELpVL7Mqb+GuMgM+n8JZ/arZZib1iD/R9Ok8JDjOCOCrqS9b1lr72ku7J45WeDCFZxyJoRsiQvhokCnw== - dependencies: - "@types/mkdirp" "^0.5.2" - "@types/prettier" "^1.13.2" - "@types/resolve" "^0.0.8" - chalk "^2.4.1" - glob "^7.1.2" - mkdirp "^0.5.1" - prettier "^1.14.2" - resolve "^1.8.1" - ts-essentials "^1.0.0" +ts-essentials@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" + integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== ts-invariant@^0.4.0: version "0.4.4" @@ -10800,15 +13629,22 @@ ts-invariant@^0.6.0: "@ungap/global-this" "^0.4.2" tslib "^1.9.3" -ts-node@^8.6.2: - version "8.6.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.6.2.tgz#7419a01391a818fbafa6f826a33c1a13e9464e35" - integrity sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg== - dependencies: +ts-node@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.2.1.tgz#4cc93bea0a7aba2179497e65bb08ddfc198b3ab5" + integrity sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw== + dependencies: + "@cspotcode/source-map-support" "0.6.1" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" arg "^4.1.0" + create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - source-map-support "^0.5.6" yn "3.1.1" tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: @@ -10816,7 +13652,7 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslib@^1.14.1, tslib@^1.9.3: +tslib@^1.13.0, tslib@^1.14.1, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -10826,15 +13662,20 @@ tslib@^2.0.3, tslib@~2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== +tslib@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + tslib@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== -tslint@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.0.tgz#c6c611b8ba0eed1549bf5a59ba05a7732133d851" - integrity sha512-fXjYd/61vU6da04E505OZQGb2VCN2Mq3doeWcOIryuG+eqdmFUXTYVwdhnbEu2k46LNLgUYt9bI5icQze/j0bQ== +tslint@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" + integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" @@ -10844,10 +13685,10 @@ tslint@^6.1.0: glob "^7.1.1" js-yaml "^3.13.1" minimatch "^3.0.4" - mkdirp "^0.5.1" + mkdirp "^0.5.3" resolve "^1.3.2" semver "^5.3.0" - tslib "^1.10.0" + tslib "^1.13.0" tsutils "^2.29.0" tsort@0.0.1: @@ -10862,6 +13703,11 @@ tsutils@^2.29.0: dependencies: tslib "^1.8.1" +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -10869,6 +13715,16 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tweetnacl-util@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" + integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== + +tweetnacl@1.x.x, tweetnacl@^1.0.0, tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -10881,6 +13737,11 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-detect@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" + integrity sha1-C6XsKohWQORw6k6FBZcZANrFiCI= + type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" @@ -10904,32 +13765,21 @@ type@^2.0.0: resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== -typechain-target-truffle@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typechain-target-truffle/-/typechain-target-truffle-1.0.2.tgz#52ecbd8b7a854960567ad223660d60fcb42eaa17" - integrity sha512-XF3Iq2IzR+Pqvx6fcKIKGXNEk3lEcY24vYv9VqoVPfPB6vUM09PRLJCeLm1/ag6Pr2PICKUA0f4Es+YTR3ESKA== - dependencies: - lodash "^4.17.15" - -typechain-target-web3-v1@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typechain-target-web3-v1/-/typechain-target-web3-v1-1.0.4.tgz#0157359e534737c07fc62529d5d8570a2047a2da" - integrity sha512-jQ6eCfY7QorBq6kQDjSy5LMuImZGkp6IXR6FXZp7/ulITIxAfb6Dxh+yvh0NN/zboLnMPvvSJi6tHWCqlwfSDA== - dependencies: - lodash "^4.17.15" - web3 "^1.2.4" - -typechain@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/typechain/-/typechain-1.0.5.tgz#797899d9dbce54a83b3aef04ce1727ddf07d2138" - integrity sha512-gbQmJXPKuYQ0p3tK+dMhpdQql/UPtSnkPQXw2QM/aqwCengI86z2vEM2e5rVQpmk/blFx1PYNdApSDxE12rR1Q== +typechain@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-5.1.2.tgz#c8784d6155a8e69397ca47f438a3b4fb2aa939da" + integrity sha512-FuaCxJd7BD3ZAjVJoO+D6TnqKey3pQdsqOBsC83RKYWKli5BDhdf0TPkwfyjt20TUlZvOzJifz+lDwXsRkiSKA== dependencies: + "@types/prettier" "^2.1.1" command-line-args "^4.0.7" - debug "^3.0.1" + debug "^4.1.1" fs-extra "^7.0.0" + glob "^7.1.6" js-sha3 "^0.8.0" lodash "^4.17.15" - ts-generator "^0.0.8" + mkdirp "^1.0.4" + prettier "^2.1.2" + ts-essentials "^7.0.1" typedarray-to-buffer@^3.1.5, typedarray-to-buffer@~3.1.5: version "3.1.5" @@ -10943,6 +13793,11 @@ typedarray@^0.0.6, typedarray@~0.0.5: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typeforce@^1.11.5: + version "1.18.0" + resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" + integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== + typescript-compare@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425" @@ -10962,10 +13817,10 @@ typescript-tuple@^2.2.1: dependencies: typescript-compare "^0.0.2" -typescript@^3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" - integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== +typescript@^4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" + integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== typical@^2.6.0, typical@^2.6.1: version "2.6.1" @@ -10977,6 +13832,16 @@ ua-parser-js@^0.7.18: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.24.tgz#8d3ecea46ed4f1f1d63ec25f17d8568105dc027c" integrity sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw== +uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + uglify-js@^3.1.4: version "3.8.0" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.8.0.tgz#f3541ae97b2f048d7e7e3aa4f39fd8a1f5d7a805" @@ -10985,6 +13850,42 @@ uglify-js@^3.1.4: commander "~2.20.3" source-map "~0.6.1" +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= + +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + integrity sha1-uVH0q7a9YX5m9j64kUmOORdj4wk= + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + +uint8arrays@1.1.0, uint8arrays@^1.0.0, uint8arrays@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-1.1.0.tgz#d034aa65399a9fd213a1579e323f0b29f67d0ed2" + integrity sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA== + dependencies: + multibase "^3.0.0" + web-encoding "^1.0.2" + +uint8arrays@^2.0.5, uint8arrays@^2.1.3, uint8arrays@^2.1.5: + version "2.1.10" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-2.1.10.tgz#34d023c843a327c676e48576295ca373c56e286a" + integrity sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A== + dependencies: + multiformats "^9.4.2" + +uint8arrays@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" + integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== + dependencies: + multiformats "^9.4.2" + ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" @@ -11055,6 +13956,11 @@ unixify@1.0.0: dependencies: normalize-path "^2.1.1" +unorm@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" + integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -11068,6 +13974,11 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + upper-case-first@^1.1.0, upper-case-first@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" @@ -11132,6 +14043,22 @@ url-to-options@^1.0.1: resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +ursa-optional@^0.10.1: + version "0.10.2" + resolved "https://registry.yarnpkg.com/ursa-optional/-/ursa-optional-0.10.2.tgz#bd74e7d60289c22ac2a69a3c8dea5eb2817f9681" + integrity sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A== + dependencies: + bindings "^1.5.0" + nan "^2.14.2" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -11170,6 +14097,20 @@ util.promisify@^1.0.0: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.1" +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + util@^0.12.0: version "0.12.3" resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" @@ -11182,6 +14123,18 @@ util@^0.12.0: safe-buffer "^5.1.2" which-typed-array "^1.1.2" +util@^0.12.3: + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -11207,7 +14160,7 @@ uuid@8.1.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.1.0.tgz#6f1536eb43249f473abc6bd58ff983da1ca30d8d" integrity sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg== -uuid@^3.1.0, uuid@^3.3.2: +uuid@^3.1.0, uuid@^3.3.2, uuid@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== @@ -11235,11 +14188,16 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -varint@^5.0.0: +varint@^5.0.0, varint@^5.0.2, varint@~5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== +varint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== + vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -11293,11 +14251,34 @@ vinyl@1.X, vinyl@^1.0.0: clone-stats "^0.0.1" replace-ext "0.0.1" +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + vuvuzela@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/vuvuzela/-/vuvuzela-1.0.3.tgz#3be145e58271c73ca55279dd851f12a682114b0b" integrity sha1-O+FF5YJxxzylUnndhR8SpoIRSws= +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.4.0: + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -11305,6 +14286,15 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" +web-encoding@^1.0.2, web-encoding@^1.0.6: + version "1.1.5" + resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" + integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== + dependencies: + util "^0.12.3" + optionalDependencies: + "@zxing/text-encoding" "0.9.0" + web3-bzz@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.1.tgz#c3bd1e8f0c02a13cd6d4e3c3e9e1713f144f6f0d" @@ -11334,15 +14324,14 @@ web3-bzz@1.2.6: swarm-js "0.1.39" underscore "1.9.1" -web3-bzz@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.9.tgz#25f8a373bc2dd019f47bf80523546f98b93c8790" - integrity sha512-ogVQr9jHodu9HobARtvUSmWG22cv2EUQzlPeejGWZ7j5h20HX40EDuWyomGY5VclIj5DdLY76Tmq88RTf/6nxA== +web3-bzz@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.5.2.tgz#a04feaa19462cff6d5a8c87dad1aca4619d9dfc8" + integrity sha512-W/sPCdA+XQ9duUYKHAwf/g69cbbV8gTCRsa1MpZwU7spXECiyJ2EvD/QzAZ+UpJk3GELXFF/fUByeZ3VRQKF2g== dependencies: - "@types/node" "^10.12.18" + "@types/node" "^12.12.6" got "9.6.0" swarm-js "^0.1.40" - underscore "1.9.1" web3-core-helpers@1.2.1: version "1.2.1" @@ -11371,23 +14360,13 @@ web3-core-helpers@1.2.6: web3-eth-iban "1.2.6" web3-utils "1.2.6" -web3-core-helpers@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.9.tgz#6381077c3e01c127018cb9e9e3d1422697123315" - integrity sha512-t0WAG3orLCE3lqi77ZoSRNFok3VQWZXTniZigDQjyOJYMAX7BU3F3js8HKbjVnAxlX3tiKoDxI0KBk9F3AxYuw== - dependencies: - underscore "1.9.1" - web3-eth-iban "1.2.9" - web3-utils "1.2.9" - -web3-core-helpers@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.3.4.tgz#b8549740bf24d5c71688d89c3cdd802d8d36b4e4" - integrity sha512-n7BqDalcTa1stncHMmrnFtyTgDhX5Fy+avNaHCf6qcOP2lwTQC8+mdHVBONWRJ6Yddvln+c8oY/TAaB6PzWK0A== +web3-core-helpers@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.5.2.tgz#b6bd5071ca099ba3f92dfafb552eed2b70af2795" + integrity sha512-U7LJoeUdQ3aY9t5gU7t/1XpcApsWm+4AcW5qKl/44ZxD44w0Dmsq1c5zJm3GuLr/a9MwQfXK4lpmvxVQWHHQRg== dependencies: - underscore "1.9.1" - web3-eth-iban "1.3.4" - web3-utils "1.3.4" + web3-eth-iban "1.5.2" + web3-utils "1.5.2" web3-core-helpers@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -11433,29 +14412,17 @@ web3-core-method@1.2.6: web3-core-subscriptions "1.2.6" web3-utils "1.2.6" -web3-core-method@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.9.tgz#3fb538751029bea570e4f86731e2fa5e4945e462" - integrity sha512-bjsIoqP3gs7A/gP8+QeLUCyOKJ8bopteCSNbCX36Pxk6TYfYWNuC6hP+2GzUuqdP3xaZNe+XEElQFUNpR3oyAg== - dependencies: - "@ethersproject/transactions" "^5.0.0-beta.135" - underscore "1.9.1" - web3-core-helpers "1.2.9" - web3-core-promievent "1.2.9" - web3-core-subscriptions "1.2.9" - web3-utils "1.2.9" - -web3-core-method@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.3.4.tgz#6c2812d96dd6c811b9e6c8a5d25050d2c22b9527" - integrity sha512-JxmQrujsAWYRRN77P/RY7XuZDCzxSiiQJrgX/60Lfyf7FF1Y0le4L/UMCi7vUJnuYkbU1Kfl9E0udnqwyPqlvQ== +web3-core-method@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.5.2.tgz#d1d602657be1000a29d11e3ca3bf7bc778dea9a5" + integrity sha512-/mC5t9UjjJoQmJJqO5nWK41YHo+tMzFaT7Tp7jDCQsBkinE68KsUJkt0jzygpheW84Zra0DVp6q19gf96+cugg== dependencies: + "@ethereumjs/common" "^2.4.0" "@ethersproject/transactions" "^5.0.0-beta.135" - underscore "1.9.1" - web3-core-helpers "1.3.4" - web3-core-promievent "1.3.4" - web3-core-subscriptions "1.3.4" - web3-utils "1.3.4" + web3-core-helpers "1.5.2" + web3-core-promievent "1.5.2" + web3-core-subscriptions "1.5.2" + web3-utils "1.5.2" web3-core-method@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -11495,17 +14462,10 @@ web3-core-promievent@1.2.6: any-promise "1.3.0" eventemitter3 "3.1.2" -web3-core-promievent@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.9.tgz#bb1c56aa6fac2f4b3c598510f06554d25c11c553" - integrity sha512-0eAUA2zjgXTleSrnc1wdoKQPPIHU6KHf4fAscu4W9kKrR+mqP1KsjYrxY9wUyjNnXxfQ+5M29ipvbiaK8OqdOw== - dependencies: - eventemitter3 "3.1.2" - -web3-core-promievent@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.3.4.tgz#d166239012d91496cdcbe91d5d54071ea818bc73" - integrity sha512-V61dZIeBwogg6hhZZUt0qL9hTp1WDhnsdjP++9fhTDr4vy/Gz8T5vibqT2LLg6lQC8i+Py33yOpMeMNjztaUaw== +web3-core-promievent@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz#2dc9fe0e5bbeb7c360fc1aac5f12b32d9949a59b" + integrity sha512-5DacbJXe98ozSor7JlkTNCy6G8945VunRRkPxMk98rUrg60ECVEM/vuefk1atACzjQsKx6tmLZuHxbJQ64TQeQ== dependencies: eventemitter3 "4.0.4" @@ -11542,28 +14502,16 @@ web3-core-requestmanager@1.2.6: web3-providers-ipc "1.2.6" web3-providers-ws "1.2.6" -web3-core-requestmanager@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.9.tgz#dd6d855256c4dd681434fe0867f8cd742fe10503" - integrity sha512-1PwKV2m46ALUnIN5VPPgjOj8yMLJhhqZYvYJE34hTN5SErOkwhzx5zScvo5MN7v7KyQGFnpVCZKKGCiEnDmtFA== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.9" - web3-providers-http "1.2.9" - web3-providers-ipc "1.2.9" - web3-providers-ws "1.2.9" - -web3-core-requestmanager@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.3.4.tgz#e105ced735c2b5fcedd5771e0ecf9879ae9c373f" - integrity sha512-xriouCrhVnVDYQ04TZXdEREZm0OOJzkSEsoN5bu4JYsA6e/HzROeU+RjDpMUxFMzN4wxmFZ+HWbpPndS3QwMag== +web3-core-requestmanager@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz#43ccc00779394c941b28e6e07e217350fd1ded71" + integrity sha512-oRVW9OrAsXN2JIZt68OEg1Mb1A9a/L3JAGMv15zLEFEnJEGw0KQsGK1ET2kvZBzvpFd5G0EVkYCnx7WDe4HSNw== dependencies: - underscore "1.9.1" util "^0.12.0" - web3-core-helpers "1.3.4" - web3-providers-http "1.3.4" - web3-providers-ipc "1.3.4" - web3-providers-ws "1.3.4" + web3-core-helpers "1.5.2" + web3-providers-http "1.5.2" + web3-providers-ipc "1.5.2" + web3-providers-ws "1.5.2" web3-core-subscriptions@1.2.1: version "1.2.1" @@ -11592,23 +14540,13 @@ web3-core-subscriptions@1.2.6: underscore "1.9.1" web3-core-helpers "1.2.6" -web3-core-subscriptions@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.9.tgz#335fd7d15dfce5d78b4b7bef05ce4b3d7237b0e4" - integrity sha512-Y48TvXPSPxEM33OmXjGVDMzTd0j8X0t2+sDw66haeBS8eYnrEzasWuBZZXDq0zNUsqyxItgBGDn+cszkgEnFqg== - dependencies: - eventemitter3 "3.1.2" - underscore "1.9.1" - web3-core-helpers "1.2.9" - -web3-core-subscriptions@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.3.4.tgz#7b00e92bde21f792620cd02e6e508fcf4f4c31d3" - integrity sha512-drVHVDxh54hv7xmjIm44g4IXjfGj022fGw4/meB5R2D8UATFI40F73CdiBlyqk3DysP9njDOLTJFSQvEkLFUOg== +web3-core-subscriptions@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz#8eaebde44f81fc13c45b555c4422fe79393da9cf" + integrity sha512-hapI4rKFk22yurtIv0BYvkraHsM7epA4iI8Np+HuH6P9DD0zj/llaps6TXLM9HyacLBRwmOLZmr+pHBsPopUnQ== dependencies: eventemitter3 "4.0.4" - underscore "1.9.1" - web3-core-helpers "1.3.4" + web3-core-helpers "1.5.2" web3-core-subscriptions@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -11653,18 +14591,18 @@ web3-core@1.2.6: web3-core-requestmanager "1.2.6" web3-utils "1.2.6" -web3-core@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.9.tgz#2cba57aa259b6409db532d21bdf57db8d504fd3e" - integrity sha512-fSYv21IP658Ty2wAuU9iqmW7V+75DOYMVZsDH/c14jcF/1VXnedOcxzxSj3vArsCvXZNe6XC5/wAuGZyQwR9RA== +web3-core@1.5.2, web3-core@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.5.2.tgz#ca2b9b1ed3cf84d48b31c9bb91f7628f97cfdcd5" + integrity sha512-sebMpQbg3kbh3vHUbHrlKGKOxDWqjgt8KatmTBsTAWj/HwWYVDzeX+2Q84+swNYsm2DrTBVFlqTErFUwPBvyaA== dependencies: - "@types/bn.js" "^4.11.4" - "@types/node" "^12.6.1" + "@types/bn.js" "^4.11.5" + "@types/node" "^12.12.6" bignumber.js "^9.0.0" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-core-requestmanager "1.2.9" - web3-utils "1.2.9" + web3-core-helpers "1.5.2" + web3-core-method "1.5.2" + web3-core-requestmanager "1.5.2" + web3-utils "1.5.2" web3-core@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -11679,19 +14617,6 @@ web3-core@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-core@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.3.4.tgz#2cc7ba7f35cc167f7a0a46fd5855f86e51d34ce8" - integrity sha512-7OJu46RpCEfTerl+gPvHXANR2RkLqAfW7l2DAvQ7wN0pnCzl9nEfdgW6tMhr31k3TR2fWucwKzCyyxMGzMHeSA== - dependencies: - "@types/bn.js" "^4.11.5" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.3.4" - web3-core-method "1.3.4" - web3-core-requestmanager "1.3.4" - web3-utils "1.3.4" - web3-eth-abi@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz#9b915b1c9ebf82f70cca631147035d5419064689" @@ -11719,14 +14644,13 @@ web3-eth-abi@1.2.6: underscore "1.9.1" web3-utils "1.2.6" -web3-eth-abi@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.9.tgz#14bedd7e4be04fcca35b2ac84af1400574cd8280" - integrity sha512-3YwUYbh/DMfDbhMWEebAdjSd5bj3ZQieOjLzWFHU23CaLEqT34sUix1lba+hgUH/EN6A7bKAuKOhR3p0OvTn7Q== +web3-eth-abi@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz#b627eada967f39ae4657ddd61b693cb00d55cb29" + integrity sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA== dependencies: - "@ethersproject/abi" "5.0.0-beta.153" - underscore "1.9.1" - web3-utils "1.2.9" + "@ethersproject/abi" "5.0.7" + web3-utils "1.5.2" web3-eth-abi@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -11791,22 +14715,22 @@ web3-eth-accounts@1.2.6: web3-core-method "1.2.6" web3-utils "1.2.6" -web3-eth-accounts@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.9.tgz#7ec422df90fecb5243603ea49dc28726db7bdab6" - integrity sha512-jkbDCZoA1qv53mFcRHCinoCsgg8WH+M0YUO1awxmqWXRmCRws1wW0TsuSQ14UThih5Dxolgl+e+aGWxG58LMwg== +web3-eth-accounts@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.5.2.tgz#cf506c21037fa497fe42f1f055980ce4acf83731" + integrity sha512-F8mtzxgEhxfLc66vPi0Gqd6mpscvvk7Ua575bsJ1p9J2X/VtuKgDgpWcU4e4LKeROQ+ouCpAG9//0j9jQuij3A== dependencies: + "@ethereumjs/common" "^2.3.0" + "@ethereumjs/tx" "^3.2.1" crypto-browserify "3.12.0" - eth-lib "^0.2.8" - ethereumjs-common "^1.3.2" - ethereumjs-tx "^2.1.1" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" scrypt-js "^3.0.1" - underscore "1.9.1" uuid "3.3.2" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-utils "1.2.9" + web3-core "1.5.2" + web3-core-helpers "1.5.2" + web3-core-method "1.5.2" + web3-utils "1.5.2" web3-eth-accounts@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -11872,20 +14796,19 @@ web3-eth-contract@1.2.6: web3-eth-abi "1.2.6" web3-utils "1.2.6" -web3-eth-contract@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.9.tgz#713d9c6d502d8c8f22b696b7ffd8e254444e6bfd" - integrity sha512-PYMvJf7EG/HyssUZa+pXrc8IB06K/YFfWYyW4R7ed3sab+9wWUys1TlWxBCBuiBXOokSAyM6H6P6/cKEx8FT8Q== +web3-eth-contract@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.5.2.tgz#ffbd799fd01e36596aaadefba323e24a98a23c2f" + integrity sha512-4B8X/IPFxZCTmtENpdWXtyw5fskf2muyc3Jm5brBQRb4H3lVh1/ZyQy7vOIkdphyaXu4m8hBLHzeyKkd37mOUg== dependencies: - "@types/bn.js" "^4.11.4" - underscore "1.9.1" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-core-promievent "1.2.9" - web3-core-subscriptions "1.2.9" - web3-eth-abi "1.2.9" - web3-utils "1.2.9" + "@types/bn.js" "^4.11.5" + web3-core "1.5.2" + web3-core-helpers "1.5.2" + web3-core-method "1.5.2" + web3-core-promievent "1.5.2" + web3-core-subscriptions "1.5.2" + web3-eth-abi "1.5.2" + web3-utils "1.5.2" web3-eth-contract@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -11946,20 +14869,19 @@ web3-eth-ens@1.2.6: web3-eth-contract "1.2.6" web3-utils "1.2.6" -web3-eth-ens@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.9.tgz#577b9358c036337833fb2bdc59c11be7f6f731b6" - integrity sha512-kG4+ZRgZ8I1WYyOBGI8QVRHfUSbbJjvJAGA1AF/NOW7JXQ+x7gBGeJw6taDWJhSshMoEKWcsgvsiuoG4870YxQ== +web3-eth-ens@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.5.2.tgz#ecb3708f0e8e2e847e9d89e8428da12c30bba6a4" + integrity sha512-/UrLL42ZOCYge+BpFBdzG8ICugaRS4f6X7PxJKO+zAt+TwNgBpjuWfW/ZYNcuqJun/ZyfcTuj03TXqA1RlNhZQ== dependencies: content-hash "^2.5.2" eth-ens-namehash "2.0.8" - underscore "1.9.1" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-promievent "1.2.9" - web3-eth-abi "1.2.9" - web3-eth-contract "1.2.9" - web3-utils "1.2.9" + web3-core "1.5.2" + web3-core-helpers "1.5.2" + web3-core-promievent "1.5.2" + web3-eth-abi "1.5.2" + web3-eth-contract "1.5.2" + web3-utils "1.5.2" web3-eth-ens@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -12003,21 +14925,13 @@ web3-eth-iban@1.2.6: bn.js "4.11.8" web3-utils "1.2.6" -web3-eth-iban@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.9.tgz#4ebf3d8783f34d04c4740dc18938556466399f7a" - integrity sha512-RtdVvJE0pyg9dHLy0GzDiqgnLnssSzfz/JYguhC1wsj9+Gnq1M6Diy3NixACWUAp6ty/zafyOaZnNQ+JuH9TjQ== - dependencies: - bn.js "4.11.8" - web3-utils "1.2.9" - -web3-eth-iban@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.3.4.tgz#5eb7a564e0dcf68730d68f48f95dd207cd173d81" - integrity sha512-Y7/hLjVvIN/OhaAyZ8L/hxbTqVX6AFTl2RwUXR6EEU9oaLydPcMjAx/Fr8mghUvQS3QJSr+UGubP3W4SkyNiYw== +web3-eth-iban@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz#f390ad244ef8a6c94de7c58736b0b80a484abc8e" + integrity sha512-C04YDXuSG/aDwOHSX+HySBGb0KraiAVt+/l1Mw7y/fCUrKC/K0yYzMYqY/uYOcvLtepBPsC4ZfUYWUBZ2PO8Vg== dependencies: bn.js "^4.11.9" - web3-utils "1.3.4" + web3-utils "1.5.2" web3-eth-iban@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -12063,17 +14977,17 @@ web3-eth-personal@1.2.6: web3-net "1.2.6" web3-utils "1.2.6" -web3-eth-personal@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.9.tgz#9b95eb159b950b83cd8ae15873e1d57711b7a368" - integrity sha512-cFiNrktxZ1C/rIdJFzQTvFn3/0zcsR3a+Jf8Y3KxeQDHszQtosjLWptP7bsUmDwEh4hzh0Cy3KpOxlYBWB8bJQ== +web3-eth-personal@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz#043335a19ab59e119ba61e3bd6c3b8cde8120490" + integrity sha512-nH5N2GiVC0C5XeMEKU16PeFP3Hb3hkPvlR6Tf9WQ+pE+jw1c8eaXBO1CJQLr15ikhUF3s94ICyHcfjzkDsmRbA== dependencies: - "@types/node" "^12.6.1" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-net "1.2.9" - web3-utils "1.2.9" + "@types/node" "^12.12.6" + web3-core "1.5.2" + web3-core-helpers "1.5.2" + web3-core-method "1.5.2" + web3-net "1.5.2" + web3-utils "1.5.2" web3-eth-personal@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -12146,24 +15060,23 @@ web3-eth@1.2.6: web3-net "1.2.6" web3-utils "1.2.6" -web3-eth@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.9.tgz#e40e7b88baffc9b487193211c8b424dc944977b3" - integrity sha512-sIKO4iE9FEBa/CYUd6GdPd7GXt/wISqxUd8PlIld6+hvMJj02lgO7Z7p5T9mZIJcIZJGvZX81ogx8oJ9yif+Ag== - dependencies: - underscore "1.9.1" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-core-subscriptions "1.2.9" - web3-eth-abi "1.2.9" - web3-eth-accounts "1.2.9" - web3-eth-contract "1.2.9" - web3-eth-ens "1.2.9" - web3-eth-iban "1.2.9" - web3-eth-personal "1.2.9" - web3-net "1.2.9" - web3-utils "1.2.9" +web3-eth@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.5.2.tgz#0f6470df60a2a7d04df4423ca7721db8ed5ad72b" + integrity sha512-DwWQ6TCOUqvYyo7T20S7HpQDPveNHNqOn2Q2F3E8ZFyEjmqT4XsGiwvm08kB/VgQ4e/ANyq/i8PPFSYMT8JKHg== + dependencies: + web3-core "1.5.2" + web3-core-helpers "1.5.2" + web3-core-method "1.5.2" + web3-core-subscriptions "1.5.2" + web3-eth-abi "1.5.2" + web3-eth-accounts "1.5.2" + web3-eth-contract "1.5.2" + web3-eth-ens "1.5.2" + web3-eth-iban "1.5.2" + web3-eth-personal "1.5.2" + web3-net "1.5.2" + web3-utils "1.5.2" web3-eth@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -12214,14 +15127,14 @@ web3-net@1.2.6: web3-core-method "1.2.6" web3-utils "1.2.6" -web3-net@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.9.tgz#51d248ed1bc5c37713c4ac40c0073d9beacd87d3" - integrity sha512-d2mTn8jPlg+SI2hTj2b32Qan6DmtU9ap/IUlJTeQbZQSkTLf0u9suW8Vjwyr4poJYXTurdSshE7OZsPNn30/ZA== +web3-net@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.5.2.tgz#58915d7e2dad025d2a08f02c865f3abe61c48eff" + integrity sha512-VEc9c+jfoERhbJIxnx0VPlQDot8Lm4JW/tOWFU+ekHgIiu2zFKj5YxhURIth7RAbsaRsqCb79aE+M0eI8maxVQ== dependencies: - web3-core "1.2.9" - web3-core-method "1.2.9" - web3-utils "1.2.9" + web3-core "1.5.2" + web3-core-method "1.5.2" + web3-utils "1.5.2" web3-net@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -12260,20 +15173,12 @@ web3-providers-http@1.2.6: web3-core-helpers "1.2.6" xhr2-cookies "1.1.0" -web3-providers-http@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.9.tgz#e698aa5377e2019c24c5a1e6efa0f51018728934" - integrity sha512-F956tCIj60Ttr0UvEHWFIhx+be3He8msoPzyA44/kfzzYoMAsCFRn5cf0zQG6al0znE75g6HlWVSN6s3yAh51A== - dependencies: - web3-core-helpers "1.2.9" - xhr2-cookies "1.1.0" - -web3-providers-http@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.3.4.tgz#89389e18e27148faa2fef58842740ffadbdda8cc" - integrity sha512-aIg/xHXvxpqpFU70sqfp+JC3sGkLfAimRKTUhG4oJZ7U+tTcYTHoxBJj+4A3Id4JAoKiiv0k1/qeyQ8f3rMC3g== +web3-providers-http@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.5.2.tgz#94f95fe5572ca54aa2c2ffd42c63956436c9eb0a" + integrity sha512-dUNFJc9IMYDLZnkoQX3H4ZjvHjGO6VRVCqrBrdh84wPX/0da9dOA7DwIWnG0Gv3n9ybWwu5JHQxK4MNQ444lyA== dependencies: - web3-core-helpers "1.3.4" + web3-core-helpers "1.5.2" xhr2-cookies "1.1.0" web3-providers-ipc@1.2.1: @@ -12303,23 +15208,13 @@ web3-providers-ipc@1.2.6: underscore "1.9.1" web3-core-helpers "1.2.6" -web3-providers-ipc@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.9.tgz#6159eacfcd7ac31edc470d93ef10814fe874763b" - integrity sha512-NQ8QnBleoHA2qTJlqoWu7EJAD/FR5uimf7Ielzk4Z2z+m+6UAuJdJMSuQNj+Umhz9L/Ys6vpS1vHx9NizFl+aQ== - dependencies: - oboe "2.1.4" - underscore "1.9.1" - web3-core-helpers "1.2.9" - -web3-providers-ipc@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.3.4.tgz#b963518989b1b7847063cdd461ff73b83855834a" - integrity sha512-E0CvXEJElr/TIlG1YfJeO3Le5NI/4JZM+1SsEdiPIfBUAJN18oOoum138EBGKv5+YaLKZUtUuJSXWjIIOR/0Ig== +web3-providers-ipc@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz#68a516883c998eeddf60df4cead77baca4fb4aaa" + integrity sha512-SJC4Sivt4g9LHKlRy7cs1jkJgp7bjrQeUndE6BKs0zNALKguxu6QYnzbmuHCTFW85GfMDjhvi24jyyZHMnBNXQ== dependencies: oboe "2.1.5" - underscore "1.9.1" - web3-core-helpers "1.3.4" + web3-core-helpers "1.5.2" web3-providers-ws@1.2.1: version "1.2.1" @@ -12348,24 +15243,13 @@ web3-providers-ws@1.2.6: underscore "1.9.1" web3-core-helpers "1.2.6" -web3-providers-ws@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.9.tgz#22c2006655ec44b4ad2b41acae62741a6ae7a88c" - integrity sha512-6+UpvINeI//dglZoAKStUXqxDOXJy6Iitv2z3dbgInG4zb8tkYl/VBDL80UjUg3ZvzWG0g7EKY2nRPEpON2TFA== - dependencies: - eventemitter3 "^4.0.0" - underscore "1.9.1" - web3-core-helpers "1.2.9" - websocket "^1.0.31" - -web3-providers-ws@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.3.4.tgz#b94c2e0ec51a0c472abdec53a472b5bf8176bec1" - integrity sha512-WBd9hk2fUAdrbA3kUyUk94ZeILtE6txLeoVVvIKAw2bPegx+RjkLyxC1Du0oceKgQ/qQWod8CCzl1E/GgTP+MQ== +web3-providers-ws@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz#d336a93ed608b40cdcadfadd1f1bc8d32ea046e0" + integrity sha512-xy9RGlyO8MbJDuKv2vAMDkg+en+OvXG0CGTCM2BTl6l1vIdHpCa+6A/9KV2rK8aU9OBZ7/Pf+Y19517kHVl9RA== dependencies: eventemitter3 "4.0.4" - underscore "1.9.1" - web3-core-helpers "1.3.4" + web3-core-helpers "1.5.2" websocket "^1.0.32" web3-providers@2.0.0-alpha.1: @@ -12415,15 +15299,15 @@ web3-shh@1.2.6: web3-core-subscriptions "1.2.6" web3-net "1.2.6" -web3-shh@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.9.tgz#c4ba70d6142cfd61341a50752d8cace9a0370911" - integrity sha512-PWa8b/EaxaMinFaxy6cV0i0EOi2M7a/ST+9k9nhyhCjVa2vzXuNoBNo2IUOmeZ0WP2UQB8ByJ2+p4htlJaDOjA== +web3-shh@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.5.2.tgz#a72a3d903c0708a004db94a72d934a302d880aea" + integrity sha512-wOxOcYt4Sa0AHAI8gG7RulCwVuVjSRS/M/AbFsea3XfJdN6sU13/syY7OdZNjNYuKjYTzxKYrd3dU/K2iqffVw== dependencies: - web3-core "1.2.9" - web3-core-method "1.2.9" - web3-core-subscriptions "1.2.9" - web3-net "1.2.9" + web3-core "1.5.2" + web3-core-method "1.5.2" + web3-core-subscriptions "1.5.2" + web3-net "1.5.2" web3-shh@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -12494,10 +15378,10 @@ web3-utils@1.2.9: underscore "1.9.1" utf8 "3.0.0" -web3-utils@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.4.tgz#9b1aa30d7549f860b573e7bb7e690999e7192198" - integrity sha512-/vC2v0MaZNpWooJfpRw63u0Y3ag2gNjAWiLtMSL6QQLmCqCy4SQIndMt/vRyx0uMoeGt1YTwSXEcHjUzOhLg0A== +web3-utils@1.5.2, web3-utils@^1.0.0-beta.31, web3-utils@^1.3.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.5.2.tgz#150982dcb1918ffc54eba87528e28f009ebc03aa" + integrity sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q== dependencies: bn.js "^4.11.9" eth-lib "0.2.8" @@ -12505,7 +15389,6 @@ web3-utils@1.3.4: ethjs-unit "0.1.6" number-to-bn "1.7.0" randombytes "^2.1.0" - underscore "1.9.1" utf8 "3.0.0" web3-utils@2.0.0-alpha.1, web3-utils@^2.0.0-alpha: @@ -12524,7 +15407,7 @@ web3-utils@2.0.0-alpha.1, web3-utils@^2.0.0-alpha: randombytes "^2.1.0" utf8 "2.1.1" -web3@*, web3@1.2.6, web3@^1.2.4: +web3@*: version "1.2.6" resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.6.tgz#c497dcb14cdd8d6d9fb6b445b3b68ff83f8ccf68" integrity sha512-tpu9fLIComgxGrFsD8LUtA4s4aCZk7px8UfcdEy6kS2uDi/ZfR07KJqpXZMij7Jvlq+cQrTAhsPSiBVvoMaivA== @@ -12565,18 +15448,18 @@ web3@1.2.2: web3-shh "1.2.2" web3-utils "1.2.2" -web3@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.9.tgz#cbcf1c0fba5e213a6dfb1f2c1f4b37062e4ce337" - integrity sha512-Mo5aBRm0JrcNpN/g4VOrDzudymfOnHRC3s2VarhYxRA8aWgF5rnhQ0ziySaugpic1gksbXPe105pUWyRqw8HUA== - dependencies: - web3-bzz "1.2.9" - web3-core "1.2.9" - web3-eth "1.2.9" - web3-eth-personal "1.2.9" - web3-net "1.2.9" - web3-shh "1.2.9" - web3-utils "1.2.9" +web3@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.5.2.tgz#736ca2f39048c63964203dd811f519400973e78d" + integrity sha512-aapKLdO8t7Cos6tZLeeQUtCJvTiPMlLcHsHHDLSBZ/VaJEucSTxzun32M8sp3BmF4waDEmhY+iyUM1BKvtAcVQ== + dependencies: + web3-bzz "1.5.2" + web3-core "1.5.2" + web3-eth "1.5.2" + web3-eth-personal "1.5.2" + web3-net "1.5.2" + web3-shh "1.5.2" + web3-utils "1.5.2" web3@^2.0.0-alpha: version "2.0.0-alpha.1" @@ -12598,6 +15481,42 @@ webidl-conversions@^2.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506" integrity sha1-O/glj30xjHRDw28uFpQCoaZwNQY= +webpack-sources@^1.0.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^3.0.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.12.0.tgz#3f9e34360370602fcf639e97939db486f4ec0d74" + integrity sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ== + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + async "^2.1.2" + enhanced-resolve "^3.4.0" + escope "^3.6.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" + websocket@^1.0.28: version "1.0.31" resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.31.tgz#e5d0f16c3340ed87670e489ecae6144c79358730" @@ -12678,6 +15597,13 @@ which-typed-array@^1.1.2: has-symbols "^1.0.1" is-typed-array "^1.1.3" +which@1.3.1, which@^1.1.1, which@^1.2.14, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + which@2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -12685,13 +15611,6 @@ which@2.0.2: dependencies: isexe "^2.0.0" -which@^1.1.1, which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - wide-align@1.1.3, wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" @@ -12699,6 +15618,18 @@ wide-align@1.1.3, wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +wif@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" + integrity sha1-CNP1IFbGZnkplyb63g1DKudLRwQ= + dependencies: + bs58check "<3.0.0" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= + window-size@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" @@ -12709,6 +15640,11 @@ word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= + wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -12783,6 +15719,11 @@ ws@7.4.3: resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + ws@^3.0.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -12799,6 +15740,13 @@ ws@^5.2.0: dependencies: async-limiter "~1.0.0" +ws@^5.2.2: + version "5.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== + dependencies: + async-limiter "~1.0.0" + ws@^6.0.0: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" @@ -12806,6 +15754,11 @@ ws@^6.0.0: dependencies: async-limiter "~1.0.0" +ws@^7.2.1, ws@^7.3.1, ws@^7.4.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" + integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== + xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" @@ -12886,6 +15839,11 @@ yaeti@^0.0.6: resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + yallist@^3.0.0, yallist@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -12936,6 +15894,22 @@ yargs-parser@^2.4.0: camelcase "^3.0.0" lodash.assign "^4.0.6" +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= + dependencies: + camelcase "^4.1.0" + +yargs-unparser@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" + integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== + dependencies: + flat "^4.1.0" + lodash "^4.17.15" + yargs "^13.3.0" + yargs-unparser@1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.1.tgz#bd4b0ee05b4c94d058929c32cb09e3fce71d3c5f" @@ -12964,7 +15938,7 @@ yargs@13.2.4: y18n "^4.0.0" yargs-parser "^13.1.0" -yargs@13.3.2: +yargs@13.3.2, yargs@^13.3.0: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== @@ -13032,6 +16006,35 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + yauzl@^2.4.2: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"