From c61a0be2c2e5f5f94a08a7dd90945d5c5a861b97 Mon Sep 17 00:00:00 2001 From: Antonio Salazar Cardozo Date: Sun, 5 Apr 2020 22:35:42 -0400 Subject: [PATCH 1/5] Bump solidity to 0.5.15 and freeze version Also move solc to a devDependency. --- solidity/contracts/DepositLog.sol | 2 +- solidity/contracts/Migrations.sol | 2 +- solidity/contracts/deposit/Deposit.sol | 2 +- solidity/contracts/deposit/DepositFunding.sol | 2 +- solidity/contracts/deposit/DepositLiquidation.sol | 2 +- solidity/contracts/deposit/DepositRedemption.sol | 2 +- solidity/contracts/deposit/DepositStates.sol | 2 +- solidity/contracts/deposit/DepositUtils.sol | 2 +- solidity/contracts/deposit/OutsourceDepositLogging.sol | 2 +- solidity/contracts/deposit/TBTCConstants.sol | 2 +- solidity/contracts/external/IMedianizer.sol | 4 ++-- solidity/contracts/interfaces/IBTCETHPriceFeed.sol | 2 +- solidity/contracts/interfaces/ITBTCSystem.sol | 2 +- solidity/contracts/price-feed/BTCETHPriceFeed.sol | 4 ++-- solidity/contracts/price-feed/MockMedianizer.sol | 2 +- solidity/contracts/proxy/CloneFactory.sol | 2 +- solidity/contracts/proxy/DepositFactory.sol | 2 +- solidity/contracts/relay/MockRelay.sol | 2 +- solidity/contracts/scripts/FundingScript.sol | 4 ++-- solidity/contracts/scripts/RedemptionScript.sol | 4 ++-- solidity/contracts/system/DepositFactoryAuthority.sol | 2 +- solidity/contracts/system/FeeRebateToken.sol | 4 ++-- solidity/contracts/system/TBTCDepositToken.sol | 2 +- solidity/contracts/system/TBTCSystem.sol | 2 +- solidity/contracts/system/TBTCSystemAuthority.sol | 4 ++-- solidity/contracts/system/TBTCToken.sol | 2 +- solidity/contracts/system/VendingMachine.sol | 2 +- solidity/contracts/system/VendingMachineAuthority.sol | 4 ++-- solidity/contracts/test/deposit/TBTCSystemStub.sol | 2 +- solidity/contracts/test/deposit/TestDeposit.sol | 2 +- solidity/contracts/test/deposit/TestDepositUtils.sol | 2 +- solidity/contracts/test/deposit/TestTBTCConstants.sol | 2 +- solidity/contracts/test/deposit/TestToken.sol | 2 +- solidity/contracts/test/factory/CloneFactoryStub.sol | 4 ++-- solidity/contracts/test/factory/Dummy.sol | 4 ++-- solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol | 4 ++-- solidity/contracts/test/keep/ECDSAKeepStub.sol | 2 +- solidity/contracts/test/keep/ECDSAKeepVendorStub.sol | 2 +- solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol | 4 ++-- solidity/contracts/test/price-feed/MockMedianizer.sol | 4 ++-- solidity/contracts/test/system/TestFeeRebateToken.sol | 2 +- solidity/contracts/test/system/TestTBTCDepositToken.sol | 2 +- solidity/package-lock.json | 7 ++++--- solidity/package.json | 6 +++--- solidity/truffle-config.js | 2 +- 45 files changed, 62 insertions(+), 61 deletions(-) diff --git a/solidity/contracts/DepositLog.sol b/solidity/contracts/DepositLog.sol index 6dcaa418e..8f07afd5f 100644 --- a/solidity/contracts/DepositLog.sol +++ b/solidity/contracts/DepositLog.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {TBTCDepositToken} from "./system/TBTCDepositToken.sol"; diff --git a/solidity/contracts/Migrations.sol b/solidity/contracts/Migrations.sol index 64c1e820d..1e2e3a019 100644 --- a/solidity/contracts/Migrations.sol +++ b/solidity/contracts/Migrations.sol @@ -1,4 +1,4 @@ -pragma solidity >=0.4.21 <0.6.0; +pragma solidity 0.5.15; contract Migrations { diff --git a/solidity/contracts/deposit/Deposit.sol b/solidity/contracts/deposit/Deposit.sol index 1de6ca247..b1fc6136c 100644 --- a/solidity/contracts/deposit/Deposit.sol +++ b/solidity/contracts/deposit/Deposit.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {DepositLiquidation} from "./DepositLiquidation.sol"; import {DepositUtils} from "./DepositUtils.sol"; diff --git a/solidity/contracts/deposit/DepositFunding.sol b/solidity/contracts/deposit/DepositFunding.sol index 44d3d362e..391811041 100644 --- a/solidity/contracts/deposit/DepositFunding.sol +++ b/solidity/contracts/deposit/DepositFunding.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import {BytesLib} from "@summa-tx/bitcoin-spv-sol/contracts/BytesLib.sol"; diff --git a/solidity/contracts/deposit/DepositLiquidation.sol b/solidity/contracts/deposit/DepositLiquidation.sol index bfdd43686..3c0ea8105 100644 --- a/solidity/contracts/deposit/DepositLiquidation.sol +++ b/solidity/contracts/deposit/DepositLiquidation.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; diff --git a/solidity/contracts/deposit/DepositRedemption.sol b/solidity/contracts/deposit/DepositRedemption.sol index a6b2f6f9b..cb3eb10fe 100644 --- a/solidity/contracts/deposit/DepositRedemption.sol +++ b/solidity/contracts/deposit/DepositRedemption.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; diff --git a/solidity/contracts/deposit/DepositStates.sol b/solidity/contracts/deposit/DepositStates.sol index 84e303db6..83e2e5ab3 100644 --- a/solidity/contracts/deposit/DepositStates.sol +++ b/solidity/contracts/deposit/DepositStates.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {DepositUtils} from "./DepositUtils.sol"; diff --git a/solidity/contracts/deposit/DepositUtils.sol b/solidity/contracts/deposit/DepositUtils.sol index 613615f08..6678e03bb 100644 --- a/solidity/contracts/deposit/DepositUtils.sol +++ b/solidity/contracts/deposit/DepositUtils.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {ValidateSPV} from "@summa-tx/bitcoin-spv-sol/contracts/ValidateSPV.sol"; import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; diff --git a/solidity/contracts/deposit/OutsourceDepositLogging.sol b/solidity/contracts/deposit/OutsourceDepositLogging.sol index 204e6f41e..95de7eb91 100644 --- a/solidity/contracts/deposit/OutsourceDepositLogging.sol +++ b/solidity/contracts/deposit/OutsourceDepositLogging.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {DepositLog} from "../DepositLog.sol"; import {DepositUtils} from "./DepositUtils.sol"; diff --git a/solidity/contracts/deposit/TBTCConstants.sol b/solidity/contracts/deposit/TBTCConstants.sol index 217c59435..db1a88b1d 100644 --- a/solidity/contracts/deposit/TBTCConstants.sol +++ b/solidity/contracts/deposit/TBTCConstants.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; library TBTCConstants { diff --git a/solidity/contracts/external/IMedianizer.sol b/solidity/contracts/external/IMedianizer.sol index b6e0ec47a..bfa53003f 100644 --- a/solidity/contracts/external/IMedianizer.sol +++ b/solidity/contracts/external/IMedianizer.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; /// @notice A medianizer price feed. /// @dev Based off the MakerDAO medianizer (https://github.com/makerdao/median) @@ -7,4 +7,4 @@ interface IMedianizer { /// @dev May revert if caller not whitelisted. /// @return Price (USD) with 18 decimal places. function read() external view returns (uint256); -} \ No newline at end of file +} diff --git a/solidity/contracts/interfaces/IBTCETHPriceFeed.sol b/solidity/contracts/interfaces/IBTCETHPriceFeed.sol index 240336620..19fd075fe 100644 --- a/solidity/contracts/interfaces/IBTCETHPriceFeed.sol +++ b/solidity/contracts/interfaces/IBTCETHPriceFeed.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; interface IBTCETHPriceFeed { /// @notice Get the current price of bitcoin in ether. diff --git a/solidity/contracts/interfaces/ITBTCSystem.sol b/solidity/contracts/interfaces/ITBTCSystem.sol index fdac909bd..92552090f 100644 --- a/solidity/contracts/interfaces/ITBTCSystem.sol +++ b/solidity/contracts/interfaces/ITBTCSystem.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; /** * @title Keep interface diff --git a/solidity/contracts/price-feed/BTCETHPriceFeed.sol b/solidity/contracts/price-feed/BTCETHPriceFeed.sol index c0aa0b4b8..016fd370a 100644 --- a/solidity/contracts/price-feed/BTCETHPriceFeed.sol +++ b/solidity/contracts/price-feed/BTCETHPriceFeed.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; @@ -54,4 +54,4 @@ contract BTCETHPriceFeed is Ownable, IBTCETHPriceFeed { // Due to order-of-ops, we can move the multiplication to get some more precision. return btcUsd.mul(10**10).div(ethUsd); } -} \ No newline at end of file +} diff --git a/solidity/contracts/price-feed/MockMedianizer.sol b/solidity/contracts/price-feed/MockMedianizer.sol index e6787de8b..26593cc63 100644 --- a/solidity/contracts/price-feed/MockMedianizer.sol +++ b/solidity/contracts/price-feed/MockMedianizer.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; import "../external/IMedianizer.sol"; diff --git a/solidity/contracts/proxy/CloneFactory.sol b/solidity/contracts/proxy/CloneFactory.sol index 294e926f4..858479d4b 100644 --- a/solidity/contracts/proxy/CloneFactory.sol +++ b/solidity/contracts/proxy/CloneFactory.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; /* The MIT License (MIT) diff --git a/solidity/contracts/proxy/DepositFactory.sol b/solidity/contracts/proxy/DepositFactory.sol index 2355295f1..d518570e2 100644 --- a/solidity/contracts/proxy/DepositFactory.sol +++ b/solidity/contracts/proxy/DepositFactory.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "./CloneFactory.sol"; import "../deposit/Deposit.sol"; diff --git a/solidity/contracts/relay/MockRelay.sol b/solidity/contracts/relay/MockRelay.sol index 5677ec96c..4869a2397 100644 --- a/solidity/contracts/relay/MockRelay.sol +++ b/solidity/contracts/relay/MockRelay.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; contract MockRelay { uint256 current = 1; diff --git a/solidity/contracts/scripts/FundingScript.sol b/solidity/contracts/scripts/FundingScript.sol index 1860fb279..58ccbf0fc 100644 --- a/solidity/contracts/scripts/FundingScript.sol +++ b/solidity/contracts/scripts/FundingScript.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {TBTCDepositToken} from "../system/TBTCDepositToken.sol"; import {TBTCToken} from "../system/TBTCToken.sol"; @@ -59,4 +59,4 @@ contract FundingScript { tbtcToken.transfer(_from, tbtcToken.balanceOf(address(this))); feeRebateToken.transferFrom(address(this), _from, uint256(_tokenId)); } -} \ No newline at end of file +} diff --git a/solidity/contracts/scripts/RedemptionScript.sol b/solidity/contracts/scripts/RedemptionScript.sol index cf17a18ba..50a8f3c6b 100644 --- a/solidity/contracts/scripts/RedemptionScript.sol +++ b/solidity/contracts/scripts/RedemptionScript.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {TBTCDepositToken} from "../system/TBTCDepositToken.sol"; import {TBTCToken} from "../system/TBTCToken.sol"; @@ -55,4 +55,4 @@ contract RedemptionScript { // TODO: there's some noisy couple bytes at the beginning of the converted string, maybe the ABI-coded length? require(success, string(returnData)); } -} \ No newline at end of file +} diff --git a/solidity/contracts/system/DepositFactoryAuthority.sol b/solidity/contracts/system/DepositFactoryAuthority.sol index 1d8be5f76..65879749d 100644 --- a/solidity/contracts/system/DepositFactoryAuthority.sol +++ b/solidity/contracts/system/DepositFactoryAuthority.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.10; +pragma solidity 0.5.15; /// @title Deposit Factory Authority /// @notice Contract to secure function calls to the Deposit Factory. diff --git a/solidity/contracts/system/FeeRebateToken.sol b/solidity/contracts/system/FeeRebateToken.sol index 517600ccd..18980ef79 100644 --- a/solidity/contracts/system/FeeRebateToken.sol +++ b/solidity/contracts/system/FeeRebateToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "openzeppelin-solidity/contracts/token/ERC721/ERC721Metadata.sol"; import "./VendingMachineAuthority.sol"; @@ -36,4 +36,4 @@ contract FeeRebateToken is ERC721Metadata, VendingMachineAuthority { function exists(uint256 _tokenId) public view returns (bool) { return _exists(_tokenId); } -} \ No newline at end of file +} diff --git a/solidity/contracts/system/TBTCDepositToken.sol b/solidity/contracts/system/TBTCDepositToken.sol index 08aea645b..1af0a37aa 100644 --- a/solidity/contracts/system/TBTCDepositToken.sol +++ b/solidity/contracts/system/TBTCDepositToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "openzeppelin-solidity/contracts/token/ERC721/ERC721Metadata.sol"; import "./DepositFactoryAuthority.sol"; diff --git a/solidity/contracts/system/TBTCSystem.sol b/solidity/contracts/system/TBTCSystem.sol index 0fe1ee761..450517d6b 100644 --- a/solidity/contracts/system/TBTCSystem.sol +++ b/solidity/contracts/system/TBTCSystem.sol @@ -1,5 +1,5 @@ /* solium-disable function-order */ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {IBondedECDSAKeepVendor} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepVendor.sol"; import {IBondedECDSAKeepFactory} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol"; diff --git a/solidity/contracts/system/TBTCSystemAuthority.sol b/solidity/contracts/system/TBTCSystemAuthority.sol index 4d3411513..7789fc961 100644 --- a/solidity/contracts/system/TBTCSystemAuthority.sol +++ b/solidity/contracts/system/TBTCSystemAuthority.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.10; +pragma solidity 0.5.15; /// @title TBTC System Authority. /// @notice Contract to secure function calls to the TBTC System contract. @@ -17,4 +17,4 @@ contract TBTCSystemAuthority { require(msg.sender == tbtcSystemAddress, "Caller must be tbtcSystem contract"); _; } -} \ No newline at end of file +} diff --git a/solidity/contracts/system/TBTCToken.sol b/solidity/contracts/system/TBTCToken.sol index d44f285dc..c1a6e03b0 100644 --- a/solidity/contracts/system/TBTCToken.sol +++ b/solidity/contracts/system/TBTCToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol"; diff --git a/solidity/contracts/system/VendingMachine.sol b/solidity/contracts/system/VendingMachine.sol index f78b8c3fb..967c0c1c8 100644 --- a/solidity/contracts/system/VendingMachine.sol +++ b/solidity/contracts/system/VendingMachine.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import {TBTCDepositToken} from "./TBTCDepositToken.sol"; diff --git a/solidity/contracts/system/VendingMachineAuthority.sol b/solidity/contracts/system/VendingMachineAuthority.sol index db3760862..73cf23dc8 100644 --- a/solidity/contracts/system/VendingMachineAuthority.sol +++ b/solidity/contracts/system/VendingMachineAuthority.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; /// @title Vending Machine Authority. /// @notice Contract to secure function calls to the Vending Machine. @@ -16,4 +16,4 @@ contract VendingMachineAuthority { require(msg.sender == VendingMachine, "caller must be the vending machine"); _; } -} \ No newline at end of file +} diff --git a/solidity/contracts/test/deposit/TBTCSystemStub.sol b/solidity/contracts/test/deposit/TBTCSystemStub.sol index cc8440ac1..9507f0de1 100644 --- a/solidity/contracts/test/deposit/TBTCSystemStub.sol +++ b/solidity/contracts/test/deposit/TBTCSystemStub.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {TBTCSystem} from "../../../contracts/system/TBTCSystem.sol"; diff --git a/solidity/contracts/test/deposit/TestDeposit.sol b/solidity/contracts/test/deposit/TestDeposit.sol index 3eedb2521..386ebd736 100644 --- a/solidity/contracts/test/deposit/TestDeposit.sol +++ b/solidity/contracts/test/deposit/TestDeposit.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {Deposit} from "../../../contracts/deposit/Deposit.sol"; import {ITBTCSystem} from "../../interfaces/ITBTCSystem.sol"; diff --git a/solidity/contracts/test/deposit/TestDepositUtils.sol b/solidity/contracts/test/deposit/TestDepositUtils.sol index 794dea2ea..b0cb3ec72 100644 --- a/solidity/contracts/test/deposit/TestDepositUtils.sol +++ b/solidity/contracts/test/deposit/TestDepositUtils.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {DepositUtils} from "../../../contracts/deposit/DepositUtils.sol"; import {TestDeposit} from "./TestDeposit.sol"; diff --git a/solidity/contracts/test/deposit/TestTBTCConstants.sol b/solidity/contracts/test/deposit/TestTBTCConstants.sol index 0ea7884b9..26b7bc89c 100644 --- a/solidity/contracts/test/deposit/TestTBTCConstants.sol +++ b/solidity/contracts/test/deposit/TestTBTCConstants.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; library TestTBTCConstants { diff --git a/solidity/contracts/test/deposit/TestToken.sol b/solidity/contracts/test/deposit/TestToken.sol index 140df70f6..9b9c74055 100644 --- a/solidity/contracts/test/deposit/TestToken.sol +++ b/solidity/contracts/test/deposit/TestToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol"; diff --git a/solidity/contracts/test/factory/CloneFactoryStub.sol b/solidity/contracts/test/factory/CloneFactoryStub.sol index 428123035..22920b196 100644 --- a/solidity/contracts/test/factory/CloneFactoryStub.sol +++ b/solidity/contracts/test/factory/CloneFactoryStub.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {CloneFactory} from "../../../contracts/proxy/CloneFactory.sol"; @@ -14,4 +14,4 @@ contract CloneFactoryStub is CloneFactory { function isClone_exposed(address _target, address _query)external view returns (bool result){ return isClone(_target, _query); } -} \ No newline at end of file +} diff --git a/solidity/contracts/test/factory/Dummy.sol b/solidity/contracts/test/factory/Dummy.sol index de2ccadb2..6ae21443a 100644 --- a/solidity/contracts/test/factory/Dummy.sol +++ b/solidity/contracts/test/factory/Dummy.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; /// @dev Dummy contract to used to test clone factory. /// This contract will be cloned @@ -13,4 +13,4 @@ contract Dummy{ function getState()public view returns (uint256) { return state; } -} \ No newline at end of file +} diff --git a/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol b/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol index 2804f4c0c..f85047970 100644 --- a/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol +++ b/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {IBondedECDSAKeepFactory} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol"; @@ -26,4 +26,4 @@ contract ECDSAKeepFactoryStub is IBondedECDSAKeepFactory { feeEstimate = _fee; } -} \ No newline at end of file +} diff --git a/solidity/contracts/test/keep/ECDSAKeepStub.sol b/solidity/contracts/test/keep/ECDSAKeepStub.sol index 0f0e79317..1008f1bf8 100644 --- a/solidity/contracts/test/keep/ECDSAKeepStub.sol +++ b/solidity/contracts/test/keep/ECDSAKeepStub.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import { IBondedECDSAKeep diff --git a/solidity/contracts/test/keep/ECDSAKeepVendorStub.sol b/solidity/contracts/test/keep/ECDSAKeepVendorStub.sol index 2dbed26b9..4764c31d3 100644 --- a/solidity/contracts/test/keep/ECDSAKeepVendorStub.sol +++ b/solidity/contracts/test/keep/ECDSAKeepVendorStub.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import {IBondedECDSAKeepVendor} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepVendor.sol"; diff --git a/solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol b/solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol index b54e118b3..86ced611c 100644 --- a/solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol +++ b/solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; contract MockBTCETHPriceFeed{ @@ -16,4 +16,4 @@ contract MockBTCETHPriceFeed{ price = _price; } -} \ No newline at end of file +} diff --git a/solidity/contracts/test/price-feed/MockMedianizer.sol b/solidity/contracts/test/price-feed/MockMedianizer.sol index 4ef9e6821..b386a46e4 100644 --- a/solidity/contracts/test/price-feed/MockMedianizer.sol +++ b/solidity/contracts/test/price-feed/MockMedianizer.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; import "../../../contracts/external/IMedianizer.sol"; @@ -19,4 +19,4 @@ contract MockMedianizer is Ownable, IMedianizer { function setValue(uint256 _value) external onlyOwner { value = _value; } -} \ No newline at end of file +} diff --git a/solidity/contracts/test/system/TestFeeRebateToken.sol b/solidity/contracts/test/system/TestFeeRebateToken.sol index d4ea1aa10..8b68a65c8 100644 --- a/solidity/contracts/test/system/TestFeeRebateToken.sol +++ b/solidity/contracts/test/system/TestFeeRebateToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "../../../contracts/system/FeeRebateToken.sol"; diff --git a/solidity/contracts/test/system/TestTBTCDepositToken.sol b/solidity/contracts/test/system/TestTBTCDepositToken.sol index 4ad168019..862f83852 100644 --- a/solidity/contracts/test/system/TestTBTCDepositToken.sol +++ b/solidity/contracts/test/system/TestTBTCDepositToken.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.5.10; +pragma solidity 0.5.15; import "../../../contracts/system/TBTCDepositToken.sol"; diff --git a/solidity/package-lock.json b/solidity/package-lock.json index 14752d2dd..b3354ff40 100644 --- a/solidity/package-lock.json +++ b/solidity/package-lock.json @@ -26410,9 +26410,10 @@ "dev": true }, "solc": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.16.tgz", - "integrity": "sha512-weEtRtisJyf+8UjELs7S4ST1KK7UIq6SRB7tpprfJBL9b5mTrZAT7m4gJKi2h6MiBpuSWfnraK8BnkyWzuTMRA==", + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.15.tgz", + "integrity": "sha512-uI+7XtBu/0CXRc8IMjzxbh0haLwaBF32VxAkkks06zEk+mVcsQbHdjvojXX6zQYtZVuXdVYPVccoIjEhvvqKnQ==", + "dev": true, "requires": { "command-exists": "^1.2.8", "commander": "3.0.2", diff --git a/solidity/package.json b/solidity/package.json index 241538580..de21a3aea 100644 --- a/solidity/package.json +++ b/solidity/package.json @@ -41,8 +41,7 @@ "bn-chai": "^1.0.1", "bn.js": "^4.11.8", "create-hash": "^1.2.0", - "openzeppelin-solidity": "2.3.0", - "solc": "^0.5.10" + "openzeppelin-solidity": "2.3.0" }, "devDependencies": { "@openzeppelin/test-environment": "^0.1.2", @@ -64,6 +63,7 @@ "prettier": "^1.19.1", "prettier-plugin-solidity": "^1.0.0-alpha.40", "solium-config-keep": "git+https://github.com/keep-network/solium-config-keep.git#0.1.1", - "truffle": "^5.1.13" + "truffle": "^5.1.13", + "solc": "0.5.15" } } diff --git a/solidity/truffle-config.js b/solidity/truffle-config.js index d0e27f8d0..1426b1f19 100644 --- a/solidity/truffle-config.js +++ b/solidity/truffle-config.js @@ -121,7 +121,7 @@ module.exports = { // Configure your compilers compilers: { solc: { - version: "0.5.10", + version: "0.5.15", // version: "0.5.1", // Fetch exact version from solc-bin (default: truffle's version) // docker: true, // Use "0.5.1" you've installed locally with docker (default: false) settings: { // See the solidity docs for advice about optimization and evmVersion From 0bc5c30ef368a2f988d041f34cd2ccc24fbba43e Mon Sep 17 00:00:00 2001 From: Antonio Salazar Cardozo Date: Sun, 5 Apr 2020 22:38:13 -0400 Subject: [PATCH 2/5] Move all SafeMath usage to OpenZeppelin Also reorganize some imports by consequence. OpenZeppelin provides a better long-term fixed dependency than bitcoin-spv for this particular library. --- solidity/contracts/deposit/DepositFunding.sol | 2 +- solidity/contracts/deposit/DepositLiquidation.sol | 4 ++-- solidity/contracts/deposit/DepositRedemption.sol | 6 +++--- solidity/contracts/deposit/DepositUtils.sol | 6 +++--- solidity/contracts/price-feed/BTCETHPriceFeed.sol | 2 +- solidity/contracts/system/VendingMachine.sol | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/solidity/contracts/deposit/DepositFunding.sol b/solidity/contracts/deposit/DepositFunding.sol index 391811041..8aaeab6bb 100644 --- a/solidity/contracts/deposit/DepositFunding.sol +++ b/solidity/contracts/deposit/DepositFunding.sol @@ -1,9 +1,9 @@ pragma solidity 0.5.15; -import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import {BytesLib} from "@summa-tx/bitcoin-spv-sol/contracts/BytesLib.sol"; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; import {IBondedECDSAKeep} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeep.sol"; +import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol"; import {TBTCToken} from "../system/TBTCToken.sol"; import {DepositUtils} from "./DepositUtils.sol"; import {DepositLiquidation} from "./DepositLiquidation.sol"; diff --git a/solidity/contracts/deposit/DepositLiquidation.sol b/solidity/contracts/deposit/DepositLiquidation.sol index 3c0ea8105..208002bf4 100644 --- a/solidity/contracts/deposit/DepositLiquidation.sol +++ b/solidity/contracts/deposit/DepositLiquidation.sol @@ -1,12 +1,12 @@ pragma solidity 0.5.15; -import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; import {BytesLib} from "@summa-tx/bitcoin-spv-sol/contracts/BytesLib.sol"; +import {IBondedECDSAKeep} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeep.sol"; +import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol"; import {DepositStates} from "./DepositStates.sol"; import {DepositUtils} from "./DepositUtils.sol"; import {TBTCConstants} from "./TBTCConstants.sol"; -import {IBondedECDSAKeep} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeep.sol"; import {OutsourceDepositLogging} from "./OutsourceDepositLogging.sol"; import {TBTCToken} from "../system/TBTCToken.sol"; import {ITBTCSystem} from "../interfaces/ITBTCSystem.sol"; diff --git a/solidity/contracts/deposit/DepositRedemption.sol b/solidity/contracts/deposit/DepositRedemption.sol index cb3eb10fe..f18f26907 100644 --- a/solidity/contracts/deposit/DepositRedemption.sol +++ b/solidity/contracts/deposit/DepositRedemption.sol @@ -1,18 +1,18 @@ pragma solidity 0.5.15; -import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; import {BytesLib} from "@summa-tx/bitcoin-spv-sol/contracts/BytesLib.sol"; import {ValidateSPV} from "@summa-tx/bitcoin-spv-sol/contracts/ValidateSPV.sol"; import {CheckBitcoinSigs} from "@summa-tx/bitcoin-spv-sol/contracts/CheckBitcoinSigs.sol"; -import {DepositUtils} from "./DepositUtils.sol"; +import {IERC721} from "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol"; +import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol"; import {IBondedECDSAKeep} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeep.sol"; +import {DepositUtils} from "./DepositUtils.sol"; import {DepositStates} from "./DepositStates.sol"; import {OutsourceDepositLogging} from "./OutsourceDepositLogging.sol"; import {TBTCConstants} from "./TBTCConstants.sol"; import {TBTCToken} from "../system/TBTCToken.sol"; import {DepositLiquidation} from "./DepositLiquidation.sol"; -import {IERC721} from "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol"; library DepositRedemption { diff --git a/solidity/contracts/deposit/DepositUtils.sol b/solidity/contracts/deposit/DepositUtils.sol index 6678e03bb..bf2b2ab5f 100644 --- a/solidity/contracts/deposit/DepositUtils.sol +++ b/solidity/contracts/deposit/DepositUtils.sol @@ -1,14 +1,14 @@ pragma solidity 0.5.15; import {ValidateSPV} from "@summa-tx/bitcoin-spv-sol/contracts/ValidateSPV.sol"; -import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; import {BytesLib} from "@summa-tx/bitcoin-spv-sol/contracts/BytesLib.sol"; +import {IBondedECDSAKeep} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeep.sol"; +import {IERC721} from "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol"; +import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol"; import {DepositStates} from "./DepositStates.sol"; import {TBTCConstants} from "./TBTCConstants.sol"; import {ITBTCSystem} from "../interfaces/ITBTCSystem.sol"; -import {IERC721} from "openzeppelin-solidity/contracts/token/ERC721/IERC721.sol"; -import {IBondedECDSAKeep} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeep.sol"; import {TBTCToken} from "../system/TBTCToken.sol"; import {FeeRebateToken} from "../system/FeeRebateToken.sol"; diff --git a/solidity/contracts/price-feed/BTCETHPriceFeed.sol b/solidity/contracts/price-feed/BTCETHPriceFeed.sol index 016fd370a..4b5da505a 100644 --- a/solidity/contracts/price-feed/BTCETHPriceFeed.sol +++ b/solidity/contracts/price-feed/BTCETHPriceFeed.sol @@ -1,6 +1,6 @@ pragma solidity 0.5.15; -import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; +import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol"; import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; import "../external/IMedianizer.sol"; import "../interfaces/IBTCETHPriceFeed.sol"; diff --git a/solidity/contracts/system/VendingMachine.sol b/solidity/contracts/system/VendingMachine.sol index 967c0c1c8..9689b80eb 100644 --- a/solidity/contracts/system/VendingMachine.sol +++ b/solidity/contracts/system/VendingMachine.sol @@ -1,6 +1,6 @@ pragma solidity 0.5.15; -import {SafeMath} from "@summa-tx/bitcoin-spv-sol/contracts/SafeMath.sol"; +import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol"; import {TBTCDepositToken} from "./TBTCDepositToken.sol"; import {FeeRebateToken} from "./FeeRebateToken.sol"; import {TBTCToken} from "./TBTCToken.sol"; From 4a37de264c8636d0962f90ea7c8734510d2c9410 Mon Sep 17 00:00:00 2001 From: Antonio Salazar Cardozo Date: Sun, 5 Apr 2020 22:39:33 -0400 Subject: [PATCH 3/5] Clean up solidity package dependencies Several dependencies belong in devDependencies or were already featured there, while one is no longer used. --- solidity/package-lock.json | 288 ++++++++++++++++++++++++++++++------- solidity/package.json | 8 +- 2 files changed, 236 insertions(+), 60 deletions(-) diff --git a/solidity/package-lock.json b/solidity/package-lock.json index b3354ff40..bb73e98d4 100644 --- a/solidity/package-lock.json +++ b/solidity/package-lock.json @@ -1555,6 +1555,7 @@ "version": "1.0.33", "resolved": "https://registry.npmjs.org/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.33.tgz", "integrity": "sha512-hXLZafDyTXH2s6oKnjlrvZhewriHp4NUsYaGOyaihWFpmmUAOqhQSy3vVWD7QzloNCwZZIlQZlOYudPOEyFJOw==", + "dev": true, "requires": { "any-promise": "^1.3.0", "bindings": "^1.5.0", @@ -1571,17 +1572,20 @@ "@types/node": { "version": "10.17.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz", - "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==" + "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==", + "dev": true }, "aes-js": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=", + "dev": true }, "eth-lib": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "dev": true, "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -1592,6 +1596,7 @@ "version": "4.0.0-beta.3", "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.3.tgz", "integrity": "sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog==", + "dev": true, "requires": { "@types/node": "^10.3.2", "aes-js": "3.0.0", @@ -1609,6 +1614,7 @@ "version": "6.3.3", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "dev": true, "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -1622,6 +1628,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.0" @@ -1631,6 +1638,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "dev": true, "requires": { "bindings": "^1.2.1", "inherits": "^2.0.3", @@ -1641,27 +1649,32 @@ "scrypt-js": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", - "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" + "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=", + "dev": true }, "scryptsy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", - "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==", + "dev": true }, "semver": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", - "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==" + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "dev": true }, "uuid": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "dev": true }, "web3": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.1.tgz", "integrity": "sha512-nNMzeCK0agb5i/oTWNdQ1aGtwYfXzHottFP2Dz0oGIzavPMGSKyVlr8ibVb1yK5sJBjrWVnTdGaOC2zKDFuFRw==", + "dev": true, "requires": { "web3-bzz": "1.2.1", "web3-core": "1.2.1", @@ -1676,6 +1689,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.1.tgz", "integrity": "sha512-LdOO44TuYbGIPfL4ilkuS89GQovxUpmLz6C1UC7VYVVRILeZS740FVB3j9V4P4FHUk1RenaDfKhcntqgVCHtjw==", + "dev": true, "requires": { "got": "9.6.0", "swarm-js": "0.1.39", @@ -1686,6 +1700,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.1.tgz", "integrity": "sha512-5ODwIqgl8oIg/0+Ai4jsLxkKFWJYE0uLuE1yUKHNVCL4zL6n3rFjRMpKPokd6id6nJCNgeA64KdWQ4XfpnjdMg==", + "dev": true, "requires": { "web3-core-helpers": "1.2.1", "web3-core-method": "1.2.1", @@ -1697,6 +1712,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz", "integrity": "sha512-Gx3sTEajD5r96bJgfuW377PZVFmXIH4TdqDhgGwd2lZQCcMi+DA4TgxJNJGxn0R3aUVzyyE76j4LBrh412mXrw==", + "dev": true, "requires": { "underscore": "1.9.1", "web3-eth-iban": "1.2.1", @@ -1707,6 +1723,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.1.tgz", "integrity": "sha512-Ghg2WS23qi6Xj8Od3VCzaImLHseEA7/usvnOItluiIc5cKs00WYWsNy2YRStzU9a2+z8lwQywPYp0nTzR/QXdQ==", + "dev": true, "requires": { "underscore": "1.9.1", "web3-core-helpers": "1.2.1", @@ -1719,6 +1736,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.1.tgz", "integrity": "sha512-IVUqgpIKoeOYblwpex4Hye6npM0aMR+kU49VP06secPeN0rHMyhGF0ZGveWBrGvf8WDPI7jhqPBFIC6Jf3Q3zw==", + "dev": true, "requires": { "any-promise": "1.3.0", "eventemitter3": "3.1.2" @@ -1728,6 +1746,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz", "integrity": "sha512-xfknTC69RfYmLKC+83Jz73IC3/sS2ZLhGtX33D4Q5nQ8yc39ElyAolxr9sJQS8kihOcM6u4J+8gyGMqsLcpIBg==", + "dev": true, "requires": { "underscore": "1.9.1", "web3-core-helpers": "1.2.1", @@ -1740,6 +1759,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz", "integrity": "sha512-nmOwe3NsB8V8UFsY1r+sW6KjdOS68h8nuh7NzlWxBQT/19QSUGiERRTaZXWu5BYvo1EoZRMxCKyCQpSSXLc08g==", + "dev": true, "requires": { "eventemitter3": "3.1.2", "underscore": "1.9.1", @@ -1750,6 +1770,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.1.tgz", "integrity": "sha512-/2xly4Yry5FW1i+uygPjhfvgUP/MS/Dk+PDqmzp5M88tS86A+j8BzKc23GrlA8sgGs0645cpZK/999LpEF5UdA==", + "dev": true, "requires": { "underscore": "1.9.1", "web3-core": "1.2.1", @@ -1770,6 +1791,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz", "integrity": "sha512-jI/KhU2a/DQPZXHjo2GW0myEljzfiKOn+h1qxK1+Y9OQfTcBMxrQJyH5AP89O6l6NZ1QvNdq99ThAxBFoy5L+g==", + "dev": true, "requires": { "ethers": "4.0.0-beta.3", "underscore": "1.9.1", @@ -1780,6 +1802,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz", "integrity": "sha512-26I4qq42STQ8IeKUyur3MdQ1NzrzCqPsmzqpux0j6X/XBD7EjZ+Cs0lhGNkSKH5dI3V8CJasnQ5T1mNKeWB7nQ==", + "dev": true, "requires": { "any-promise": "1.3.0", "crypto-browserify": "3.12.0", @@ -1797,7 +1820,8 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true } } }, @@ -1805,6 +1829,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz", "integrity": "sha512-kYFESbQ3boC9bl2rYVghj7O8UKMiuKaiMkxvRH5cEDHil8V7MGEGZNH0slSdoyeftZVlaWSMqkRP/chfnKND0g==", + "dev": true, "requires": { "underscore": "1.9.1", "web3-core": "1.2.1", @@ -1820,6 +1845,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz", "integrity": "sha512-lhP1kFhqZr2nnbu3CGIFFrAnNxk2veXpOXBY48Tub37RtobDyHijHgrj+xTh+mFiPokyrapVjpFsbGa+Xzye4Q==", + "dev": true, "requires": { "eth-ens-namehash": "2.0.8", "underscore": "1.9.1", @@ -1835,6 +1861,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz", "integrity": "sha512-9gkr4QPl1jCU+wkgmZ8EwODVO3ovVj6d6JKMos52ggdT2YCmlfvFVF6wlGLwi0VvNa/p+0BjJzaqxnnG/JewjQ==", + "dev": true, "requires": { "bn.js": "4.11.8", "web3-utils": "1.2.1" @@ -1844,6 +1871,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz", "integrity": "sha512-RNDVSiaSoY4aIp8+Hc7z+X72H7lMb3fmAChuSBADoEc7DsJrY/d0R5qQDK9g9t2BO8oxgLrLNyBP/9ub2Hc6Bg==", + "dev": true, "requires": { "web3-core": "1.2.1", "web3-core-helpers": "1.2.1", @@ -1856,6 +1884,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.1.tgz", "integrity": "sha512-Yt1Bs7WgnLESPe0rri/ZoPWzSy55ovioaP35w1KZydrNtQ5Yq4WcrAdhBzcOW7vAkIwrsLQsvA+hrOCy7mNauw==", + "dev": true, "requires": { "web3-core": "1.2.1", "web3-core-method": "1.2.1", @@ -1865,6 +1894,7 @@ "web3-provider-engine": { "version": "git+https://github.com/trufflesuite/provider-engine.git#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a", "from": "git+https://github.com/trufflesuite/provider-engine.git#web3-one", + "dev": true, "requires": { "async": "^2.5.0", "backoff": "^2.5.0", @@ -1892,6 +1922,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "dev": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -1908,6 +1939,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.1.tgz", "integrity": "sha512-BDtVUVolT9b3CAzeGVA/np1hhn7RPUZ6YYGB/sYky+GjeO311Yoq8SRDUSezU92x8yImSC2B+SMReGhd1zL+bQ==", + "dev": true, "requires": { "web3-core-helpers": "1.2.1", "xhr2-cookies": "1.1.0" @@ -1917,6 +1949,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz", "integrity": "sha512-oPEuOCwxVx8L4CPD0TUdnlOUZwGBSRKScCz/Ws2YHdr9Ium+whm+0NLmOZjkjQp5wovQbyBzNa6zJz1noFRvFA==", + "dev": true, "requires": { "oboe": "2.1.4", "underscore": "1.9.1", @@ -1927,6 +1960,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz", "integrity": "sha512-oqsQXzu+ejJACVHy864WwIyw+oB21nw/pI65/sD95Zi98+/HQzFfNcIFneF1NC4bVF3VNX4YHTNq2I2o97LAiA==", + "dev": true, "requires": { "underscore": "1.9.1", "web3-core-helpers": "1.2.1", @@ -1937,6 +1971,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.1.tgz", "integrity": "sha512-/3Cl04nza5kuFn25bV3FJWa0s3Vafr5BlT933h26xovQ6HIIz61LmvNQlvX1AhFL+SNJOTcQmK1SM59vcyC8bA==", + "dev": true, "requires": { "web3-core": "1.2.1", "web3-core-method": "1.2.1", @@ -1948,6 +1983,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.1.tgz", "integrity": "sha512-Mrcn3l58L+yCKz3zBryM6JZpNruWuT0OCbag8w+reeNROSGVlXzUQkU+gtAwc9JCZ7tKUyg67+2YUGqUjVcyBA==", + "dev": true, "requires": { "bn.js": "4.11.8", "eth-lib": "0.2.7", @@ -1962,6 +1998,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, "requires": { "async-limiter": "~1.0.0" } @@ -2709,6 +2746,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -2718,12 +2756,14 @@ "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -2735,7 +2775,8 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true } } }, @@ -2743,6 +2784,7 @@ "version": "6.26.3", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-generator": "^6.26.0", @@ -2769,6 +2811,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -2776,7 +2819,8 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -2784,6 +2828,7 @@ "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, "requires": { "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", @@ -2798,12 +2843,14 @@ "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -2822,6 +2869,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, "requires": { "babel-helper-explode-assignable-expression": "^6.24.1", "babel-runtime": "^6.22.0", @@ -2832,6 +2880,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, "requires": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -2843,6 +2892,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.26.0", @@ -2854,6 +2904,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-traverse": "^6.24.1", @@ -2876,6 +2927,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, "requires": { "babel-helper-get-function-arity": "^6.24.1", "babel-runtime": "^6.22.0", @@ -2888,6 +2940,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -2897,6 +2950,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -2906,6 +2960,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -2915,6 +2970,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", @@ -2925,6 +2981,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -2937,6 +2994,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, "requires": { "babel-helper-optimise-call-expression": "^6.24.1", "babel-messages": "^6.23.0", @@ -2950,6 +3008,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -2959,6 +3018,7 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -2967,6 +3027,7 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -2974,7 +3035,8 @@ "babel-plugin-syntax-async-functions": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true }, "babel-plugin-syntax-async-generators": { "version": "6.13.0", @@ -3003,7 +3065,8 @@ "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", @@ -3014,7 +3077,8 @@ "babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true }, "babel-plugin-transform-async-generator-functions": { "version": "6.24.1", @@ -3031,6 +3095,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, "requires": { "babel-helper-remap-async-to-generator": "^6.24.1", "babel-plugin-syntax-async-functions": "^6.8.0", @@ -3066,6 +3131,7 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -3074,6 +3140,7 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -3082,6 +3149,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", @@ -3094,6 +3162,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, "requires": { "babel-helper-define-map": "^6.24.1", "babel-helper-function-name": "^6.24.1", @@ -3110,6 +3179,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -3119,6 +3189,7 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -3127,6 +3198,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -3136,6 +3208,7 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -3144,6 +3217,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -3154,6 +3228,7 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -3162,6 +3237,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, "requires": { "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", "babel-runtime": "^6.22.0", @@ -3172,6 +3248,7 @@ "version": "6.26.2", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, "requires": { "babel-plugin-transform-strict-mode": "^6.24.1", "babel-runtime": "^6.26.0", @@ -3183,6 +3260,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, "requires": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -3193,6 +3271,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, "requires": { "babel-plugin-transform-es2015-modules-amd": "^6.24.1", "babel-runtime": "^6.22.0", @@ -3203,6 +3282,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, "requires": { "babel-helper-replace-supers": "^6.24.1", "babel-runtime": "^6.22.0" @@ -3212,6 +3292,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, "requires": { "babel-helper-call-delegate": "^6.24.1", "babel-helper-get-function-arity": "^6.24.1", @@ -3225,6 +3306,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -3234,6 +3316,7 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -3242,6 +3325,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, "requires": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -3252,6 +3336,7 @@ "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -3260,6 +3345,7 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -3268,6 +3354,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, "requires": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -3278,6 +3365,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, "requires": { "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", "babel-plugin-syntax-exponentiation-operator": "^6.8.0", @@ -3298,6 +3386,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, "requires": { "regenerator-transform": "^0.10.0" } @@ -3306,6 +3395,7 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -3334,6 +3424,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, "requires": { "babel-plugin-check-es2015-constants": "^6.22.0", "babel-plugin-syntax-trailing-function-commas": "^6.22.0", @@ -3428,6 +3519,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, "requires": { "babel-core": "^6.26.0", "babel-runtime": "^6.26.0", @@ -3441,12 +3533,14 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } @@ -3454,12 +3548,14 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true }, "source-map-support": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, "requires": { "source-map": "^0.5.6" } @@ -3470,6 +3566,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -3479,6 +3576,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -3491,6 +3589,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -3507,6 +3606,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -3517,6 +3617,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -3528,6 +3629,7 @@ "version": "7.3.0", "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", + "dev": true, "requires": { "babel-core": "^6.0.14", "object-assign": "^4.0.0" @@ -3536,12 +3638,14 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true }, "backoff": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", "integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=", + "dev": true, "requires": { "precond": "0.2" } @@ -3694,7 +3798,8 @@ "bn-chai": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/bn-chai/-/bn-chai-1.0.1.tgz", - "integrity": "sha512-7rJXt21DwYiLLpvzLaACixBBoUGkRV1iuFD3wElEhw8Ji9IiY/QsJRtvW+c7ChRgEOyLQkGaSGFUUqBKm21SNA==" + "integrity": "sha512-7rJXt21DwYiLLpvzLaACixBBoUGkRV1iuFD3wElEhw8Ji9IiY/QsJRtvW+c7ChRgEOyLQkGaSGFUUqBKm21SNA==", + "dev": true }, "bn.js": { "version": "4.11.8", @@ -3825,6 +3930,7 @@ "version": "3.2.8", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, "requires": { "caniuse-lite": "^1.0.30000844", "electron-to-chromium": "^1.3.47" @@ -3884,7 +3990,8 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "buffer-to-arraybuffer": { "version": "0.0.5", @@ -3969,7 +4076,8 @@ "caniuse-lite": { "version": "1.0.30001035", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", - "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==" + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==", + "dev": true }, "caseless": { "version": "0.12.0", @@ -4258,7 +4366,8 @@ "command-exists": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", - "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==", + "dev": true }, "commander": { "version": "3.0.2", @@ -4280,6 +4389,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -4311,6 +4421,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, "requires": { "safe-buffer": "~5.1.1" }, @@ -4318,7 +4429,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true } } }, @@ -4346,7 +4458,8 @@ "core-js": { "version": "2.6.11", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -4400,6 +4513,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", + "dev": true, "requires": { "node-fetch": "2.1.2", "whatwg-fetch": "2.0.4" @@ -4408,12 +4522,14 @@ "node-fetch": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "dev": true }, "whatwg-fetch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==", + "dev": true } } }, @@ -4745,6 +4861,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, "requires": { "repeating": "^2.0.0" } @@ -4830,7 +4947,8 @@ "electron-to-chromium": { "version": "1.3.377", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.377.tgz", - "integrity": "sha512-cm2WzMKf/3dW5+hNANKm8GAW6SwIWOqLTJ6GPCD0Bbw1qJ9Wzm9nmx9M+byzSsgw8CdCv5fb/wzLFqVS5h6QrA==" + "integrity": "sha512-cm2WzMKf/3dW5+hNANKm8GAW6SwIWOqLTJ6GPCD0Bbw1qJ9Wzm9nmx9M+byzSsgw8CdCv5fb/wzLFqVS5h6QrA==", + "dev": true }, "elliptic": { "version": "6.5.2", @@ -5180,7 +5298,8 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true }, "etag": { "version": "1.8.1", @@ -5191,6 +5310,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz", "integrity": "sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug==", + "dev": true, "requires": { "eth-query": "^2.1.0", "ethereumjs-tx": "^1.3.3", @@ -5205,6 +5325,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "dev": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -5219,6 +5340,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "dev": true, "requires": { "bindings": "^1.2.1", "inherits": "^2.0.3", @@ -5337,6 +5459,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz", "integrity": "sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw==", + "dev": true, "requires": { "cross-fetch": "^2.1.1", "eth-json-rpc-middleware": "^1.5.0", @@ -5348,6 +5471,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz", "integrity": "sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==", + "dev": true, "requires": { "async": "^2.5.0", "eth-query": "^2.1.2", @@ -5368,6 +5492,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "dev": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -5382,6 +5507,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "dev": true, "requires": { "bindings": "^1.2.1", "inherits": "^2.0.3", @@ -5408,6 +5534,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", "integrity": "sha1-1nQdkAAQa1FRDHLbktY2VFam2l4=", + "dev": true, "requires": { "json-rpc-random-id": "^1.0.0", "xtend": "^4.0.1" @@ -5417,6 +5544,7 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", + "dev": true, "requires": { "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", "ethereumjs-util": "^5.1.1" @@ -5426,6 +5554,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "dev": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -5440,6 +5569,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "dev": true, "requires": { "bindings": "^1.2.1", "inherits": "^2.0.3", @@ -5453,6 +5583,7 @@ "version": "3.2.4", "resolved": "https://registry.npmjs.org/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz", "integrity": "sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==", + "dev": true, "requires": { "async": "^2.1.2", "clone": "^2.0.0", @@ -5470,6 +5601,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", + "dev": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -5484,6 +5616,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", + "dev": true, "requires": { "bindings": "^1.2.1", "inherits": "^2.0.3", @@ -5932,11 +6065,13 @@ "ethereum-protocol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ethereum-protocol/-/ethereum-protocol-1.0.1.tgz", - "integrity": "sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg==" + "integrity": "sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg==", + "dev": true }, "ethereumjs-abi": { "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b", "from": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "dev": true, "requires": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -6316,7 +6451,8 @@ "events": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==" + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true }, "evp_bytestokey": { "version": "1.0.3", @@ -6585,6 +6721,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", "integrity": "sha1-rjzl9zLGReq4fkroeTQUcJsjmJM=", + "dev": true, "requires": { "node-fetch": "~1.7.1" } @@ -22554,7 +22691,8 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true }, "got": { "version": "9.6.0", @@ -22616,6 +22754,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -22757,6 +22896,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.1" @@ -23021,6 +23161,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -23136,12 +23277,14 @@ "is-finite": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true }, "is-fn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", - "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=" + "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=", + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", @@ -23336,7 +23479,8 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true }, "js-yaml": { "version": "3.13.1", @@ -23356,7 +23500,8 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true }, "json-buffer": { "version": "3.0.0", @@ -23367,6 +23512,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz", "integrity": "sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==", + "dev": true, "requires": { "async": "^2.0.1", "babel-preset-env": "^1.7.0", @@ -23380,6 +23526,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/json-rpc-error/-/json-rpc-error-2.0.0.tgz", "integrity": "sha1-p6+cICg4tekFxyUOVH8a/3cligI=", + "dev": true, "requires": { "inherits": "^2.0.1" } @@ -23387,7 +23534,8 @@ "json-rpc-random-id": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha1-uknZat7RRE27jaPSA3SKy7zeyMg=" + "integrity": "sha1-uknZat7RRE27jaPSA3SKy7zeyMg=", + "dev": true }, "json-schema": { "version": "0.2.3", @@ -23403,6 +23551,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, "requires": { "jsonify": "~0.0.0" } @@ -23429,7 +23578,8 @@ "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true }, "jsonfile": { "version": "2.4.0", @@ -23442,7 +23592,8 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true }, "jsprim": { "version": "1.4.1", @@ -23661,6 +23812,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -24760,7 +24912,8 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true }, "os-locale": { "version": "1.4.0", @@ -24773,7 +24926,8 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, "p-cancelable": { "version": "1.1.0", @@ -25029,7 +25183,8 @@ "precond": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=" + "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=", + "dev": true }, "prelude-ls": { "version": "1.1.2", @@ -25125,7 +25280,8 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true }, "process": { "version": "0.5.2", @@ -25156,6 +25312,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", "integrity": "sha1-XSp0kBC/tn2WNZj805YHRqaP7vc=", + "dev": true, "requires": { "is-fn": "^1.0.0", "set-immediate-shim": "^1.0.1" @@ -25273,7 +25430,8 @@ "randomhex": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", - "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" + "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=", + "dev": true }, "range-parser": { "version": "1.2.1", @@ -25669,17 +25827,20 @@ "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true }, "regenerator-transform": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, "requires": { "babel-runtime": "^6.18.0", "babel-types": "^6.19.0", @@ -25724,6 +25885,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, "requires": { "regenerate": "^1.2.1", "regjsgen": "^0.2.0", @@ -25733,12 +25895,14 @@ "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true }, "regjsparser": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, "requires": { "jsesc": "~0.5.0" } @@ -25765,6 +25929,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, "requires": { "is-finite": "^1.0.0" } @@ -25965,6 +26130,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", + "dev": true, "requires": { "events": "^3.0.0" } @@ -26150,7 +26316,8 @@ "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true }, "set-value": { "version": "2.0.1", @@ -26253,7 +26420,8 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true }, "slice-ansi": { "version": "2.1.0", @@ -26428,17 +26596,20 @@ "js-sha3": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", + "dev": true }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, @@ -26659,7 +26830,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-resolve": { "version": "0.5.3", @@ -26678,6 +26850,7 @@ "version": "0.5.16", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -27166,6 +27339,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -27180,6 +27354,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -27192,7 +27367,8 @@ "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true }, "to-object-path": { "version": "0.3.0", @@ -27258,7 +27434,8 @@ "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true }, "truffle": { "version": "5.1.17", @@ -27449,7 +27626,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "typedarray-to-buffer": { "version": "3.1.5", diff --git a/solidity/package.json b/solidity/package.json index de21a3aea..6a32ae806 100644 --- a/solidity/package.json +++ b/solidity/package.json @@ -37,22 +37,20 @@ "@keep-network/keep-ecdsa": ">0.13.0-pre <0.13.0-rc", "@summa-tx/bitcoin-spv-sol": "^3.0.0", "@summa-tx/relay-sol": "^1.1.0", - "@truffle/hdwallet-provider": "^1.0.26", - "bn-chai": "^1.0.1", - "bn.js": "^4.11.8", - "create-hash": "^1.2.0", "openzeppelin-solidity": "2.3.0" }, "devDependencies": { "@openzeppelin/test-environment": "^0.1.2", "@openzeppelin/test-helpers": "^0.5.4", - "@truffle/hdwallet-provider": "^1.0.25", + "@truffle/hdwallet-provider": "^1.0.26", "babel-polyfill": "^6.26.0", "babel-preset-es2015": "^6.18.0", "babel-preset-stage-2": "^6.18.0", "babel-preset-stage-3": "^6.17.0", "babel-register": "^6.26.0", "chai": "^4.2.0", + "bn.js": "^4.11.8", + "bn-chai": "^1.0.1", "eslint": "^5.16.0", "eslint-config-keep": "git+https://github.com/keep-network/eslint-config-keep.git#0.2.0", "eslint-config-prettier": "^6.10.0", From fc55ffb2ce8fee452e8d6c132cbefeb9c4f0f57f Mon Sep 17 00:00:00 2001 From: Antonio Salazar Cardozo Date: Mon, 6 Apr 2020 19:14:59 -0400 Subject: [PATCH 4/5] Move tokenRecipient to common ITokenRecipient There was a duplicate definition of tokenRecipient in two token files, which is best abstracted to a common interface. --- .../contracts/interfaces/ITokenRecipient.sol | 37 +++++++++++++++++++ .../contracts/system/TBTCDepositToken.sol | 34 ++++++----------- solidity/contracts/system/TBTCToken.sol | 37 +++++++------------ solidity/docs/generate-api-docs.js | 1 + 4 files changed, 63 insertions(+), 46 deletions(-) create mode 100644 solidity/contracts/interfaces/ITokenRecipient.sol diff --git a/solidity/contracts/interfaces/ITokenRecipient.sol b/solidity/contracts/interfaces/ITokenRecipient.sol new file mode 100644 index 000000000..eceec1c83 --- /dev/null +++ b/solidity/contracts/interfaces/ITokenRecipient.sol @@ -0,0 +1,37 @@ +pragma solidity 0.5.15; + +/// @title Interface of recipient contract for `approveAndCall` pattern. +/// Implementors will be able to be used in an `approveAndCall` +/// interaction with a supporting contract, such that a token approval +/// can call the contract acting on that approval in a single +/// transaction. +/// +/// See the `FundingScript` and `RedemptionScript` contracts as examples. +interface ITokenRecipient { + /// Typically called from a token contract's `approveAndCall` method, this + /// method will receive the original owner of the token (`_from`), the + /// transferred `_value` (in the case of an ERC721, the token id), the token + /// address (`_token`), and a blob of `_extraData` that is informally + /// specified by the implementor of this method as a way to communicate + /// additional parameters. + /// + /// Token calls to `receiveApproval` should revert if `receiveApproval` + /// reverts, and reverts should remove the approval. + /// + /// @param _from The original owner of the token approved for transfer. + /// @param _value For an ERC20, the amount approved for transfer; for an + /// ERC721, the id of the token approved for transfer. + /// @param _token The address of the contract for the token whose transfer + /// was approved. + /// @param _extraData An additional data blob forwarded unmodified through + /// `approveAndCall`, used to allow the token owner to pass + /// additional parameters and data to this method. The structure of + /// the extra data is informally specified by the implementor of + /// this interface. + function receiveApproval( + address _from, + uint256 _value, + address _token, + bytes calldata _extraData + ) external; +} diff --git a/solidity/contracts/system/TBTCDepositToken.sol b/solidity/contracts/system/TBTCDepositToken.sol index 1af0a37aa..fe864ebc1 100644 --- a/solidity/contracts/system/TBTCDepositToken.sol +++ b/solidity/contracts/system/TBTCDepositToken.sol @@ -1,8 +1,8 @@ pragma solidity 0.5.15; -import "openzeppelin-solidity/contracts/token/ERC721/ERC721Metadata.sol"; -import "./DepositFactoryAuthority.sol"; - +import {ERC721Metadata} from "openzeppelin-solidity/contracts/token/ERC721/ERC721Metadata.sol"; +import {DepositFactoryAuthority} from "./DepositFactoryAuthority.sol"; +import {ITokenRecipient} from "../interfaces/ITokenRecipient.sol"; /// @title tBTC Deposit Token for tracking deposit ownership /// @notice The tBTC Deposit Token, commonly referenced as the TDT, is an @@ -14,7 +14,7 @@ import "./DepositFactoryAuthority.sol"; /// TBTC tokens whose value is backed 1-to-1 by the corresponding /// deposit's BTC. /// @dev Currently, TDTs are minted using the uint256 casting of the -/// corresponding deposit contract's address. That is, the TDTs id is +/// corresponding deposit contract's address. That is, the TDT's id is /// convertible to the deposit's address and vice versa. TDTs are minted /// automatically by the factory during each deposit's initialization. See /// DepositFactory.createNewDeposit() for more info on how the TDT is minted. @@ -45,27 +45,15 @@ contract TBTCDepositToken is ERC721Metadata, DepositFactoryAuthority { /// Set allowance for other address and notify. /// Allows `_spender` to transfer the specified TDT /// on your behalf and then ping the contract about it. - /// @dev The `_spender` should implement the `tokenRecipient` interface below - /// to receive approval notifications. - /// @param _spender Address of contract authorized to spend. + /// @dev The `_spender` should implement the `ITokenRecipient` + /// interface below to receive approval notifications. + /// @param _spender `ITokenRecipient`-conforming contract authorized to + /// operate on the approved token. /// @param _tdtId The TDT they can spend. /// @param _extraData Extra information to send to the approved contract. - function approveAndCall(address _spender, uint256 _tdtId, bytes memory _extraData) public returns (bool) { - tokenRecipient spender = tokenRecipient(_spender); - approve(_spender, _tdtId); - spender.receiveApproval(msg.sender, _tdtId, address(this), _extraData); + function approveAndCall(ITokenRecipient _spender, uint256 _tdtId, bytes memory _extraData) public returns (bool) { + approve(address(_spender), _tdtId); + _spender.receiveApproval(msg.sender, _tdtId, address(this), _extraData); return true; } } - -/// @title Interface of recipient contract for approveAndCall pattern. -/// See `FundingScript` contract for an example. -interface tokenRecipient { - function receiveApproval( - address _from, - uint256 _value, - address _token, - bytes calldata - _extraDat - ) external; -} diff --git a/solidity/contracts/system/TBTCToken.sol b/solidity/contracts/system/TBTCToken.sol index c1a6e03b0..1d2a1ea94 100644 --- a/solidity/contracts/system/TBTCToken.sol +++ b/solidity/contracts/system/TBTCToken.sol @@ -1,8 +1,9 @@ pragma solidity 0.5.15; -import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; -import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol"; -import "./VendingMachineAuthority.sol"; +import {ERC20} from "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; +import {ERC20Detailed} from "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol"; +import {VendingMachineAuthority} from "./VendingMachineAuthority.sol"; +import {ITokenRecipient} from "../interfaces/ITokenRecipient.sol"; /// @title TBTC Token. /// @notice This is the TBTC ERC20 contract. @@ -46,31 +47,21 @@ contract TBTCToken is ERC20Detailed, ERC20, VendingMachineAuthority { } /// @notice Set allowance for other address and notify. - /// Allows `_spender` to spend no more than `_value` tokens - /// on your behalf and then ping the contract about it. - /// @dev The `_spender` should implement the `tokenRecipient` interface above - /// to receive approval notifications. + /// Allows `_spender` to spend no more than `_value` + /// tokens on your behalf and then ping the contract about + /// it. + /// @dev The `_spender` should implement the `ITokenRecipient` + /// interface to receive approval notifications. /// @param _spender Address of contract authorized to spend. /// @param _value The max amount they can spend. /// @param _extraData Extra information to send to the approved contract. - function approveAndCall(address _spender, uint256 _value, bytes memory _extraData) public returns (bool) { - tokenRecipient spender = tokenRecipient(_spender); - if (approve(_spender, _value)) { - spender.receiveApproval(msg.sender, _value, address(this), _extraData); + /// @return true if the `_spender` was successfully approved and acted on + /// the approval, false (or revert) otherwise. + function approveAndCall(ITokenRecipient _spender, uint256 _value, bytes memory _extraData) public returns (bool) { + if (approve(address(_spender), _value)) { + _spender.receiveApproval(msg.sender, _value, address(this), _extraData); return true; } return false; } } - -/// @title Interface of recipient contract for approveAndCall pattern. -/// See `RedemptionScript` for an example. -interface tokenRecipient { - function receiveApproval( - address _from, - uint256 _value, - address _token, - bytes calldata - _extraDat - ) external; -} diff --git a/solidity/docs/generate-api-docs.js b/solidity/docs/generate-api-docs.js index 24fc82714..cbd32b56a 100644 --- a/solidity/docs/generate-api-docs.js +++ b/solidity/docs/generate-api-docs.js @@ -21,6 +21,7 @@ let jsonFiles = [ "../../solidity/build/contracts/DepositLiquidation.json", "../../solidity/build/contracts/IBTCETHPriceFeed.json", "../../solidity/build/contracts/IBondedECDSAKeep.json", + "../../solidity/build/contracts/ITokenRecipient.json", ] jsonFiles.forEach(file => { From 6f27fd5d02a6d85ef09cd29405f04a93a6c49ba9 Mon Sep 17 00:00:00 2001 From: Antonio Salazar Cardozo Date: Mon, 6 Apr 2020 21:50:21 -0400 Subject: [PATCH 5/5] Bump to Solidity 0.5.17 Docs only go to 0.5.15, so I missed that there was a 0.5.17 release <_< --- solidity/contracts/DepositLog.sol | 2 +- solidity/contracts/Migrations.sol | 2 +- solidity/contracts/deposit/Deposit.sol | 2 +- solidity/contracts/deposit/DepositFunding.sol | 2 +- solidity/contracts/deposit/DepositLiquidation.sol | 2 +- solidity/contracts/deposit/DepositRedemption.sol | 2 +- solidity/contracts/deposit/DepositStates.sol | 2 +- solidity/contracts/deposit/DepositUtils.sol | 2 +- solidity/contracts/deposit/OutsourceDepositLogging.sol | 2 +- solidity/contracts/deposit/TBTCConstants.sol | 2 +- solidity/contracts/external/IMedianizer.sol | 2 +- solidity/contracts/interfaces/IBTCETHPriceFeed.sol | 2 +- solidity/contracts/interfaces/ITBTCSystem.sol | 2 +- solidity/contracts/interfaces/ITokenRecipient.sol | 2 +- solidity/contracts/price-feed/BTCETHPriceFeed.sol | 2 +- solidity/contracts/price-feed/MockMedianizer.sol | 2 +- solidity/contracts/proxy/CloneFactory.sol | 2 +- solidity/contracts/proxy/DepositFactory.sol | 2 +- solidity/contracts/relay/MockRelay.sol | 2 +- solidity/contracts/scripts/FundingScript.sol | 2 +- solidity/contracts/scripts/RedemptionScript.sol | 2 +- solidity/contracts/system/DepositFactoryAuthority.sol | 2 +- solidity/contracts/system/FeeRebateToken.sol | 2 +- solidity/contracts/system/TBTCDepositToken.sol | 2 +- solidity/contracts/system/TBTCSystem.sol | 2 +- solidity/contracts/system/TBTCSystemAuthority.sol | 2 +- solidity/contracts/system/TBTCToken.sol | 2 +- solidity/contracts/system/VendingMachine.sol | 2 +- solidity/contracts/system/VendingMachineAuthority.sol | 2 +- solidity/contracts/test/deposit/TBTCSystemStub.sol | 2 +- solidity/contracts/test/deposit/TestDeposit.sol | 2 +- solidity/contracts/test/deposit/TestDepositUtils.sol | 2 +- solidity/contracts/test/deposit/TestTBTCConstants.sol | 2 +- solidity/contracts/test/deposit/TestToken.sol | 2 +- solidity/contracts/test/factory/CloneFactoryStub.sol | 2 +- solidity/contracts/test/factory/Dummy.sol | 2 +- solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol | 2 +- solidity/contracts/test/keep/ECDSAKeepStub.sol | 2 +- solidity/contracts/test/keep/ECDSAKeepVendorStub.sol | 2 +- solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol | 2 +- solidity/contracts/test/price-feed/MockMedianizer.sol | 2 +- solidity/contracts/test/system/TestFeeRebateToken.sol | 2 +- solidity/contracts/test/system/TestTBTCDepositToken.sol | 2 +- solidity/package-lock.json | 4 ++-- solidity/package.json | 2 +- solidity/truffle-config.js | 2 +- 46 files changed, 47 insertions(+), 47 deletions(-) diff --git a/solidity/contracts/DepositLog.sol b/solidity/contracts/DepositLog.sol index 8f07afd5f..1ee35ff63 100644 --- a/solidity/contracts/DepositLog.sol +++ b/solidity/contracts/DepositLog.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {TBTCDepositToken} from "./system/TBTCDepositToken.sol"; diff --git a/solidity/contracts/Migrations.sol b/solidity/contracts/Migrations.sol index 1e2e3a019..cf2b06953 100644 --- a/solidity/contracts/Migrations.sol +++ b/solidity/contracts/Migrations.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; contract Migrations { diff --git a/solidity/contracts/deposit/Deposit.sol b/solidity/contracts/deposit/Deposit.sol index b1fc6136c..a610941f1 100644 --- a/solidity/contracts/deposit/Deposit.sol +++ b/solidity/contracts/deposit/Deposit.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {DepositLiquidation} from "./DepositLiquidation.sol"; import {DepositUtils} from "./DepositUtils.sol"; diff --git a/solidity/contracts/deposit/DepositFunding.sol b/solidity/contracts/deposit/DepositFunding.sol index 8aaeab6bb..a9d074bcf 100644 --- a/solidity/contracts/deposit/DepositFunding.sol +++ b/solidity/contracts/deposit/DepositFunding.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {BytesLib} from "@summa-tx/bitcoin-spv-sol/contracts/BytesLib.sol"; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; diff --git a/solidity/contracts/deposit/DepositLiquidation.sol b/solidity/contracts/deposit/DepositLiquidation.sol index 208002bf4..bd6f021f2 100644 --- a/solidity/contracts/deposit/DepositLiquidation.sol +++ b/solidity/contracts/deposit/DepositLiquidation.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; import {BytesLib} from "@summa-tx/bitcoin-spv-sol/contracts/BytesLib.sol"; diff --git a/solidity/contracts/deposit/DepositRedemption.sol b/solidity/contracts/deposit/DepositRedemption.sol index f18f26907..30c6f4376 100644 --- a/solidity/contracts/deposit/DepositRedemption.sol +++ b/solidity/contracts/deposit/DepositRedemption.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; import {BytesLib} from "@summa-tx/bitcoin-spv-sol/contracts/BytesLib.sol"; diff --git a/solidity/contracts/deposit/DepositStates.sol b/solidity/contracts/deposit/DepositStates.sol index 83e2e5ab3..ad35d51ab 100644 --- a/solidity/contracts/deposit/DepositStates.sol +++ b/solidity/contracts/deposit/DepositStates.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {DepositUtils} from "./DepositUtils.sol"; diff --git a/solidity/contracts/deposit/DepositUtils.sol b/solidity/contracts/deposit/DepositUtils.sol index bf2b2ab5f..7464ef87c 100644 --- a/solidity/contracts/deposit/DepositUtils.sol +++ b/solidity/contracts/deposit/DepositUtils.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {ValidateSPV} from "@summa-tx/bitcoin-spv-sol/contracts/ValidateSPV.sol"; import {BTCUtils} from "@summa-tx/bitcoin-spv-sol/contracts/BTCUtils.sol"; diff --git a/solidity/contracts/deposit/OutsourceDepositLogging.sol b/solidity/contracts/deposit/OutsourceDepositLogging.sol index 95de7eb91..32aa0e69f 100644 --- a/solidity/contracts/deposit/OutsourceDepositLogging.sol +++ b/solidity/contracts/deposit/OutsourceDepositLogging.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {DepositLog} from "../DepositLog.sol"; import {DepositUtils} from "./DepositUtils.sol"; diff --git a/solidity/contracts/deposit/TBTCConstants.sol b/solidity/contracts/deposit/TBTCConstants.sol index db1a88b1d..b407cd58d 100644 --- a/solidity/contracts/deposit/TBTCConstants.sol +++ b/solidity/contracts/deposit/TBTCConstants.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; library TBTCConstants { diff --git a/solidity/contracts/external/IMedianizer.sol b/solidity/contracts/external/IMedianizer.sol index bfa53003f..20de8f0d7 100644 --- a/solidity/contracts/external/IMedianizer.sol +++ b/solidity/contracts/external/IMedianizer.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; /// @notice A medianizer price feed. /// @dev Based off the MakerDAO medianizer (https://github.com/makerdao/median) diff --git a/solidity/contracts/interfaces/IBTCETHPriceFeed.sol b/solidity/contracts/interfaces/IBTCETHPriceFeed.sol index 19fd075fe..fb7c59b16 100644 --- a/solidity/contracts/interfaces/IBTCETHPriceFeed.sol +++ b/solidity/contracts/interfaces/IBTCETHPriceFeed.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; interface IBTCETHPriceFeed { /// @notice Get the current price of bitcoin in ether. diff --git a/solidity/contracts/interfaces/ITBTCSystem.sol b/solidity/contracts/interfaces/ITBTCSystem.sol index 92552090f..eafba5410 100644 --- a/solidity/contracts/interfaces/ITBTCSystem.sol +++ b/solidity/contracts/interfaces/ITBTCSystem.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; /** * @title Keep interface diff --git a/solidity/contracts/interfaces/ITokenRecipient.sol b/solidity/contracts/interfaces/ITokenRecipient.sol index eceec1c83..29a6d6165 100644 --- a/solidity/contracts/interfaces/ITokenRecipient.sol +++ b/solidity/contracts/interfaces/ITokenRecipient.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; /// @title Interface of recipient contract for `approveAndCall` pattern. /// Implementors will be able to be used in an `approveAndCall` diff --git a/solidity/contracts/price-feed/BTCETHPriceFeed.sol b/solidity/contracts/price-feed/BTCETHPriceFeed.sol index 4b5da505a..4ba373fec 100644 --- a/solidity/contracts/price-feed/BTCETHPriceFeed.sol +++ b/solidity/contracts/price-feed/BTCETHPriceFeed.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol"; import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; diff --git a/solidity/contracts/price-feed/MockMedianizer.sol b/solidity/contracts/price-feed/MockMedianizer.sol index 26593cc63..c1ff48736 100644 --- a/solidity/contracts/price-feed/MockMedianizer.sol +++ b/solidity/contracts/price-feed/MockMedianizer.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; import "../external/IMedianizer.sol"; diff --git a/solidity/contracts/proxy/CloneFactory.sol b/solidity/contracts/proxy/CloneFactory.sol index 858479d4b..3b3753d28 100644 --- a/solidity/contracts/proxy/CloneFactory.sol +++ b/solidity/contracts/proxy/CloneFactory.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; /* The MIT License (MIT) diff --git a/solidity/contracts/proxy/DepositFactory.sol b/solidity/contracts/proxy/DepositFactory.sol index d518570e2..b89644d3d 100644 --- a/solidity/contracts/proxy/DepositFactory.sol +++ b/solidity/contracts/proxy/DepositFactory.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import "./CloneFactory.sol"; import "../deposit/Deposit.sol"; diff --git a/solidity/contracts/relay/MockRelay.sol b/solidity/contracts/relay/MockRelay.sol index 4869a2397..25f348d63 100644 --- a/solidity/contracts/relay/MockRelay.sol +++ b/solidity/contracts/relay/MockRelay.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; contract MockRelay { uint256 current = 1; diff --git a/solidity/contracts/scripts/FundingScript.sol b/solidity/contracts/scripts/FundingScript.sol index 58ccbf0fc..0e63b77b9 100644 --- a/solidity/contracts/scripts/FundingScript.sol +++ b/solidity/contracts/scripts/FundingScript.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {TBTCDepositToken} from "../system/TBTCDepositToken.sol"; import {TBTCToken} from "../system/TBTCToken.sol"; diff --git a/solidity/contracts/scripts/RedemptionScript.sol b/solidity/contracts/scripts/RedemptionScript.sol index 50a8f3c6b..2b93aab59 100644 --- a/solidity/contracts/scripts/RedemptionScript.sol +++ b/solidity/contracts/scripts/RedemptionScript.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {TBTCDepositToken} from "../system/TBTCDepositToken.sol"; import {TBTCToken} from "../system/TBTCToken.sol"; diff --git a/solidity/contracts/system/DepositFactoryAuthority.sol b/solidity/contracts/system/DepositFactoryAuthority.sol index 65879749d..4d1638bea 100644 --- a/solidity/contracts/system/DepositFactoryAuthority.sol +++ b/solidity/contracts/system/DepositFactoryAuthority.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; /// @title Deposit Factory Authority /// @notice Contract to secure function calls to the Deposit Factory. diff --git a/solidity/contracts/system/FeeRebateToken.sol b/solidity/contracts/system/FeeRebateToken.sol index 18980ef79..30517621d 100644 --- a/solidity/contracts/system/FeeRebateToken.sol +++ b/solidity/contracts/system/FeeRebateToken.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import "openzeppelin-solidity/contracts/token/ERC721/ERC721Metadata.sol"; import "./VendingMachineAuthority.sol"; diff --git a/solidity/contracts/system/TBTCDepositToken.sol b/solidity/contracts/system/TBTCDepositToken.sol index fe864ebc1..324a2e82a 100644 --- a/solidity/contracts/system/TBTCDepositToken.sol +++ b/solidity/contracts/system/TBTCDepositToken.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {ERC721Metadata} from "openzeppelin-solidity/contracts/token/ERC721/ERC721Metadata.sol"; import {DepositFactoryAuthority} from "./DepositFactoryAuthority.sol"; diff --git a/solidity/contracts/system/TBTCSystem.sol b/solidity/contracts/system/TBTCSystem.sol index 450517d6b..fb1fe374b 100644 --- a/solidity/contracts/system/TBTCSystem.sol +++ b/solidity/contracts/system/TBTCSystem.sol @@ -1,5 +1,5 @@ /* solium-disable function-order */ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {IBondedECDSAKeepVendor} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepVendor.sol"; import {IBondedECDSAKeepFactory} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol"; diff --git a/solidity/contracts/system/TBTCSystemAuthority.sol b/solidity/contracts/system/TBTCSystemAuthority.sol index 7789fc961..998fc2af6 100644 --- a/solidity/contracts/system/TBTCSystemAuthority.sol +++ b/solidity/contracts/system/TBTCSystemAuthority.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; /// @title TBTC System Authority. /// @notice Contract to secure function calls to the TBTC System contract. diff --git a/solidity/contracts/system/TBTCToken.sol b/solidity/contracts/system/TBTCToken.sol index 1d2a1ea94..ed74af107 100644 --- a/solidity/contracts/system/TBTCToken.sol +++ b/solidity/contracts/system/TBTCToken.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {ERC20} from "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; import {ERC20Detailed} from "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol"; diff --git a/solidity/contracts/system/VendingMachine.sol b/solidity/contracts/system/VendingMachine.sol index 9689b80eb..5d3ac0893 100644 --- a/solidity/contracts/system/VendingMachine.sol +++ b/solidity/contracts/system/VendingMachine.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol"; import {TBTCDepositToken} from "./TBTCDepositToken.sol"; diff --git a/solidity/contracts/system/VendingMachineAuthority.sol b/solidity/contracts/system/VendingMachineAuthority.sol index 73cf23dc8..be0880056 100644 --- a/solidity/contracts/system/VendingMachineAuthority.sol +++ b/solidity/contracts/system/VendingMachineAuthority.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; /// @title Vending Machine Authority. /// @notice Contract to secure function calls to the Vending Machine. diff --git a/solidity/contracts/test/deposit/TBTCSystemStub.sol b/solidity/contracts/test/deposit/TBTCSystemStub.sol index 9507f0de1..e2d527252 100644 --- a/solidity/contracts/test/deposit/TBTCSystemStub.sol +++ b/solidity/contracts/test/deposit/TBTCSystemStub.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {TBTCSystem} from "../../../contracts/system/TBTCSystem.sol"; diff --git a/solidity/contracts/test/deposit/TestDeposit.sol b/solidity/contracts/test/deposit/TestDeposit.sol index 386ebd736..7a2f37a63 100644 --- a/solidity/contracts/test/deposit/TestDeposit.sol +++ b/solidity/contracts/test/deposit/TestDeposit.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {Deposit} from "../../../contracts/deposit/Deposit.sol"; import {ITBTCSystem} from "../../interfaces/ITBTCSystem.sol"; diff --git a/solidity/contracts/test/deposit/TestDepositUtils.sol b/solidity/contracts/test/deposit/TestDepositUtils.sol index b0cb3ec72..7f3f6c2f9 100644 --- a/solidity/contracts/test/deposit/TestDepositUtils.sol +++ b/solidity/contracts/test/deposit/TestDepositUtils.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {DepositUtils} from "../../../contracts/deposit/DepositUtils.sol"; import {TestDeposit} from "./TestDeposit.sol"; diff --git a/solidity/contracts/test/deposit/TestTBTCConstants.sol b/solidity/contracts/test/deposit/TestTBTCConstants.sol index 26b7bc89c..894a0f3c4 100644 --- a/solidity/contracts/test/deposit/TestTBTCConstants.sol +++ b/solidity/contracts/test/deposit/TestTBTCConstants.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; library TestTBTCConstants { diff --git a/solidity/contracts/test/deposit/TestToken.sol b/solidity/contracts/test/deposit/TestToken.sol index 9b9c74055..63f8582af 100644 --- a/solidity/contracts/test/deposit/TestToken.sol +++ b/solidity/contracts/test/deposit/TestToken.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; import "openzeppelin-solidity/contracts/token/ERC20/ERC20Detailed.sol"; diff --git a/solidity/contracts/test/factory/CloneFactoryStub.sol b/solidity/contracts/test/factory/CloneFactoryStub.sol index 22920b196..dad5b8003 100644 --- a/solidity/contracts/test/factory/CloneFactoryStub.sol +++ b/solidity/contracts/test/factory/CloneFactoryStub.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {CloneFactory} from "../../../contracts/proxy/CloneFactory.sol"; diff --git a/solidity/contracts/test/factory/Dummy.sol b/solidity/contracts/test/factory/Dummy.sol index 6ae21443a..f2aeb8565 100644 --- a/solidity/contracts/test/factory/Dummy.sol +++ b/solidity/contracts/test/factory/Dummy.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; /// @dev Dummy contract to used to test clone factory. /// This contract will be cloned diff --git a/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol b/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol index f85047970..f1f4748cc 100644 --- a/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol +++ b/solidity/contracts/test/keep/ECDSAKeepFactoryStub.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {IBondedECDSAKeepFactory} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepFactory.sol"; diff --git a/solidity/contracts/test/keep/ECDSAKeepStub.sol b/solidity/contracts/test/keep/ECDSAKeepStub.sol index 1008f1bf8..374761d68 100644 --- a/solidity/contracts/test/keep/ECDSAKeepStub.sol +++ b/solidity/contracts/test/keep/ECDSAKeepStub.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import { IBondedECDSAKeep diff --git a/solidity/contracts/test/keep/ECDSAKeepVendorStub.sol b/solidity/contracts/test/keep/ECDSAKeepVendorStub.sol index 4764c31d3..9abc5955a 100644 --- a/solidity/contracts/test/keep/ECDSAKeepVendorStub.sol +++ b/solidity/contracts/test/keep/ECDSAKeepVendorStub.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import {IBondedECDSAKeepVendor} from "@keep-network/keep-ecdsa/contracts/api/IBondedECDSAKeepVendor.sol"; diff --git a/solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol b/solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol index 86ced611c..ff49af250 100644 --- a/solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol +++ b/solidity/contracts/test/price-feed/MockBTCETHPriceFeed.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; contract MockBTCETHPriceFeed{ diff --git a/solidity/contracts/test/price-feed/MockMedianizer.sol b/solidity/contracts/test/price-feed/MockMedianizer.sol index b386a46e4..0695911fa 100644 --- a/solidity/contracts/test/price-feed/MockMedianizer.sol +++ b/solidity/contracts/test/price-feed/MockMedianizer.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; import "../../../contracts/external/IMedianizer.sol"; diff --git a/solidity/contracts/test/system/TestFeeRebateToken.sol b/solidity/contracts/test/system/TestFeeRebateToken.sol index 8b68a65c8..6ac01eedf 100644 --- a/solidity/contracts/test/system/TestFeeRebateToken.sol +++ b/solidity/contracts/test/system/TestFeeRebateToken.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import "../../../contracts/system/FeeRebateToken.sol"; diff --git a/solidity/contracts/test/system/TestTBTCDepositToken.sol b/solidity/contracts/test/system/TestTBTCDepositToken.sol index 862f83852..c578f64a8 100644 --- a/solidity/contracts/test/system/TestTBTCDepositToken.sol +++ b/solidity/contracts/test/system/TestTBTCDepositToken.sol @@ -1,4 +1,4 @@ -pragma solidity 0.5.15; +pragma solidity 0.5.17; import "../../../contracts/system/TBTCDepositToken.sol"; diff --git a/solidity/package-lock.json b/solidity/package-lock.json index bb73e98d4..a613aa973 100644 --- a/solidity/package-lock.json +++ b/solidity/package-lock.json @@ -26578,8 +26578,8 @@ "dev": true }, "solc": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.15.tgz", + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.5.17.tgz", "integrity": "sha512-uI+7XtBu/0CXRc8IMjzxbh0haLwaBF32VxAkkks06zEk+mVcsQbHdjvojXX6zQYtZVuXdVYPVccoIjEhvvqKnQ==", "dev": true, "requires": { diff --git a/solidity/package.json b/solidity/package.json index 6a32ae806..2ed8d627b 100644 --- a/solidity/package.json +++ b/solidity/package.json @@ -62,6 +62,6 @@ "prettier-plugin-solidity": "^1.0.0-alpha.40", "solium-config-keep": "git+https://github.com/keep-network/solium-config-keep.git#0.1.1", "truffle": "^5.1.13", - "solc": "0.5.15" + "solc": "0.5.17" } } diff --git a/solidity/truffle-config.js b/solidity/truffle-config.js index 1426b1f19..3c1f3d7b8 100644 --- a/solidity/truffle-config.js +++ b/solidity/truffle-config.js @@ -121,7 +121,7 @@ module.exports = { // Configure your compilers compilers: { solc: { - version: "0.5.15", + version: "0.5.17", // version: "0.5.1", // Fetch exact version from solc-bin (default: truffle's version) // docker: true, // Use "0.5.1" you've installed locally with docker (default: false) settings: { // See the solidity docs for advice about optimization and evmVersion