From 340e479bc31fe205ee2d5d2a2b6f9d66676b123a Mon Sep 17 00:00:00 2001 From: Geoffrey Hayes Date: Tue, 17 Dec 2019 15:20:13 -0800 Subject: [PATCH] Add kovan and mainnet deployments, including updates to scenarios --- networks/kovan-abi.json | 3483 +++++++++----- networks/kovan.json | 27 +- networks/mainnet-abi.json | 4243 ++++++++++++----- networks/mainnet-fork.json | 4 + networks/mainnet.json | 21 + package.json | 2 +- scenario/package.json | 2 +- scenario/script/repl | 19 +- .../src/Builder/InterestRateModelBuilder.ts | 84 +- scenario/src/CoreEvent.ts | 31 +- scenario/src/Hypothetical.ts | 36 + scenario/src/Repl.ts | 70 +- scenario/yarn.lock | 599 ++- yarn.lock | 449 +- 14 files changed, 6447 insertions(+), 2623 deletions(-) create mode 100644 networks/mainnet-fork.json create mode 100644 scenario/src/Hypothetical.ts diff --git a/networks/kovan-abi.json b/networks/kovan-abi.json index f46b888aa..1e6540dc3 100644 --- a/networks/kovan-abi.json +++ b/networks/kovan-abi.json @@ -11648,18 +11648,28 @@ "signature": "0x6f307dc3" } ], - "Base0bps_Slope2000bps": [ + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": [ { "inputs": [ { "internalType": "uint256", - "name": "baseRatePerYear", + "name": "jumpMultiplierPerYear", "type": "uint256" }, { "internalType": "uint256", - "name": "multiplierPerYear", + "name": "kink_", "type": "uint256" + }, + { + "internalType": "address", + "name": "pot_", + "type": "address" + }, + { + "internalType": "address", + "name": "jug_", + "type": "address" } ], "payable": false, @@ -11681,11 +11691,39 @@ "internalType": "uint256", "name": "multiplierPerBlock", "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "jumpMultiplierPerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "kink", + "type": "uint256" } ], "name": "NewInterestParams", "type": "event", - "signature": "0xf35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27" + "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" + }, + { + "constant": true, + "inputs": [], + "name": "assumedOneMinusReserveFactorMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6dac7cd5" }, { "constant": true, @@ -11719,6 +11757,38 @@ "type": "function", "signature": "0xa385fb96" }, + { + "constant": true, + "inputs": [], + "name": "dsrPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x96456c5c" + }, + { + "constant": true, + "inputs": [], + "name": "gapPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf52d21f3" + }, { "constant": true, "inputs": [ @@ -11804,6 +11874,38 @@ "type": "function", "signature": "0x2191f92a" }, + { + "constant": true, + "inputs": [], + "name": "jumpMultiplierPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb9f9850a" + }, + { + "constant": true, + "inputs": [], + "name": "kink", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfd2da339" + }, { "constant": true, "inputs": [], @@ -11820,6 +11922,16 @@ "type": "function", "signature": "0x8726bb89" }, + { + "constant": false, + "inputs": [], + "name": "poke", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x18178358" + }, { "constant": true, "inputs": [ @@ -11853,28 +11965,18 @@ "signature": "0x6e71e2d8" } ], - "BAT": [ + "Base0bps_Slope2000bps": [ { "inputs": [ { "internalType": "uint256", - "name": "_initialAmount", + "name": "baseRatePerYear", "type": "uint256" }, { - "internalType": "string", - "name": "_tokenName", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimalUnits", - "type": "uint8" - }, - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" + "internalType": "uint256", + "name": "multiplierPerYear", + "type": "uint256" } ], "payable": false, @@ -11885,91 +11987,43 @@ { "anonymous": false, "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, { "indexed": false, "internalType": "uint256", - "name": "value", + "name": "baseRatePerBlock", "type": "uint256" - } - ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "value", + "name": "multiplierPerBlock", "type": "uint256" } ], - "name": "Transfer", + "name": "NewInterestParams", "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "signature": "0xf35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "baseRatePerBlock", + "outputs": [ { "internalType": "uint256", - "name": "value", + "name": "", "type": "uint256" } ], - "name": "allocateTo", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x08bca566" + "signature": "0xf14039de" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", + "inputs": [], + "name": "blocksPerYear", "outputs": [ { "internalType": "uint256", @@ -11980,45 +12034,65 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0xa385fb96" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "_spender", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { "internalType": "uint256", - "name": "_value", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "name": "approve", + "name": "getBorrowRate", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x095ea7b3" + "signature": "0x15f24053" }, { "constant": true, "inputs": [ { - "internalType": "address", - "name": "_owner", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveFactorMantissa", + "type": "uint256" } ], - "name": "balanceOf", + "name": "getSupplyRate", "outputs": [ { "internalType": "uint256", @@ -12029,17 +12103,260 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0xb8168816" }, { "constant": true, "inputs": [], - "name": "decimals", + "name": "isInterestRateModel", "outputs": [ { - "internalType": "uint8", + "internalType": "bool", "name": "", - "type": "uint8" + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x2191f92a" + }, + { + "constant": true, + "inputs": [], + "name": "multiplierPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8726bb89" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + } + ], + "name": "utilizationRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x6e71e2d8" + } + ], + "BAT": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_initialAmount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_tokenName", + "type": "string" + }, + { + "internalType": "uint8", + "name": "_decimalUnits", + "type": "uint8" + }, + { + "internalType": "string", + "name": "_tokenSymbol", + "type": "string" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "allocateTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x08bca566" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" } ], "payable": false, @@ -17981,17 +18298,17 @@ "signature": "0x6f307dc3" } ], - "Base200bps_Slope3000bps": [ + "Timelock": [ { "inputs": [ { - "internalType": "uint256", - "name": "baseRatePerYear", - "type": "uint256" + "internalType": "address", + "name": "admin_", + "type": "address" }, { "internalType": "uint256", - "name": "multiplierPerYear", + "name": "delay_", "type": "uint256" } ], @@ -18004,111 +18321,185 @@ "anonymous": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "baseRatePerBlock", - "type": "uint256" + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "multiplierPerBlock", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "name": "NewInterestParams", + "name": "CancelTransaction", "type": "event", - "signature": "0xf35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27" + "signature": "0x2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf87" }, { - "constant": true, - "inputs": [], - "name": "baseRatePerBlock", - "outputs": [ + "anonymous": false, + "inputs": [ { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf14039de" + "name": "ExecuteTransaction", + "type": "event", + "signature": "0xa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e7" }, { - "constant": true, - "inputs": [], - "name": "blocksPerYear", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xa385fb96" + "name": "NewAdmin", + "type": "event", + "signature": "0x71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c" }, { - "constant": true, + "anonymous": false, "inputs": [ { + "indexed": true, "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "reserves", + "name": "newDelay", "type": "uint256" } ], - "name": "getBorrowRate", - "outputs": [ + "name": "NewDelay", + "type": "event", + "signature": "0x948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x15f24053" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0x69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a756" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "internalType": "uint256", - "name": "cash", - "type": "uint256" + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" }, { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "reserves", + "name": "value", "type": "uint256" }, { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, "internalType": "uint256", - "name": "reserveFactorMantissa", + "name": "eta", "type": "uint256" } ], - "name": "getSupplyRate", + "name": "QueueTransaction", + "type": "event", + "signature": "0x76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "constant": true, + "inputs": [], + "name": "GRACE_PERIOD", "outputs": [ { "internalType": "uint256", @@ -18119,28 +18510,28 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xb8168816" + "signature": "0xc1a287e2" }, { "constant": true, "inputs": [], - "name": "isInterestRateModel", + "name": "MAXIMUM_DELAY", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x2191f92a" + "signature": "0x7d645fab" }, { "constant": true, "inputs": [], - "name": "multiplierPerBlock", + "name": "MINIMUM_DELAY", "outputs": [ { "internalType": "uint256", @@ -18151,28 +18542,74 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8726bb89" + "signature": "0xb1b43ae5" + }, + { + "constant": false, + "inputs": [], + "name": "acceptAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0e18b681" }, { "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "cash", - "type": "uint256" + "internalType": "address", + "name": "target", + "type": "address" }, { "internalType": "uint256", - "name": "borrows", + "name": "value", "type": "uint256" }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, { "internalType": "uint256", - "name": "reserves", + "name": "eta", "type": "uint256" } ], - "name": "utilizationRate", + "name": "cancelTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x591fcdfe" + }, + { + "constant": true, + "inputs": [], + "name": "delay", "outputs": [ { "internalType": "uint256", @@ -18181,149 +18618,183 @@ } ], "payable": false, - "stateMutability": "pure", + "stateMutability": "view", "type": "function", - "signature": "0x6e71e2d8" - } - ], - "cREP": [ + "signature": "0x6a42b8f8" + }, { + "constant": false, "inputs": [ { "internalType": "address", - "name": "underlying_", - "type": "address" - }, - { - "internalType": "contract ComptrollerInterface", - "name": "comptroller_", - "type": "address" - }, - { - "internalType": "contract InterestRateModel", - "name": "interestRateModel_", + "name": "target", "type": "address" }, { "internalType": "uint256", - "name": "initialExchangeRateMantissa_", + "name": "value", "type": "uint256" }, { "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", + "name": "signature", "type": "string" }, { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" + "internalType": "bytes", + "name": "data", + "type": "bytes" }, { - "internalType": "address payable", - "name": "admin_", - "type": "address" + "internalType": "uint256", + "name": "eta", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "name": "executeTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function", + "signature": "0x0825f38f" }, { - "anonymous": false, + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": false, "inputs": [ { - "indexed": false, - "internalType": "uint256", - "name": "cashPrior", - "type": "uint256" + "internalType": "address", + "name": "target", + "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "interestAccumulated", + "name": "value", "type": "uint256" }, { - "indexed": false, - "internalType": "uint256", - "name": "borrowIndex", - "type": "uint256" + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" }, { - "indexed": false, "internalType": "uint256", - "name": "totalBorrows", + "name": "eta", "type": "uint256" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" + "name": "queueTransaction", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3a66f901" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", + "outputs": [ { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf2b06537" + }, + { + "constant": false, + "inputs": [ { - "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "delay_", "type": "uint256" } ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + "name": "setDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe177246e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, "internalType": "address", - "name": "borrower", + "name": "pendingAdmin_", "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "borrowAmount", - "type": "uint256" - }, + } + ], + "name": "setPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4dd18bf5" + } + ], + "Base200bps_Slope3000bps": [ + { + "inputs": [ { - "indexed": false, "internalType": "uint256", - "name": "accountBorrows", + "name": "baseRatePerYear", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "totalBorrows", + "name": "multiplierPerYear", "type": "uint256" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { "anonymous": false, @@ -18331,169 +18802,234 @@ { "indexed": false, "internalType": "uint256", - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "info", + "name": "baseRatePerBlock", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "detail", + "name": "multiplierPerBlock", "type": "uint256" } ], - "name": "Failure", + "name": "NewInterestParams", "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "signature": "0xf35fa19c15e9ba782633a5df62a98b20217151addc68e3ff2cd623a48d37ec27" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "borrower", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "baseRatePerBlock", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "repayAmount", + "name": "", "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "cTokenCollateral", - "type": "address" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf14039de" + }, + { + "constant": true, + "inputs": [], + "name": "blocksPerYear", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "seizeTokens", + "name": "", "type": "uint256" } ], - "name": "LiquidateBorrow", - "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xa385fb96" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "minter", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "mintAmount", + "name": "borrows", "type": "uint256" }, { - "indexed": false, "internalType": "uint256", - "name": "mintTokens", + "name": "reserves", "type": "uint256" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "oldAdmin", - "type": "address" - }, + "name": "getBorrowRate", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x15f24053" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "contract ComptrollerInterface", - "name": "oldComptroller", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { - "indexed": false, - "internalType": "contract ComptrollerInterface", - "name": "newComptroller", - "type": "address" - } + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveFactorMantissa", + "type": "uint256" + } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "name": "getSupplyRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb8168816" }, { - "anonymous": false, + "constant": true, + "inputs": [], + "name": "isInterestRateModel", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x2191f92a" + }, + { + "constant": true, + "inputs": [], + "name": "multiplierPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8726bb89" + }, + { + "constant": true, "inputs": [ { - "indexed": false, - "internalType": "contract InterestRateModel", - "name": "oldInterestRateModel", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { - "indexed": false, - "internalType": "contract InterestRateModel", - "name": "newInterestRateModel", - "type": "address" + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" - }, + "name": "utilizationRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x6e71e2d8" + } + ], + "cREP": [ { - "anonymous": false, "inputs": [ { - "indexed": false, "internalType": "address", - "name": "oldPendingAdmin", + "name": "underlying_", "type": "address" }, { - "indexed": false, - "internalType": "address", - "name": "newPendingAdmin", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + }, + { + "internalType": "address payable", + "name": "admin_", "type": "address" } ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { "anonymous": false, @@ -18501,55 +19037,61 @@ { "indexed": false, "internalType": "uint256", - "name": "oldReserveFactorMantissa", + "name": "cashPrior", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "newReserveFactorMantissa", + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "name": "NewReserveFactor", + "name": "AccrueInterest", "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { "anonymous": false, "inputs": [ { - "indexed": false, + "indexed": true, "internalType": "address", - "name": "redeemer", + "name": "owner", "type": "address" }, { - "indexed": false, - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "redeemTokens", + "name": "amount", "type": "uint256" } ], - "name": "Redeem", + "name": "Approval", "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { "anonymous": false, "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "payer", - "type": "address" - }, { "indexed": false, "internalType": "address", @@ -18559,7 +19101,7 @@ { "indexed": false, "internalType": "uint256", - "name": "repayAmount", + "name": "borrowAmount", "type": "uint256" }, { @@ -18575,35 +19117,35 @@ "type": "uint256" } ], - "name": "RepayBorrow", + "name": "Borrow", "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { "anonymous": false, "inputs": [ { "indexed": false, - "internalType": "address", - "name": "benefactor", - "type": "address" + "internalType": "uint256", + "name": "error", + "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "addAmount", + "name": "info", "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "newTotalReserves", + "name": "detail", "type": "uint256" } ], - "name": "ReservesAdded", + "name": "Failure", "type": "event", - "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { "anonymous": false, @@ -18611,58 +19153,312 @@ { "indexed": false, "internalType": "address", - "name": "admin", + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", "type": "address" }, { "indexed": false, "internalType": "uint256", - "name": "reduceAmount", + "name": "repayAmount", "type": "uint256" }, + { + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", + "type": "address" + }, { "indexed": false, "internalType": "uint256", - "name": "newTotalReserves", + "name": "seizeTokens", "type": "uint256" } ], - "name": "ReservesReduced", + "name": "LiquidateBorrow", "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { "anonymous": false, "inputs": [ { - "indexed": true, + "indexed": false, "internalType": "address", - "name": "from", + "name": "minter", "type": "address" }, { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" }, { "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "mintTokens", "type": "uint256" } ], - "name": "Transfer", + "name": "Mint", "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", - "outputs": [ - { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { "internalType": "uint256", "name": "", "type": "uint256" @@ -22864,26 +23660,304 @@ "type": "address" }, { - "indexed": true, + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + } + ], + "name": "_addReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3e941010" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2b3abbd" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "_setReserveFactor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xfca7820b" + }, + { + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, + { + "constant": true, + "inputs": [ + { "internalType": "address", - "name": "to", + "name": "owner", "type": "address" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "indexed": false, "internalType": "uint256", - "name": "amount", + "name": "", "type": "uint256" } ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" }, { "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", "outputs": [ { "internalType": "uint256", @@ -22894,18 +23968,18 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x3af9e669" }, { "constant": false, "inputs": [ { "internalType": "uint256", - "name": "addAmount", + "name": "borrowAmount", "type": "uint256" } ], - "name": "_addReserves", + "name": "borrow", "outputs": [ { "internalType": "uint256", @@ -22916,18 +23990,18 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3e941010" + "signature": "0xc5ebeaec" }, { "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "reduceAmount", - "type": "uint256" + "internalType": "address", + "name": "account", + "type": "address" } ], - "name": "_reduceReserves", + "name": "borrowBalanceCurrent", "outputs": [ { "internalType": "uint256", @@ -22938,18 +24012,18 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x601a0bf1" + "signature": "0x17bfdfbc" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "contract ComptrollerInterface", - "name": "newComptroller", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "_setComptroller", + "name": "borrowBalanceStored", "outputs": [ { "internalType": "uint256", @@ -22958,20 +24032,30 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x4576b5db" + "signature": "0x95dd9193" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ { - "internalType": "contract InterestRateModel", - "name": "newInterestRateModel", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "_setInterestRateModel", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", "outputs": [ { "internalType": "uint256", @@ -22980,20 +24064,46 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0xf8f9da28" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "comptroller", + "outputs": [ { - "internalType": "address payable", - "name": "newPendingAdmin", + "internalType": "contract ComptrollerInterface", + "name": "", "type": "address" } ], - "name": "_setPendingAdmin", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5fe3b567" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", "outputs": [ { "internalType": "uint256", @@ -23004,19 +24114,50 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0xbd6d894d" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "exchangeRateStored", + "outputs": [ { "internalType": "uint256", - "name": "newReserveFactorMantissa", + "name": "", "type": "uint256" } ], - "name": "_setReserveFactor", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x182df0f5" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAccountSnapshot", "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, { "internalType": "uint256", "name": "", @@ -23024,14 +24165,14 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xfca7820b" + "signature": "0xc37f68e2" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "getCash", "outputs": [ { "internalType": "uint256", @@ -23042,55 +24183,147 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0x3b1d21a2" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x1a31d465" }, { "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", + "type": "address" + }, + { + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x99d8c1b4" + }, + { + "constant": true, "inputs": [], - "name": "accrueInterest", + "name": "interestRateModel", "outputs": [ { - "internalType": "uint256", + "internalType": "contract InterestRateModel", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa6afed95" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "isCToken", "outputs": [ { - "internalType": "address payable", + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0xfe9c44ae" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "owner", + "name": "borrower", "type": "address" }, { - "internalType": "address", - "name": "spender", + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", "type": "address" } ], - "name": "allowance", + "name": "liquidateBorrow", "outputs": [ { "internalType": "uint256", @@ -23099,91 +24332,74 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0xf5e3c462" }, { "constant": false, "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, { "internalType": "uint256", - "name": "amount", + "name": "mintAmount", "type": "uint256" } ], - "name": "approve", + "name": "mint", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xa0712d68" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", + "inputs": [], + "name": "name", "outputs": [ { - "internalType": "uint256", + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0x06fdde03" }, { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOfUnderlying", + "constant": true, + "inputs": [], + "name": "pendingAdmin", "outputs": [ { - "internalType": "uint256", + "internalType": "address payable", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x3af9e669" + "signature": "0x26782247" }, { "constant": false, "inputs": [ { "internalType": "uint256", - "name": "borrowAmount", + "name": "redeemTokens", "type": "uint256" } ], - "name": "borrow", + "name": "redeem", "outputs": [ { "internalType": "uint256", @@ -23194,40 +24410,18 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0xdb006a75" }, { "constant": false, "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceCurrent", - "outputs": [ { "internalType": "uint256", - "name": "", + "name": "redeemAmount", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x17bfdfbc" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceStored", + "name": "redeemUnderlying", "outputs": [ { "internalType": "uint256", @@ -23236,30 +24430,20 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x95dd9193" + "signature": "0x852a12e3" }, { - "constant": true, - "inputs": [], - "name": "borrowIndex", - "outputs": [ + "constant": false, + "inputs": [ { "internalType": "uint256", - "name": "", + "name": "repayAmount", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xaa5af0fd" - }, - { - "constant": true, - "inputs": [], - "name": "borrowRatePerBlock", + "name": "repayBorrow", "outputs": [ { "internalType": "uint256", @@ -23268,46 +24452,25 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x0e752702" }, { - "constant": true, - "inputs": [], - "name": "comptroller", - "outputs": [ + "constant": false, + "inputs": [ { - "internalType": "contract ComptrollerInterface", - "name": "", + "internalType": "address", + "name": "borrower", "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x5fe3b567" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ + }, { - "internalType": "uint8", - "name": "", - "type": "uint8" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x313ce567" - }, - { - "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", + "name": "repayBorrowBehalf", "outputs": [ { "internalType": "uint256", @@ -23318,12 +24481,12 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x2608f818" }, { "constant": true, "inputs": [], - "name": "exchangeRateStored", + "name": "reserveFactorMantissa", "outputs": [ { "internalType": "uint256", @@ -23334,34 +24497,29 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0x173b9904" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "address", - "name": "account", + "name": "liquidator", "type": "address" - } - ], - "name": "getAccountSnapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" }, { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "borrower", + "type": "address" }, { "internalType": "uint256", - "name": "", + "name": "seizeTokens", "type": "uint256" - }, + } + ], + "name": "seize", + "outputs": [ { "internalType": "uint256", "name": "", @@ -23369,14 +24527,14 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xc37f68e2" + "signature": "0xb2a02ff1" }, { "constant": true, "inputs": [], - "name": "getCash", + "name": "supplyRatePerBlock", "outputs": [ { "internalType": "uint256", @@ -23384,248 +24542,284 @@ "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x3b1d21a2" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - }, - { - "internalType": "contract ComptrollerInterface", - "name": "comptroller_", - "type": "address" - }, - { - "internalType": "contract InterestRateModel", - "name": "interestRateModel_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "initialExchangeRateMantissa_", - "type": "uint256" - }, - { - "internalType": "string", - "name": "name_", - "type": "string" - }, + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xae9d70b0" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ { "internalType": "string", - "name": "symbol_", + "name": "", "type": "string" - }, + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "initialize", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x1a31d465" + "signature": "0x47bd3718" }, { "constant": false, - "inputs": [ - { - "internalType": "contract ComptrollerInterface", - "name": "comptroller_", - "type": "address" - }, - { - "internalType": "contract InterestRateModel", - "name": "interestRateModel_", - "type": "address" - }, + "inputs": [], + "name": "totalBorrowsCurrent", + "outputs": [ { "internalType": "uint256", - "name": "initialExchangeRateMantissa_", + "name": "", "type": "uint256" - }, - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" } ], - "name": "initialize", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x99d8c1b4" + "signature": "0x73acee98" }, { "constant": true, "inputs": [], - "name": "interestRateModel", + "name": "totalReserves", "outputs": [ { - "internalType": "contract InterestRateModel", + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x8f840ddd" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "totalSupply", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "borrower", + "name": "dst", "type": "address" }, { "internalType": "uint256", - "name": "repayAmount", + "name": "amount", "type": "uint256" - }, - { - "internalType": "contract CTokenInterface", - "name": "cTokenCollateral", - "type": "address" } ], - "name": "liquidateBorrow", + "name": "transfer", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" + "signature": "0xa9059cbb" }, { "constant": false, "inputs": [ + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, { "internalType": "uint256", - "name": "mintAmount", + "name": "amount", "type": "uint256" } ], - "name": "mint", + "name": "transferFrom", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa0712d68" + "signature": "0x23b872dd" }, { "constant": true, "inputs": [], - "name": "name", + "name": "underlying", "outputs": [ { - "internalType": "string", + "internalType": "address", "name": "", - "type": "string" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x6f307dc3" + } + ], + "USDC": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_initialAmount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_tokenName", + "type": "string" + }, + { + "internalType": "uint8", + "name": "_decimalUnits", + "type": "uint8" + }, + { + "internalType": "string", + "name": "_tokenSymbol", + "type": "string" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "anonymous": false, + "inputs": [ { - "internalType": "address payable", - "name": "", + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { - "constant": false, + "anonymous": false, "inputs": [ { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, "internalType": "uint256", - "name": "redeemTokens", + "name": "value", "type": "uint256" } ], - "name": "redeem", - "outputs": [ + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, { "internalType": "uint256", - "name": "", + "name": "value", "type": "uint256" } ], + "name": "allocateTo", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xdb006a75" + "signature": "0x08bca566" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "uint256", - "name": "redeemAmount", - "type": "uint256" + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" } ], - "name": "redeemUnderlying", + "name": "allowance", "outputs": [ { "internalType": "uint256", @@ -23634,47 +24828,47 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x852a12e3" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, { "internalType": "uint256", - "name": "repayAmount", + "name": "_value", "type": "uint256" } ], - "name": "repayBorrow", + "name": "approve", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x0e752702" + "signature": "0x095ea7b3" }, { - "constant": false, + "constant": true, "inputs": [ { "internalType": "address", - "name": "borrower", + "name": "_owner", "type": "address" - }, - { - "internalType": "uint256", - "name": "repayAmount", - "type": "uint256" } ], - "name": "repayBorrowBehalf", + "name": "balanceOf", "outputs": [ { "internalType": "uint256", @@ -23683,137 +24877,111 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x2608f818" + "signature": "0x70a08231" }, { "constant": true, "inputs": [], - "name": "reserveFactorMantissa", + "name": "decimals", "outputs": [ { - "internalType": "uint256", + "internalType": "uint8", "name": "", - "type": "uint256" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0x313ce567" }, { "constant": false, "inputs": [ { "internalType": "address", - "name": "liquidator", - "type": "address" - }, - { - "internalType": "address", - "name": "borrower", + "name": "_spender", "type": "address" }, { "internalType": "uint256", - "name": "seizeTokens", + "name": "_subtractedValue", "type": "uint256" } ], - "name": "seize", + "name": "decreaseApproval", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0x66188463" }, { - "constant": true, - "inputs": [], - "name": "supplyRatePerBlock", - "outputs": [ + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, { "internalType": "uint256", - "name": "", + "name": "_addedValue", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xae9d70b0" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", + "name": "increaseApproval", "outputs": [ { - "internalType": "string", + "internalType": "bool", "name": "", - "type": "string" + "type": "bool" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x95d89b41" + "signature": "0xd73dd623" }, { "constant": true, "inputs": [], - "name": "totalBorrows", + "name": "name", "outputs": [ { - "internalType": "uint256", + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x47bd3718" - }, - { - "constant": false, - "inputs": [], - "name": "totalBorrowsCurrent", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x73acee98" + "signature": "0x06fdde03" }, { "constant": true, "inputs": [], - "name": "totalReserves", + "name": "symbol", "outputs": [ { - "internalType": "uint256", + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8f840ddd" + "signature": "0x95d89b41" }, { "constant": true, @@ -23836,12 +25004,12 @@ "inputs": [ { "internalType": "address", - "name": "dst", + "name": "_to", "type": "address" }, { "internalType": "uint256", - "name": "amount", + "name": "_value", "type": "uint256" } ], @@ -23863,17 +25031,17 @@ "inputs": [ { "internalType": "address", - "name": "src", + "name": "_from", "type": "address" }, { "internalType": "address", - "name": "dst", + "name": "_to", "type": "address" }, { "internalType": "uint256", - "name": "amount", + "name": "_value", "type": "uint256" } ], @@ -23889,190 +25057,73 @@ "stateMutability": "nonpayable", "type": "function", "signature": "0x23b872dd" - }, - { - "constant": true, - "inputs": [], - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6f307dc3" } ], - "USDC": [ + "Base200bps_Slope222bps_Kink90_Jump10": [ { "inputs": [ { "internalType": "uint256", - "name": "_initialAmount", + "name": "baseRatePerYear", "type": "uint256" }, { - "internalType": "string", - "name": "_tokenName", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimalUnits", - "type": "uint8" - }, - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, "internalType": "uint256", - "name": "value", + "name": "multiplierPerYear", "type": "uint256" - } - ], - "name": "Approval", - "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" }, { - "indexed": false, "internalType": "uint256", - "name": "value", + "name": "kink_", "type": "uint256" - } - ], - "name": "Transfer", - "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" }, { "internalType": "uint256", - "name": "value", + "name": "jump_", "type": "uint256" } ], - "name": "allocateTo", - "outputs": [], "payable": false, "stateMutability": "nonpayable", - "type": "function", - "signature": "0x08bca566" + "type": "constructor", + "signature": "constructor" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { + "indexed": false, "internalType": "uint256", - "name": "", + "name": "baseRatePerBlock", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdd62ed3e" - }, - { - "constant": false, - "inputs": [ + }, { - "internalType": "address", - "name": "_spender", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "multiplierPerBlock", + "type": "uint256" }, { + "indexed": false, "internalType": "uint256", - "name": "_value", + "name": "kink", "type": "uint256" - } - ], - "name": "approve", - "outputs": [ + }, { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": false, + "internalType": "uint256", + "name": "jump", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x095ea7b3" + "name": "NewInterestParams", + "type": "event", + "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" }, { "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "balanceOf", + "inputs": [], + "name": "baseRatePerBlock", "outputs": [ { "internalType": "uint256", @@ -24083,66 +25134,97 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x70a08231" + "signature": "0xf14039de" }, { "constant": true, "inputs": [], - "name": "decimals", + "name": "blocksPerYear", "outputs": [ { - "internalType": "uint8", + "internalType": "uint256", "name": "", - "type": "uint8" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0xa385fb96" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "_spender", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { "internalType": "uint256", - "name": "_subtractedValue", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "name": "decreaseApproval", + "name": "getBorrowRate", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x66188463" + "signature": "0x15f24053" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "_spender", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { "internalType": "uint256", - "name": "_addedValue", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveFactorMantissa", "type": "uint256" } ], - "name": "increaseApproval", + "name": "getSupplyRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb8168816" + }, + { + "constant": true, + "inputs": [], + "name": "isInterestRateModel", "outputs": [ { "internalType": "bool", @@ -24151,46 +25233,46 @@ } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xd73dd623" + "signature": "0x2191f92a" }, { "constant": true, "inputs": [], - "name": "name", + "name": "jump", "outputs": [ { - "internalType": "string", + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x8f6c696b" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "kink", "outputs": [ { - "internalType": "string", + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0xfd2da339" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "multiplierPerBlock", "outputs": [ { "internalType": "uint256", @@ -24201,133 +25283,243 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0x8726bb89" }, { - "constant": false, + "constant": true, "inputs": [ { - "internalType": "address", - "name": "_to", - "type": "address" + "internalType": "uint256", + "name": "cash", + "type": "uint256" }, { "internalType": "uint256", - "name": "_value", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", "type": "uint256" } ], - "name": "transfer", + "name": "utilizationRate", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function", - "signature": "0xa9059cbb" - }, + "signature": "0x6e71e2d8" + } + ], + "Timelock": [ { - "constant": false, "inputs": [ { "internalType": "address", - "name": "_from", + "name": "admin_", "type": "address" }, { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, "internalType": "address", - "name": "_to", + "name": "target", "type": "address" }, { + "indexed": false, "internalType": "uint256", - "name": "_value", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "name": "transferFrom", - "outputs": [ + "name": "CancelTransaction", + "type": "event", + "signature": "0x2fffc091a501fd91bfbff27141450d3acb40fb8e6d8382b243ec7a812a3aaf87" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "bool", - "name": "", - "type": "bool" + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x23b872dd" - } - ], - "Base200bps_Slope222bps_Kink90_Jump10": [ + "name": "ExecuteTransaction", + "type": "event", + "signature": "0xa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e7" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0x71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c" + }, { + "anonymous": false, "inputs": [ { + "indexed": true, "internalType": "uint256", - "name": "baseRatePerYear", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "multiplierPerYear", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "kink_", + "name": "newDelay", "type": "uint256" - }, + } + ], + "name": "NewDelay", + "type": "event", + "signature": "0x948b1f6a42ee138b7e34058ba85a37f716d55ff25ff05a763f15bed6a04c8d2c" + }, + { + "anonymous": false, + "inputs": [ { - "internalType": "uint256", - "name": "jump_", - "type": "uint256" + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "name": "NewPendingAdmin", + "type": "event", + "signature": "0x69d78e38a01985fbb1462961809b4b2d65531bc93b2b94037f3334b82ca4a756" }, { "anonymous": false, "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, { "indexed": false, "internalType": "uint256", - "name": "baseRatePerBlock", + "name": "value", "type": "uint256" }, { "indexed": false, - "internalType": "uint256", - "name": "multiplierPerBlock", - "type": "uint256" + "internalType": "string", + "name": "signature", + "type": "string" }, { "indexed": false, - "internalType": "uint256", - "name": "kink", - "type": "uint256" + "internalType": "bytes", + "name": "data", + "type": "bytes" }, { "indexed": false, "internalType": "uint256", - "name": "jump", + "name": "eta", "type": "uint256" } ], - "name": "NewInterestParams", + "name": "QueueTransaction", "type": "event", - "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" + "signature": "0x76e2796dc3a81d57b0e8504b647febcbeeb5f4af818e164f11eef8131a6a763f" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" }, { "constant": true, "inputs": [], - "name": "baseRatePerBlock", + "name": "GRACE_PERIOD", "outputs": [ { "internalType": "uint256", @@ -24338,12 +25530,12 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf14039de" + "signature": "0xc1a287e2" }, { "constant": true, "inputs": [], - "name": "blocksPerYear", + "name": "MAXIMUM_DELAY", "outputs": [ { "internalType": "uint256", @@ -24354,28 +25546,90 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xa385fb96" + "signature": "0x7d645fab" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "MINIMUM_DELAY", + "outputs": [ { "internalType": "uint256", - "name": "cash", + "name": "", "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb1b43ae5" + }, + { + "constant": false, + "inputs": [], + "name": "acceptAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0e18b681" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" }, { "internalType": "uint256", - "name": "borrows", + "name": "value", "type": "uint256" }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, { "internalType": "uint256", - "name": "reserves", + "name": "eta", "type": "uint256" } ], - "name": "getBorrowRate", + "name": "cancelTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x591fcdfe" + }, + { + "constant": true, + "inputs": [], + "name": "delay", "outputs": [ { "internalType": "uint256", @@ -24386,140 +25640,161 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x15f24053" + "signature": "0x6a42b8f8" }, { - "constant": true, + "constant": false, "inputs": [ { - "internalType": "uint256", - "name": "cash", - "type": "uint256" + "internalType": "address", + "name": "target", + "type": "address" }, { "internalType": "uint256", - "name": "borrows", + "name": "value", "type": "uint256" }, { - "internalType": "uint256", - "name": "reserves", - "type": "uint256" + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" }, { "internalType": "uint256", - "name": "reserveFactorMantissa", + "name": "eta", "type": "uint256" } ], - "name": "getSupplyRate", + "name": "executeTransaction", "outputs": [ { - "internalType": "uint256", + "internalType": "bytes", "name": "", - "type": "uint256" + "type": "bytes" } ], - "payable": false, - "stateMutability": "view", + "payable": true, + "stateMutability": "payable", "type": "function", - "signature": "0xb8168816" + "signature": "0x0825f38f" }, { "constant": true, "inputs": [], - "name": "isInterestRateModel", + "name": "pendingAdmin", "outputs": [ { - "internalType": "bool", + "internalType": "address", "name": "", - "type": "bool" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x2191f92a" + "signature": "0x26782247" }, { - "constant": true, - "inputs": [], - "name": "jump", - "outputs": [ + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, { "internalType": "uint256", - "name": "", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8f6c696b" - }, - { - "constant": true, - "inputs": [], - "name": "kink", + "name": "queueTransaction", "outputs": [ { - "internalType": "uint256", + "internalType": "bytes32", "name": "", - "type": "uint256" + "type": "bytes32" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xfd2da339" + "signature": "0x3a66f901" }, { "constant": true, - "inputs": [], - "name": "multiplierPerBlock", + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x8726bb89" + "signature": "0xf2b06537" }, { - "constant": true, + "constant": false, "inputs": [ { "internalType": "uint256", - "name": "cash", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "borrows", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "reserves", + "name": "delay_", "type": "uint256" } ], - "name": "utilizationRate", - "outputs": [ + "name": "setDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe177246e" + }, + { + "constant": false, + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "pendingAdmin_", + "type": "address" } ], + "name": "setPendingAdmin", + "outputs": [], "payable": false, - "stateMutability": "pure", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x6e71e2d8" + "signature": "0x4dd18bf5" } ] } \ No newline at end of file diff --git a/networks/kovan.json b/networks/kovan.json index cd9dee19c..f0fdefd26 100644 --- a/networks/kovan.json +++ b/networks/kovan.json @@ -9,9 +9,10 @@ "DAI": "0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa", "StdComptroller": "0x3Afec0b1Ec510E59A757133059039828640839c7", "Unitroller": "0x1f5D7F3CaAC149fE41b8bd62A3673FE6eC0AB73b", - "cDaiDelegate": "0xBDA28817765E8E2A7266eB6810cb88Ce1778E68A", + "cDaiDelegate": "0x8Dc35D5C60d0A6510FeCCbdA00EA97ae5FD39141", "Comptroller": "0x1f5D7F3CaAC149fE41b8bd62A3673FE6eC0AB73b", "cBAT": "0xd5ff020f970462816fDD31a603Cb7D120E48376E", + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": "0xd49c35Da4F539a6D839Ac3e9E31a36d6EC121aC3", "Base0bps_Slope2000bps": "0x0AfC973Ef2B0Ad9a380ef12080B5a4d334940867", "BAT": "0x9dDB308C14f700d397bB26F584Ac2E303cdc7365", "cErc20Delegate": "0x64DaE45c5bbDB89C6091b69ea82705CD16A85eA7", @@ -19,6 +20,7 @@ "cETH": "0xf92FbE0D3C0dcDAE407923b2Ac17eC223b1084E4", "Base500bps_Slope1200bps": "0xbF4C2e71FaaaCD47D037C93789132D6B7AcB3a3E", "cSAI": "0x63c344BF8651222346DD870be254D4347c9359f7", + "Timelock": "0xCc4b602217bfe4e61bA94534fCdA6E032468d9aC", "Base200bps_Slope3000bps": "0x4051dfb935EAfBEebfC5cEb4FA9EDeBd078D4535", "cREP": "0xFd874BE7e6733bDc6Dca9c7CDd97c225ec235D39", "WBTC": "0xA0A5aD2296b38Bd3e3Eb59AAEAF1589E8d9a29A9", @@ -38,8 +40,9 @@ "cDAI": 14981244, "StdComptroller": 14981224, "Unitroller": 14981220, - "cDaiDelegate": 15090203, + "cDaiDelegate": 15520312, "cBAT": 14981237, + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": 15520477, "Base0bps_Slope2000bps": 14981228, "BAT": 14981232, "cErc20Delegate": 14981243, @@ -47,6 +50,7 @@ "cETH": 14981240, "Base500bps_Slope1200bps": 14981227, "cSAI": 14981238, + "Timelock": 15503568, "Base200bps_Slope3000bps": 14981229, "cREP": 14981239, "WBTC": 14981235, @@ -89,6 +93,11 @@ "description": "Standard Comptroller Impl" } }, + "Timelock": { + "address": "0xCc4b602217bfe4e61bA94534fCdA6E032468d9aC", + "contract": "Timelock", + "description": "Test Timelock" + }, "Constructors": { "ZRX": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000002307800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035a52580000000000000000000000000000000000000000000000000000000000", "cUSDC": "0x00000000000000000000000075b0622cec14130172eae9cf166b92e5c112faff0000000000000000000000001f5d7f3caac149fe41b8bd62a3673fe6ec0ab73b0000000000000000000000000afc973ef2b0ad9a380ef12080b5a4d3349408670000000000000000000000000000000000000000000000000000b5e620f48000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a776184fd6f545dae5f51361dbcc9018549a97490000000000000000000000000000000000000000000000000000000000000016436f6d706f756e642055534420436f696e20f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000056355534443000000000000000000000000000000000000000000000000000000", @@ -100,6 +109,7 @@ "Unitroller": "0x", "cDaiDelegate": "0x", "cBAT": "0x0000000000000000000000009ddb308c14f700d397bb26f584ac2e303cdc73650000000000000000000000001f5d7f3caac149fe41b8bd62a3673fe6ec0ab73b0000000000000000000000004051dfb935eafbeebfc5ceb4fa9edebd078d4535000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a776184fd6f545dae5f51361dbcc9018549a97490000000000000000000000000000000000000000000000000000000000000023436f6d706f756e6420426173696320417474656e74696f6e20546f6b656e20f09f9388000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046342415400000000000000000000000000000000000000000000000000000000", + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": "0x00000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000c7d713b49da0000000000000000000000000000ea190dbdc7adf265260ec4da6e9675fd4f5a78bb000000000000000000000000cbb7718c9f39d05aeede1c472ca8bf804b2f1ead", "Base0bps_Slope2000bps": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c68af0bb140000", "BAT": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000015426173696320417474656e74696f6e20546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000034241540000000000000000000000000000000000000000000000000000000000", "cErc20Delegate": "0x", @@ -107,6 +117,7 @@ "cETH": "0x0000000000000000000000001f5d7f3caac149fe41b8bd62a3673fe6ec0ab73b0000000000000000000000000afc973ef2b0ad9a380ef12080b5a4d334940867000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a776184fd6f545dae5f51361dbcc9018549a97490000000000000000000000000000000000000000000000000000000000000013436f6d706f756e6420457468657220f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046345544800000000000000000000000000000000000000000000000000000000", "Base500bps_Slope1200bps": "0x00000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000001aa535d3d0c0000", "cSAI": "0x000000000000000000000000c4375b7de8af5a38a93548eb8453a498222c4ff20000000000000000000000001f5d7f3caac149fe41b8bd62a3673fe6ec0ab73b000000000000000000000000bf4c2e71faaacd47d037c93789132d6b7acb3a3e000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a776184fd6f545dae5f51361dbcc9018549a97490000000000000000000000000000000000000000000000000000000000000011436f6d706f756e642053414920f09f938800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046353414900000000000000000000000000000000000000000000000000000000", + "Timelock": "0x000000000000000000000000a776184fd6f545dae5f51361dbcc9018549a974900000000000000000000000000000000000000000000000000000000000000b4", "Base200bps_Slope3000bps": "0x00000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000429d069189e0000", "cREP": "0x0000000000000000000000004e5cb5a0caca30d1ad27d8cd8200a907854fb5180000000000000000000000001f5d7f3caac149fe41b8bd62a3673fe6ec0ab73b0000000000000000000000004051dfb935eafbeebfc5ceb4fa9edebd078d4535000000000000000000000000000000000000000000a56fa5b99019a5c8000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000008000000000000000000000000a776184fd6f545dae5f51361dbcc9018549a97490000000000000000000000000000000000000000000000000000000000000013436f6d706f756e6420417567757220f09f93880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046352455000000000000000000000000000000000000000000000000000000000", "WBTC": "0x", @@ -261,7 +272,7 @@ "description": "Standard CErc20 Delegate" }, "cDaiDelegate": { - "address": "0xBDA28817765E8E2A7266eB6810cb88Ce1778E68A", + "address": "0x8Dc35D5C60d0A6510FeCCbdA00EA97ae5FD39141", "contract": "CDaiDelegate", "description": "Standard CDai Delegate" } @@ -382,6 +393,16 @@ "kink": "900000000000000000", "jump": "10", "address": "0xE057EF4be5c6C712e13E24d4408f5F257fEd4d3f" + }, + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": { + "name": "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps", + "contract": "DAIInterestRateModel", + "description": "DAIInterestRateModel jump=1200000000000000000 kink=900000000000000000 pot=0xea190dbdc7adf265260ec4da6e9675fd4f5a78bb jug=0xcbb7718c9f39d05aeede1c472ca8bf804b2f1ead", + "jump": "1200000000000000000", + "kink": "900000000000000000", + "pot": "0xea190dbdc7adf265260ec4da6e9675fd4f5a78bb", + "jug": "0xcbb7718c9f39d05aeede1c472ca8bf804b2f1ead", + "address": "0xd49c35Da4F539a6D839Ac3e9E31a36d6EC121aC3" } } } \ No newline at end of file diff --git a/networks/mainnet-abi.json b/networks/mainnet-abi.json index d409b77f5..df2fad107 100644 --- a/networks/mainnet-abi.json +++ b/networks/mainnet-abi.json @@ -5292,213 +5292,199 @@ "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" } ], - "Comptroller": [ - { - "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" - }, + "cDaiDelegate": [ { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newPendingAdmin", - "type": "address" - } - ], - "name": "_setPendingAdmin", - "outputs": [ + "indexed": false, + "internalType": "uint256", + "name": "cashPrior", + "type": "uint256" + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "interestAccumulated", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xb71d1a0c" - }, - { - "constant": true, - "inputs": [], - "name": "comptrollerImplementation", - "outputs": [ + }, { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xbb82aa5e" - }, - { - "constant": false, - "inputs": [], - "name": "_acceptImplementation", - "outputs": [ + "indexed": false, + "internalType": "uint256", + "name": "borrowIndex", + "type": "uint256" + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xc1e80334" + "name": "AccrueInterest", + "type": "event", + "signature": "0x4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04" }, { - "constant": true, - "inputs": [], - "name": "pendingComptrollerImplementation", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xdcfbc0c7" + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newPendingImplementation", + "indexed": false, + "internalType": "address", + "name": "borrower", "type": "address" - } - ], - "name": "_setPendingImplementation", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "borrowAmount", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe992a041" - }, - { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", - "outputs": [ + }, { - "name": "", + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe9c714f2" - }, - { - "constant": true, - "inputs": [], - "name": "admin", - "outputs": [ + }, { - "name": "", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xf851a440" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldPendingImplementation", - "type": "address" + "internalType": "uint256", + "name": "error", + "type": "uint256" }, { "indexed": false, - "name": "newPendingImplementation", - "type": "address" + "internalType": "uint256", + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "detail", + "type": "uint256" } ], - "name": "NewPendingImplementation", + "name": "Failure", "type": "event", - "signature": "0xe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d815" + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldImplementation", + "internalType": "address", + "name": "liquidator", "type": "address" }, { "indexed": false, - "name": "newImplementation", + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "cTokenCollateral", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "seizeTokens", + "type": "uint256" } ], - "name": "NewImplementation", + "name": "LiquidateBorrow", "type": "event", - "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "oldPendingAdmin", + "internalType": "address", + "name": "minter", "type": "address" }, { "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "mintTokens", + "type": "uint256" } ], - "name": "NewPendingAdmin", + "name": "Mint", "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" }, { "anonymous": false, "inputs": [ { "indexed": false, + "internalType": "address", "name": "oldAdmin", "type": "address" }, { "indexed": false, + "internalType": "address", "name": "newAdmin", "type": "address" } @@ -5512,128 +5498,230 @@ "inputs": [ { "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", - "type": "uint256" + "internalType": "contract ComptrollerInterface", + "name": "oldComptroller", + "type": "address" }, { "indexed": false, - "name": "detail", - "type": "uint256" - } + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } ], - "name": "Failure", + "name": "NewComptroller", "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" }, { - "constant": true, - "inputs": [], - "name": "isComptroller", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "bool" + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x007e3dd2" + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", + "indexed": false, + "internalType": "address", + "name": "oldPendingAdmin", "type": "address" }, { - "name": "payer", + "indexed": false, + "internalType": "address", + "name": "newPendingAdmin", "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "oldReserveFactorMantissa", + "type": "uint256" }, { - "name": "borrower", + "indexed": false, + "internalType": "uint256", + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "redeemer", "type": "address" }, { - "name": "repayAmount", + "indexed": false, + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" }, { - "name": "borrowerIndex", + "indexed": false, + "internalType": "uint256", + "name": "redeemTokens", "type": "uint256" } ], - "name": "repayBorrowVerify", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x1ededc91" + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { + "indexed": false, + "internalType": "address", "name": "payer", "type": "address" }, { + "indexed": false, + "internalType": "address", "name": "borrower", "type": "address" }, { + "indexed": false, + "internalType": "uint256", "name": "repayAmount", "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBorrows", + "type": "uint256" } ], - "name": "repayBorrowAllowed", - "outputs": [ + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "internalType": "address", + "name": "benefactor", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "addAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", "type": "uint256" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x24008a62" + "name": "ReservesAdded", + "type": "event", + "signature": "0xa91e67c5ea634cd43a12c5a482724b03de01e85ca68702a53d0c2f45cb7c1dc5" }, { - "constant": true, - "inputs": [], - "name": "pendingAdmin", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "internalType": "address", + "name": "admin", "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newTotalReserves", + "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x26782247" + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "newCloseFactorMantissa", + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "_setCloseFactor", + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5641,135 +5729,113 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x317b0b77" + "signature": "0xe9c714f2" }, { "constant": false, "inputs": [ { - "name": "unitroller", - "type": "address" - }, - { - "name": "_oracle", - "type": "address" - }, - { - "name": "_closeFactorMantissa", + "internalType": "uint256", + "name": "addAmount", "type": "uint256" - }, + } + ], + "name": "_addReserves", + "outputs": [ { - "name": "_maxAssets", + "internalType": "uint256", + "name": "", "type": "uint256" - }, - { - "name": "reinitializing", - "type": "bool" } ], - "name": "_become", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x32000e00" + "signature": "0x3e941010" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "minter", - "type": "address" - }, - { - "name": "mintAmount", - "type": "uint256" - }, - { - "name": "mintTokens", - "type": "uint256" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], - "name": "mintVerify", + "name": "_becomeImplementation", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x41c728b9" + "signature": "0x56e67728" }, { "constant": false, "inputs": [ { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "repayAmount", + "internalType": "uint256", + "name": "reduceAmount", "type": "uint256" - }, + } + ], + "name": "_reduceReserves", + "outputs": [ { - "name": "seizeTokens", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "liquidateBorrowVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x47ef3b3b" + "signature": "0x601a0bf1" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "liquidationIncentiveMantissa", + "name": "_resignImplementation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x153ab505" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "contract ComptrollerInterface", + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x4ada90af" + "signature": "0x4576b5db" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "minter", + "internalType": "contract InterestRateModel", + "name": "newInterestRateModel", "type": "address" - }, - { - "name": "mintAmount", - "type": "uint256" } ], - "name": "mintAllowed", + "name": "_setInterestRateModel", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5777,19 +5843,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4ef4c3e1" + "signature": "0xf2b3abbd" }, { "constant": false, "inputs": [ { - "name": "newLiquidationIncentiveMantissa", - "type": "uint256" + "internalType": "address payable", + "name": "newPendingAdmin", + "type": "address" } ], - "name": "_setLiquidationIncentive", + "name": "_setPendingAdmin", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5797,46 +5865,53 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x4fd42e17" + "signature": "0xb71d1a0c" }, { "constant": false, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "redeemer", - "type": "address" - }, - { - "name": "redeemAmount", + "internalType": "uint256", + "name": "newReserveFactorMantissa", "type": "uint256" - }, + } + ], + "name": "_setReserveFactor", + "outputs": [ { - "name": "redeemTokens", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "redeemVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x51dff989" + "signature": "0xfca7820b" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ { - "name": "newOracle", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" } ], - "name": "_setPriceOracle", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5844,50 +5919,42 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x55ee1fe1" + "signature": "0xa6afed95" }, { - "constant": false, - "inputs": [ - { - "name": "cToken", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ { - "name": "borrower", + "internalType": "address payable", + "name": "", "type": "address" - }, - { - "name": "borrowAmount", - "type": "uint256" } ], - "name": "borrowVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x5c778605" + "signature": "0xf851a440" }, { "constant": true, "inputs": [ { - "name": "account", + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", "type": "address" } ], - "name": "getAccountLiquidity", + "name": "allowance", "outputs": [ { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -5895,171 +5962,152 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5ec88c79" + "signature": "0xdd62ed3e" }, { "constant": false, "inputs": [ { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", + "internalType": "address", + "name": "spender", "type": "address" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "liquidateBorrowAllowed", + "name": "approve", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x5fc7e71e" + "signature": "0x095ea7b3" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "cToken", - "type": "address" - }, - { - "name": "src", - "type": "address" - }, - { - "name": "dst", + "internalType": "address", + "name": "owner", "type": "address" - }, + } + ], + "name": "balanceOf", + "outputs": [ { - "name": "transferTokens", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "transferVerify", - "outputs": [], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x6a56947e" + "signature": "0x70a08231" }, { "constant": false, "inputs": [ { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", + "internalType": "address", + "name": "owner", "type": "address" - }, + } + ], + "name": "balanceOfUnderlying", + "outputs": [ { - "name": "seizeTokens", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "seizeVerify", - "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x6d35bf91" + "signature": "0x3af9e669" }, { - "constant": true, - "inputs": [], - "name": "oracle", - "outputs": [ - { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", + "outputs": [ + { + "internalType": "uint256", "name": "", - "type": "address" + "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x7dc0d1d0" + "signature": "0xc5ebeaec" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", + "internalType": "address", + "name": "account", "type": "address" } ], - "name": "markets", + "name": "borrowBalanceCurrent", "outputs": [ { - "name": "isListed", - "type": "bool" - }, - { - "name": "collateralFactorMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x8e8f294b" + "signature": "0x17bfdfbc" }, { "constant": true, "inputs": [ { + "internalType": "address", "name": "account", "type": "address" - }, - { - "name": "cToken", - "type": "address" } ], - "name": "checkMembership", + "name": "borrowBalanceStored", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x929fe9a1" + "signature": "0x95dd9193" }, { "constant": true, "inputs": [], - "name": "maxAssets", + "name": "borrowIndex", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6067,86 +6115,79 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x94b2294b" + "signature": "0xaa5af0fd" }, { - "constant": false, - "inputs": [ - { - "name": "cToken", - "type": "address" - } - ], - "name": "_supportMarket", + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xa76b3fda" + "signature": "0xf8f9da28" }, { "constant": true, - "inputs": [ + "inputs": [], + "name": "comptroller", + "outputs": [ { - "name": "account", + "internalType": "contract ComptrollerInterface", + "name": "", "type": "address" } ], - "name": "getAssetsIn", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5fe3b567" + }, + { + "constant": true, + "inputs": [], + "name": "daiJoinAddress", "outputs": [ { + "internalType": "address", "name": "", - "type": "address[]" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xabfceffc" + "signature": "0x8a8df2e6" }, { "constant": true, "inputs": [], - "name": "comptrollerImplementation", + "name": "decimals", "outputs": [ { + "internalType": "uint8", "name": "", - "type": "address" + "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xbb82aa5e" + "signature": "0x313ce567" }, { "constant": false, - "inputs": [ - { - "name": "cToken", - "type": "address" - }, - { - "name": "src", - "type": "address" - }, - { - "name": "dst", - "type": "address" - }, - { - "name": "transferTokens", - "type": "uint256" - } - ], - "name": "transferAllowed", + "inputs": [], + "name": "exchangeRateCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6154,51 +6195,52 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbdcdc258" + "signature": "0xbd6d894d" }, { - "constant": false, - "inputs": [ - { - "name": "cTokens", - "type": "address[]" - } - ], - "name": "enterMarkets", + "constant": true, + "inputs": [], + "name": "exchangeRateStored", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "uint256[]" + "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xc2998238" + "signature": "0x182df0f5" }, { "constant": true, "inputs": [ { - "name": "cTokenBorrowed", + "internalType": "address", + "name": "account", "type": "address" - }, + } + ], + "name": "getAccountSnapshot", + "outputs": [ { - "name": "cTokenCollateral", - "type": "address" + "internalType": "uint256", + "name": "", + "type": "uint256" }, { - "name": "repayAmount", + "internalType": "uint256", + "name": "", "type": "uint256" - } - ], - "name": "liquidateCalculateSeizeTokens", - "outputs": [ + }, { + "internalType": "uint256", "name": "", "type": "uint256" }, { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6206,122 +6248,134 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xc488847b" + "signature": "0xc37f68e2" }, { - "constant": false, - "inputs": [ - { - "name": "cTokenCollateral", - "type": "address" - }, - { - "name": "cTokenBorrowed", - "type": "address" - }, - { - "name": "liquidator", - "type": "address" - }, - { - "name": "borrower", - "type": "address" - }, - { - "name": "seizeTokens", - "type": "uint256" - } - ], - "name": "seizeAllowed", + "constant": true, + "inputs": [], + "name": "getCash", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xd02f7351" + "signature": "0x3b1d21a2" }, { - "constant": false, - "inputs": [ - { - "name": "newMaxAssets", - "type": "uint256" - } - ], - "name": "_setMaxAssets", + "constant": true, + "inputs": [], + "name": "implementation", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xd9226ced" + "signature": "0x5c60da1b" }, { "constant": false, "inputs": [ { - "name": "cToken", + "internalType": "address", + "name": "underlying_", "type": "address" }, { - "name": "borrower", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "name": "borrowAmount", - "type": "uint256" - } - ], - "name": "borrowAllowed", - "outputs": [ + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, { - "name": "", + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xda3d454c" + "signature": "0x1a31d465" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "", + "internalType": "contract ComptrollerInterface", + "name": "comptroller_", "type": "address" }, { - "name": "", + "internalType": "contract InterestRateModel", + "name": "interestRateModel_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "initialExchangeRateMantissa_", "type": "uint256" - } - ], - "name": "accountAssets", - "outputs": [ + }, { - "name": "", - "type": "address" + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" } ], + "name": "initialize", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdce15449" + "signature": "0x99d8c1b4" }, { "constant": true, "inputs": [], - "name": "pendingComptrollerImplementation", + "name": "interestRateModel", "outputs": [ { + "internalType": "contract InterestRateModel", "name": "", "type": "address" } @@ -6329,66 +6383,47 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xdcfbc0c7" - }, - { - "constant": false, - "inputs": [ - { - "name": "cToken", - "type": "address" - }, - { - "name": "newCollateralFactorMantissa", - "type": "uint256" - } - ], - "name": "_setCollateralFactor", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xe4028eee" + "signature": "0xf3fdb15a" }, { "constant": true, "inputs": [], - "name": "closeFactorMantissa", + "name": "isCToken", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xe8755446" + "signature": "0xfe9c44ae" }, { "constant": false, "inputs": [ { - "name": "cToken", + "internalType": "address", + "name": "borrower", "type": "address" }, { - "name": "redeemer", - "type": "address" + "internalType": "uint256", + "name": "repayAmount", + "type": "uint256" }, { - "name": "redeemTokens", - "type": "uint256" + "internalType": "contract CTokenInterface", + "name": "cTokenCollateral", + "type": "address" } ], - "name": "redeemAllowed", + "name": "liquidateBorrow", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6396,19 +6431,21 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xeabe7d91" + "signature": "0xf5e3c462" }, { "constant": false, "inputs": [ { - "name": "cTokenAddress", - "type": "address" + "internalType": "uint256", + "name": "mintAmount", + "type": "uint256" } ], - "name": "exitMarket", + "name": "mint", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6416,264 +6453,236 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xede4edd0" + "signature": "0xa0712d68" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "name", "outputs": [ { + "internalType": "string", "name": "", - "type": "address" + "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x06fdde03" }, { + "constant": true, "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "anonymous": false, - "inputs": [ + "name": "pendingAdmin", + "outputs": [ { - "indexed": false, - "name": "cToken", + "internalType": "address payable", + "name": "", "type": "address" } ], - "name": "MarketListed", - "type": "event", - "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "cToken", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "potAddress", + "outputs": [ { - "indexed": false, - "name": "account", + "internalType": "address", + "name": "", "type": "address" } ], - "name": "MarketEntered", - "type": "event", - "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x66ced602" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "cToken", - "type": "address" - }, - { - "indexed": false, - "name": "account", - "type": "address" + "internalType": "uint256", + "name": "redeemTokens", + "type": "uint256" } ], - "name": "MarketExited", - "type": "event", - "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldCloseFactorMantissa", - "type": "uint256" - }, + "name": "redeem", + "outputs": [ { - "indexed": false, - "name": "newCloseFactorMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "NewCloseFactor", - "type": "event", - "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xdb006a75" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "cToken", - "type": "address" - }, - { - "indexed": false, - "name": "oldCollateralFactorMantissa", + "internalType": "uint256", + "name": "redeemAmount", "type": "uint256" - }, + } + ], + "name": "redeemUnderlying", + "outputs": [ { - "indexed": false, - "name": "newCollateralFactorMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "NewCollateralFactor", - "type": "event", - "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x852a12e3" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldLiquidationIncentiveMantissa", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" - }, + } + ], + "name": "repayBorrow", + "outputs": [ { - "indexed": false, - "name": "newLiquidationIncentiveMantissa", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "NewLiquidationIncentive", - "type": "event", - "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0e752702" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldMaxAssets", - "type": "uint256" + "internalType": "address", + "name": "borrower", + "type": "address" }, { - "indexed": false, - "name": "newMaxAssets", + "internalType": "uint256", + "name": "repayAmount", "type": "uint256" } ], - "name": "NewMaxAssets", - "type": "event", - "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" - }, - { - "anonymous": false, - "inputs": [ + "name": "repayBorrowBehalf", + "outputs": [ { - "indexed": false, - "name": "oldPriceOracle", - "type": "address" - }, - { - "indexed": false, - "name": "newPriceOracle", - "type": "address" - } - ], - "name": "NewPriceOracle", - "type": "event", - "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", - "type": "uint256" - }, - { - "indexed": false, - "name": "detail", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" - } - ], - "cBAT": [ + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2608f818" + }, { "constant": true, "inputs": [], - "name": "name", + "name": "reserveFactorMantissa", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "string" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x06fdde03" + "signature": "0x173b9904" }, { "constant": false, "inputs": [ { - "name": "spender", + "internalType": "address", + "name": "liquidator", "type": "address" }, { - "name": "amount", + "internalType": "address", + "name": "borrower", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seizeTokens", "type": "uint256" } ], - "name": "approve", + "name": "seize", "outputs": [ { + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x095ea7b3" + "signature": "0xb2a02ff1" }, { - "constant": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", + "outputs": [ { - "name": "repayAmount", + "internalType": "uint256", + "name": "", "type": "uint256" } ], - "name": "repayBorrow", + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xae9d70b0" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", "outputs": [ { + "internalType": "string", "name": "", - "type": "uint256" + "type": "string" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0x0e752702" + "signature": "0x95d89b41" }, { "constant": true, "inputs": [], - "name": "reserveFactorMantissa", + "name": "totalBorrows", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6681,19 +6690,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x173b9904" + "signature": "0x47bd3718" }, { "constant": false, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "borrowBalanceCurrent", + "inputs": [], + "name": "totalBorrowsCurrent", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6701,14 +6706,15 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x17bfdfbc" + "signature": "0x73acee98" }, { "constant": true, "inputs": [], - "name": "totalSupply", + "name": "totalReserves", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6716,14 +6722,15 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x18160ddd" + "signature": "0x8f840ddd" }, { "constant": true, "inputs": [], - "name": "exchangeRateStored", + "name": "totalSupply", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" } @@ -6731,27 +6738,26 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x182df0f5" + "signature": "0x18160ddd" }, { "constant": false, "inputs": [ { - "name": "src", - "type": "address" - }, - { + "internalType": "address", "name": "dst", "type": "address" }, { + "internalType": "uint256", "name": "amount", "type": "uint256" } ], - "name": "transferFrom", + "name": "transfer", "outputs": [ { + "internalType": "bool", "name": "", "type": "bool" } @@ -6759,38 +6765,47 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x23b872dd" + "signature": "0xa9059cbb" }, { "constant": false, "inputs": [ { - "name": "borrower", + "internalType": "address", + "name": "src", "type": "address" }, { - "name": "repayAmount", + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", "type": "uint256" } ], - "name": "repayBorrowBehalf", + "name": "transferFrom", "outputs": [ { + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x2608f818" + "signature": "0x23b872dd" }, { "constant": true, "inputs": [], - "name": "pendingAdmin", + "name": "underlying", "outputs": [ { + "internalType": "address", "name": "", "type": "address" } @@ -6798,32 +6813,50 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x26782247" + "signature": "0x6f307dc3" }, { "constant": true, "inputs": [], - "name": "decimals", + "name": "vatAddress", "outputs": [ { + "internalType": "address", "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x313ce567" + "signature": "0x8d925ccd" + } + ], + "Comptroller": [ + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" }, { "constant": false, "inputs": [ { - "name": "owner", + "name": "newPendingAdmin", "type": "address" } ], - "name": "balanceOfUnderlying", + "name": "_setPendingAdmin", "outputs": [ { "name": "", @@ -6833,47 +6866,27 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x3af9e669" + "signature": "0xb71d1a0c" }, { "constant": true, "inputs": [], - "name": "getCash", + "name": "comptrollerImplementation", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x3b1d21a2" + "signature": "0xbb82aa5e" }, { "constant": false, - "inputs": [ - { - "name": "newComptroller", - "type": "address" - } - ], - "name": "_setComptroller", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x4576b5db" - }, - { - "constant": true, "inputs": [], - "name": "totalBorrows", + "name": "_acceptImplementation", "outputs": [ { "name": "", @@ -6881,14 +6894,14 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x47bd3718" + "signature": "0xc1e80334" }, { "constant": true, "inputs": [], - "name": "comptroller", + "name": "pendingComptrollerImplementation", "outputs": [ { "name": "", @@ -6898,17 +6911,17 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x5fe3b567" + "signature": "0xdcfbc0c7" }, { "constant": false, "inputs": [ { - "name": "reduceAmount", - "type": "uint256" + "name": "newPendingImplementation", + "type": "address" } ], - "name": "_reduceReserves", + "name": "_setPendingImplementation", "outputs": [ { "name": "", @@ -6918,12 +6931,12 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0x601a0bf1" + "signature": "0xe992a041" }, { - "constant": true, + "constant": false, "inputs": [], - "name": "initialExchangeRateMantissa", + "name": "_acceptAdmin", "outputs": [ { "name": "", @@ -6931,223 +6944,234 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0x675d972c" + "signature": "0xe9c714f2" }, { "constant": true, "inputs": [], - "name": "accrualBlockNumber", + "name": "admin", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x6c540baf" + "signature": "0xf851a440" }, { - "constant": true, "inputs": [], - "name": "underlying", - "outputs": [ - { - "name": "", - "type": "address" - } - ], "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x6f307dc3" + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": true, - "inputs": [ + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ { - "name": "owner", + "indexed": false, + "name": "oldPendingImplementation", "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ + }, { - "name": "", - "type": "uint256" + "indexed": false, + "name": "newPendingImplementation", + "type": "address" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x70a08231" + "name": "NewPendingImplementation", + "type": "event", + "signature": "0xe945ccee5d701fc83f9b8aa8ca94ea4219ec1fcbd4f4cab4f0ea57c5c3e1d815" }, { - "constant": false, - "inputs": [], - "name": "totalBorrowsCurrent", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "oldImplementation", + "type": "address" + }, + { + "indexed": false, + "name": "newImplementation", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x73acee98" + "name": "NewImplementation", + "type": "event", + "signature": "0xd604de94d45953f9138079ec1b82d533cb2160c906d1076d1f7ed54befbca97a" }, { - "constant": false, + "anonymous": false, "inputs": [ { - "name": "redeemAmount", - "type": "uint256" + "indexed": false, + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newPendingAdmin", + "type": "address" } ], - "name": "redeemUnderlying", - "outputs": [ + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", - "type": "uint256" + "indexed": false, + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newAdmin", + "type": "address" } ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x852a12e3" + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" }, { - "constant": true, - "inputs": [], - "name": "totalReserves", - "outputs": [ + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "name": "detail", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8f840ddd" + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" }, { "constant": true, "inputs": [], - "name": "symbol", + "name": "isComptroller", "outputs": [ { "name": "", - "type": "string" + "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0x95d89b41" + "signature": "0x007e3dd2" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "account", + "name": "cToken", "type": "address" - } - ], - "name": "borrowBalanceStored", - "outputs": [ + }, { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x95dd9193" - }, - { - "constant": false, - "inputs": [ + "name": "payer", + "type": "address" + }, { - "name": "mintAmount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ + "name": "borrower", + "type": "address" + }, { - "name": "", + "name": "repayAmount", "type": "uint256" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xa0712d68" - }, - { - "constant": false, - "inputs": [], - "name": "accrueInterest", - "outputs": [ + }, { - "name": "", + "name": "borrowerIndex", "type": "uint256" } ], + "name": "repayBorrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa6afed95" + "signature": "0x1ededc91" }, { "constant": false, "inputs": [ { - "name": "dst", + "name": "cToken", "type": "address" }, { - "name": "amount", + "name": "payer", + "type": "address" + }, + { + "name": "borrower", + "type": "address" + }, + { + "name": "repayAmount", "type": "uint256" } ], - "name": "transfer", + "name": "repayBorrowAllowed", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xa9059cbb" + "signature": "0x24008a62" }, { "constant": true, "inputs": [], - "name": "borrowIndex", + "name": "pendingAdmin", "outputs": [ { "name": "", - "type": "uint256" + "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xaa5af0fd" + "signature": "0x26782247" }, { - "constant": true, - "inputs": [], - "name": "supplyRatePerBlock", + "constant": false, + "inputs": [ + { + "name": "newCloseFactorMantissa", + "type": "uint256" + } + ], + "name": "_setCloseFactor", "outputs": [ { "name": "", @@ -7155,114 +7179,155 @@ } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xae9d70b0" + "signature": "0x317b0b77" }, { "constant": false, "inputs": [ { - "name": "liquidator", + "name": "unitroller", "type": "address" }, { - "name": "borrower", + "name": "_oracle", "type": "address" }, { - "name": "seizeTokens", + "name": "_closeFactorMantissa", "type": "uint256" - } - ], - "name": "seize", - "outputs": [ + }, { - "name": "", + "name": "_maxAssets", "type": "uint256" + }, + { + "name": "reinitializing", + "type": "bool" } ], + "name": "_become", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb2a02ff1" + "signature": "0x32000e00" }, { "constant": false, "inputs": [ { - "name": "newPendingAdmin", + "name": "cToken", "type": "address" - } - ], - "name": "_setPendingAdmin", - "outputs": [ + }, { - "name": "", + "name": "minter", + "type": "address" + }, + { + "name": "mintAmount", + "type": "uint256" + }, + { + "name": "mintTokens", "type": "uint256" } ], + "name": "mintVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xb71d1a0c" + "signature": "0x41c728b9" }, { "constant": false, - "inputs": [], - "name": "exchangeRateCurrent", - "outputs": [ + "inputs": [ { - "name": "", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "name": "cTokenCollateral", + "type": "address" + }, + { + "name": "liquidator", + "type": "address" + }, + { + "name": "borrower", + "type": "address" + }, + { + "name": "repayAmount", + "type": "uint256" + }, + { + "name": "seizeTokens", "type": "uint256" } ], + "name": "liquidateBorrowVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xbd6d894d" + "signature": "0x47ef3b3b" }, { "constant": true, - "inputs": [ - { - "name": "account", - "type": "address" - } - ], - "name": "getAccountSnapshot", + "inputs": [], + "name": "liquidationIncentiveMantissa", "outputs": [ { "name": "", "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x4ada90af" + }, + { + "constant": false, + "inputs": [ + { + "name": "cToken", + "type": "address" }, { - "name": "", - "type": "uint256" + "name": "minter", + "type": "address" }, { - "name": "", + "name": "mintAmount", "type": "uint256" - }, + } + ], + "name": "mintAllowed", + "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xc37f68e2" + "signature": "0x4ef4c3e1" }, { "constant": false, "inputs": [ { - "name": "borrowAmount", + "name": "newLiquidationIncentiveMantissa", "type": "uint256" } ], - "name": "borrow", + "name": "_setLiquidationIncentive", "outputs": [ { "name": "", @@ -7272,17 +7337,44 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xc5ebeaec" + "signature": "0x4fd42e17" }, { "constant": false, "inputs": [ + { + "name": "cToken", + "type": "address" + }, + { + "name": "redeemer", + "type": "address" + }, + { + "name": "redeemAmount", + "type": "uint256" + }, { "name": "redeemTokens", "type": "uint256" } ], - "name": "redeem", + "name": "redeemVerify", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x51dff989" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOracle", + "type": "address" + } + ], + "name": "_setPriceOracle", "outputs": [ { "name": "", @@ -7292,56 +7384,84 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xdb006a75" + "signature": "0x55ee1fe1" }, { - "constant": true, + "constant": false, "inputs": [ { - "name": "owner", + "name": "cToken", "type": "address" }, { - "name": "spender", + "name": "borrower", "type": "address" - } - ], - "name": "allowance", - "outputs": [ + }, { - "name": "", + "name": "borrowAmount", "type": "uint256" } ], + "name": "borrowVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xdd62ed3e" + "signature": "0x5c778605" }, { - "constant": false, - "inputs": [], - "name": "_acceptAdmin", + "constant": true, + "inputs": [ + { + "name": "account", + "type": "address" + } + ], + "name": "getAccountLiquidity", "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + }, { "name": "", "type": "uint256" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xe9c714f2" + "signature": "0x5ec88c79" }, { "constant": false, "inputs": [ { - "name": "newInterestRateModel", + "name": "cTokenBorrowed", + "type": "address" + }, + { + "name": "cTokenCollateral", + "type": "address" + }, + { + "name": "liquidator", + "type": "address" + }, + { + "name": "borrower", "type": "address" + }, + { + "name": "repayAmount", + "type": "uint256" } ], - "name": "_setInterestRateModel", + "name": "liquidateBorrowAllowed", "outputs": [ { "name": "", @@ -7351,55 +7471,70 @@ "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf2b3abbd" + "signature": "0x5fc7e71e" }, { - "constant": true, - "inputs": [], - "name": "interestRateModel", - "outputs": [ + "constant": false, + "inputs": [ { - "name": "", + "name": "cToken", + "type": "address" + }, + { + "name": "src", + "type": "address" + }, + { + "name": "dst", "type": "address" + }, + { + "name": "transferTokens", + "type": "uint256" } ], + "name": "transferVerify", + "outputs": [], "payable": false, - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function", - "signature": "0xf3fdb15a" + "signature": "0x6a56947e" }, { "constant": false, "inputs": [ { - "name": "borrower", + "name": "cTokenCollateral", "type": "address" }, { - "name": "repayAmount", - "type": "uint256" + "name": "cTokenBorrowed", + "type": "address" }, { - "name": "cTokenCollateral", + "name": "liquidator", "type": "address" - } - ], - "name": "liquidateBorrow", - "outputs": [ + }, { - "name": "", + "name": "borrower", + "type": "address" + }, + { + "name": "seizeTokens", "type": "uint256" } ], + "name": "seizeVerify", + "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function", - "signature": "0xf5e3c462" + "signature": "0x6d35bf91" }, { "constant": true, "inputs": [], - "name": "admin", + "name": "oracle", "outputs": [ { "name": "", @@ -7409,524 +7544,2246 @@ "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf851a440" + "signature": "0x7dc0d1d0" }, { "constant": true, - "inputs": [], - "name": "borrowRatePerBlock", - "outputs": [ + "inputs": [ { "name": "", + "type": "address" + } + ], + "name": "markets", + "outputs": [ + { + "name": "isListed", + "type": "bool" + }, + { + "name": "collateralFactorMantissa", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xf8f9da28" + "signature": "0x8e8f294b" }, { - "constant": false, + "constant": true, "inputs": [ { - "name": "newReserveFactorMantissa", - "type": "uint256" + "name": "account", + "type": "address" + }, + { + "name": "cToken", + "type": "address" } ], - "name": "_setReserveFactor", + "name": "checkMembership", "outputs": [ { "name": "", - "type": "uint256" + "type": "bool" } ], "payable": false, - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function", - "signature": "0xfca7820b" + "signature": "0x929fe9a1" }, { "constant": true, "inputs": [], - "name": "isCToken", + "name": "maxAssets", "outputs": [ { "name": "", - "type": "bool" + "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function", - "signature": "0xfe9c44ae" + "signature": "0x94b2294b" }, { + "constant": false, "inputs": [ { - "name": "underlying_", - "type": "address" - }, - { - "name": "comptroller_", - "type": "address" - }, - { - "name": "interestRateModel_", + "name": "cToken", "type": "address" - }, - { - "name": "initialExchangeRateMantissa_", - "type": "uint256" - }, - { - "name": "name_", - "type": "string" - }, - { - "name": "symbol_", - "type": "string" - }, + } + ], + "name": "_supportMarket", + "outputs": [ { - "name": "decimals_", + "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" + "type": "function", + "signature": "0xa76b3fda" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "interestAccumulated", - "type": "uint256" - }, - { - "indexed": false, - "name": "borrowIndex", - "type": "uint256" - }, + "name": "account", + "type": "address" + } + ], + "name": "getAssetsIn", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "name": "", + "type": "address[]" } ], - "name": "AccrueInterest", - "type": "event", - "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xabfceffc" }, { - "anonymous": false, - "inputs": [ + "constant": true, + "inputs": [], + "name": "comptrollerImplementation", + "outputs": [ { - "indexed": false, - "name": "minter", + "name": "", "type": "address" - }, - { - "indexed": false, - "name": "mintAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "mintTokens", - "type": "uint256" } ], - "name": "Mint", - "type": "event", - "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xbb82aa5e" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "redeemer", + "name": "cToken", "type": "address" }, { - "indexed": false, - "name": "redeemAmount", - "type": "uint256" + "name": "src", + "type": "address" }, { - "indexed": false, - "name": "redeemTokens", + "name": "dst", + "type": "address" + }, + { + "name": "transferTokens", "type": "uint256" } ], - "name": "Redeem", - "type": "event", - "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + "name": "transferAllowed", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbdcdc258" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "borrower", - "type": "address" - }, - { - "indexed": false, - "name": "borrowAmount", - "type": "uint256" - }, - { - "indexed": false, - "name": "accountBorrows", - "type": "uint256" - }, + "name": "cTokens", + "type": "address[]" + } + ], + "name": "enterMarkets", + "outputs": [ { - "indexed": false, - "name": "totalBorrows", - "type": "uint256" + "name": "", + "type": "uint256[]" } ], - "name": "Borrow", - "type": "event", - "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc2998238" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "payer", + "name": "cTokenBorrowed", "type": "address" }, { - "indexed": false, - "name": "borrower", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": false, "name": "repayAmount", "type": "uint256" - }, + } + ], + "name": "liquidateCalculateSeizeTokens", + "outputs": [ { - "indexed": false, - "name": "accountBorrows", + "name": "", "type": "uint256" }, { - "indexed": false, - "name": "totalBorrows", + "name": "", "type": "uint256" } ], - "name": "RepayBorrow", - "type": "event", - "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc488847b" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "liquidator", + "name": "cTokenCollateral", "type": "address" }, { - "indexed": false, - "name": "borrower", + "name": "cTokenBorrowed", "type": "address" }, { - "indexed": false, - "name": "repayAmount", - "type": "uint256" + "name": "liquidator", + "type": "address" }, { - "indexed": false, - "name": "cTokenCollateral", + "name": "borrower", "type": "address" }, { - "indexed": false, "name": "seizeTokens", "type": "uint256" } ], - "name": "LiquidateBorrow", - "type": "event", - "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + "name": "seizeAllowed", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd02f7351" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldPendingAdmin", - "type": "address" - }, + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "_setMaxAssets", + "outputs": [ { - "indexed": false, - "name": "newPendingAdmin", - "type": "address" + "name": "", + "type": "uint256" } ], - "name": "NewPendingAdmin", - "type": "event", - "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xd9226ced" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldAdmin", + "name": "cToken", "type": "address" }, { - "indexed": false, - "name": "newAdmin", + "name": "borrower", "type": "address" + }, + { + "name": "borrowAmount", + "type": "uint256" } ], - "name": "NewAdmin", - "type": "event", - "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + "name": "borrowAllowed", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xda3d454c" }, { - "anonymous": false, + "constant": true, "inputs": [ { - "indexed": false, - "name": "oldComptroller", + "name": "", "type": "address" }, { - "indexed": false, - "name": "newComptroller", + "name": "", + "type": "uint256" + } + ], + "name": "accountAssets", + "outputs": [ + { + "name": "", "type": "address" } ], - "name": "NewComptroller", - "type": "event", - "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdce15449" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "name": "oldInterestRateModel", - "type": "address" - }, + "constant": true, + "inputs": [], + "name": "pendingComptrollerImplementation", + "outputs": [ { - "indexed": false, - "name": "newInterestRateModel", + "name": "", "type": "address" } ], - "name": "NewMarketInterestRateModel", - "type": "event", - "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdcfbc0c7" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "oldReserveFactorMantissa", - "type": "uint256" + "name": "cToken", + "type": "address" }, { - "indexed": false, - "name": "newReserveFactorMantissa", + "name": "newCollateralFactorMantissa", "type": "uint256" } ], - "name": "NewReserveFactor", - "type": "event", - "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + "name": "_setCollateralFactor", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe4028eee" }, { - "anonymous": false, + "constant": true, + "inputs": [], + "name": "closeFactorMantissa", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xe8755446" + }, + { + "constant": false, "inputs": [ { - "indexed": false, - "name": "admin", + "name": "cToken", "type": "address" }, { - "indexed": false, - "name": "reduceAmount", - "type": "uint256" + "name": "redeemer", + "type": "address" }, { - "indexed": false, - "name": "newTotalReserves", + "name": "redeemTokens", "type": "uint256" } ], - "name": "ReservesReduced", - "type": "event", - "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + "name": "redeemAllowed", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xeabe7d91" }, { - "anonymous": false, + "constant": false, "inputs": [ { - "indexed": false, - "name": "error", - "type": "uint256" - }, + "name": "cTokenAddress", + "type": "address" + } + ], + "name": "exitMarket", + "outputs": [ { - "indexed": false, - "name": "info", + "name": "", "type": "uint256" - }, + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xede4edd0" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ { - "indexed": false, - "name": "detail", - "type": "uint256" + "name": "", + "type": "address" } ], - "name": "Failure", - "type": "event", - "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "from", + "indexed": false, + "name": "cToken", "type": "address" - }, + } + ], + "name": "MarketListed", + "type": "event", + "signature": "0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f" + }, + { + "anonymous": false, + "inputs": [ { - "indexed": true, - "name": "to", + "indexed": false, + "name": "cToken", "type": "address" }, { "indexed": false, - "name": "amount", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "Transfer", + "name": "MarketEntered", "type": "event", - "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + "signature": "0x3ab23ab0d51cccc0c3085aec51f99228625aa1a922b3a8ca89a26b0f2027a1a5" }, { "anonymous": false, "inputs": [ { - "indexed": true, - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "name": "spender", + "indexed": false, + "name": "cToken", "type": "address" }, { "indexed": false, - "name": "amount", - "type": "uint256" + "name": "account", + "type": "address" } ], - "name": "Approval", + "name": "MarketExited", "type": "event", - "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" - } - ], - "StableCoinInterestRateModel": [ + "signature": "0xe699a64c18b07ac5b7301aa273f36a2287239eb9501d81950672794afba29a0d" + }, { "anonymous": false, "inputs": [ { "indexed": false, - "name": "error", - "type": "uint256" - }, - { - "indexed": false, - "name": "info", + "name": "oldCloseFactorMantissa", "type": "uint256" }, { "indexed": false, - "name": "detail", + "name": "newCloseFactorMantissa", "type": "uint256" } ], - "name": "Failure", - "type": "event" + "name": "NewCloseFactor", + "type": "event", + "signature": "0x3b9670cf975d26958e754b57098eaa2ac914d8d2a31b83257997b9f346110fd9" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "_asset", + "indexed": false, + "name": "cToken", "type": "address" }, { - "name": "cash", + "indexed": false, + "name": "oldCollateralFactorMantissa", "type": "uint256" }, { - "name": "borrows", + "indexed": false, + "name": "newCollateralFactorMantissa", "type": "uint256" } ], - "name": "getSupplyRate", - "outputs": [ + "name": "NewCollateralFactor", + "type": "event", + "signature": "0x70483e6592cd5182d45ac970e05bc62cdcc90e9d8ef2c2dbe686cf383bcd7fc5" + }, + { + "anonymous": false, + "inputs": [ { - "name": "", + "indexed": false, + "name": "oldLiquidationIncentiveMantissa", "type": "uint256" }, { - "name": "", + "indexed": false, + "name": "newLiquidationIncentiveMantissa", "type": "uint256" } ], - "payable": false, - "stateMutability": "view", + "name": "NewLiquidationIncentive", + "type": "event", + "signature": "0xaeba5a6c40a8ac138134bff1aaa65debf25971188a58804bad717f82f0ec1316" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldMaxAssets", + "type": "uint256" + }, + { + "indexed": false, + "name": "newMaxAssets", + "type": "uint256" + } + ], + "name": "NewMaxAssets", + "type": "event", + "signature": "0x7093cf1eb653f749c3ff531d6df7f92764536a7fa0d13530cd26e070780c32ea" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldPriceOracle", + "type": "address" + }, + { + "indexed": false, + "name": "newPriceOracle", + "type": "address" + } + ], + "name": "NewPriceOracle", + "type": "event", + "signature": "0xd52b2b9b7e9ee655fcb95d2e5b9e0c9f69e7ef2b8e9d2d0ea78402d576d22e22" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + } + ], + "cBAT": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x06fdde03" + }, + { + "constant": false, + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x095ea7b3" + }, + { + "constant": false, + "inputs": [ + { + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrow", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x0e752702" + }, + { + "constant": true, + "inputs": [], + "name": "reserveFactorMantissa", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x173b9904" + }, + { + "constant": false, + "inputs": [ + { + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceCurrent", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x17bfdfbc" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x18160ddd" + }, + { + "constant": true, + "inputs": [], + "name": "exchangeRateStored", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x182df0f5" + }, + { + "constant": false, + "inputs": [ + { + "name": "src", + "type": "address" + }, + { + "name": "dst", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x23b872dd" + }, + { + "constant": false, + "inputs": [ + { + "name": "borrower", + "type": "address" + }, + { + "name": "repayAmount", + "type": "uint256" + } + ], + "name": "repayBorrowBehalf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x2608f818" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x26782247" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x313ce567" + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "balanceOfUnderlying", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x3af9e669" + }, + { + "constant": true, + "inputs": [], + "name": "getCash", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x3b1d21a2" + }, + { + "constant": false, + "inputs": [ + { + "name": "newComptroller", + "type": "address" + } + ], + "name": "_setComptroller", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x4576b5db" + }, + { + "constant": true, + "inputs": [], + "name": "totalBorrows", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x47bd3718" + }, + { + "constant": true, + "inputs": [], + "name": "comptroller", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x5fe3b567" + }, + { + "constant": false, + "inputs": [ + { + "name": "reduceAmount", + "type": "uint256" + } + ], + "name": "_reduceReserves", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x601a0bf1" + }, + { + "constant": true, + "inputs": [], + "name": "initialExchangeRateMantissa", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x675d972c" + }, + { + "constant": true, + "inputs": [], + "name": "accrualBlockNumber", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6c540baf" + }, + { + "constant": true, + "inputs": [], + "name": "underlying", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6f307dc3" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x70a08231" + }, + { + "constant": false, + "inputs": [], + "name": "totalBorrowsCurrent", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x73acee98" + }, + { + "constant": false, + "inputs": [ + { + "name": "redeemAmount", + "type": "uint256" + } + ], + "name": "redeemUnderlying", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x852a12e3" + }, + { + "constant": true, + "inputs": [], + "name": "totalReserves", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8f840ddd" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95d89b41" + }, + { + "constant": true, + "inputs": [ + { + "name": "account", + "type": "address" + } + ], + "name": "borrowBalanceStored", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x95dd9193" + }, + { + "constant": false, + "inputs": [ + { + "name": "mintAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa0712d68" + }, + { + "constant": false, + "inputs": [], + "name": "accrueInterest", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa6afed95" + }, + { + "constant": false, + "inputs": [ + { + "name": "dst", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xa9059cbb" + }, + { + "constant": true, + "inputs": [], + "name": "borrowIndex", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xaa5af0fd" + }, + { + "constant": true, + "inputs": [], + "name": "supplyRatePerBlock", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xae9d70b0" + }, + { + "constant": false, + "inputs": [ + { + "name": "liquidator", + "type": "address" + }, + { + "name": "borrower", + "type": "address" + }, + { + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "seize", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb2a02ff1" + }, + { + "constant": false, + "inputs": [ + { + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "_setPendingAdmin", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xb71d1a0c" + }, + { + "constant": false, + "inputs": [], + "name": "exchangeRateCurrent", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xbd6d894d" + }, + { + "constant": true, + "inputs": [ + { + "name": "account", + "type": "address" + } + ], + "name": "getAccountSnapshot", + "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xc37f68e2" + }, + { + "constant": false, + "inputs": [ + { + "name": "borrowAmount", + "type": "uint256" + } + ], + "name": "borrow", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xc5ebeaec" + }, + { + "constant": false, + "inputs": [ + { + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xdb006a75" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xdd62ed3e" + }, + { + "constant": false, + "inputs": [], + "name": "_acceptAdmin", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xe9c714f2" + }, + { + "constant": false, + "inputs": [ + { + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "_setInterestRateModel", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf2b3abbd" + }, + { + "constant": true, + "inputs": [], + "name": "interestRateModel", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf3fdb15a" + }, + { + "constant": false, + "inputs": [ + { + "name": "borrower", + "type": "address" + }, + { + "name": "repayAmount", + "type": "uint256" + }, + { + "name": "cTokenCollateral", + "type": "address" + } + ], + "name": "liquidateBorrow", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xf5e3c462" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf851a440" + }, + { + "constant": true, + "inputs": [], + "name": "borrowRatePerBlock", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf8f9da28" + }, + { + "constant": false, + "inputs": [ + { + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "_setReserveFactor", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0xfca7820b" + }, + { + "constant": true, + "inputs": [], + "name": "isCToken", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfe9c44ae" + }, + { + "inputs": [ + { + "name": "underlying_", + "type": "address" + }, + { + "name": "comptroller_", + "type": "address" + }, + { + "name": "interestRateModel_", + "type": "address" + }, + { + "name": "initialExchangeRateMantissa_", + "type": "uint256" + }, + { + "name": "name_", + "type": "string" + }, + { + "name": "symbol_", + "type": "string" + }, + { + "name": "decimals_", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "interestAccumulated", + "type": "uint256" + }, + { + "indexed": false, + "name": "borrowIndex", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "AccrueInterest", + "type": "event", + "signature": "0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "minter", + "type": "address" + }, + { + "indexed": false, + "name": "mintAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "mintTokens", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event", + "signature": "0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "redeemer", + "type": "address" + }, + { + "indexed": false, + "name": "redeemAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "redeemTokens", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event", + "signature": "0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "name": "borrowAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "Borrow", + "type": "event", + "signature": "0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "payer", + "type": "address" + }, + { + "indexed": false, + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "accountBorrows", + "type": "uint256" + }, + { + "indexed": false, + "name": "totalBorrows", + "type": "uint256" + } + ], + "name": "RepayBorrow", + "type": "event", + "signature": "0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "liquidator", + "type": "address" + }, + { + "indexed": false, + "name": "borrower", + "type": "address" + }, + { + "indexed": false, + "name": "repayAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "cTokenCollateral", + "type": "address" + }, + { + "indexed": false, + "name": "seizeTokens", + "type": "uint256" + } + ], + "name": "LiquidateBorrow", + "type": "event", + "signature": "0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldPendingAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event", + "signature": "0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": false, + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event", + "signature": "0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldComptroller", + "type": "address" + }, + { + "indexed": false, + "name": "newComptroller", + "type": "address" + } + ], + "name": "NewComptroller", + "type": "event", + "signature": "0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldInterestRateModel", + "type": "address" + }, + { + "indexed": false, + "name": "newInterestRateModel", + "type": "address" + } + ], + "name": "NewMarketInterestRateModel", + "type": "event", + "signature": "0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "oldReserveFactorMantissa", + "type": "uint256" + }, + { + "indexed": false, + "name": "newReserveFactorMantissa", + "type": "uint256" + } + ], + "name": "NewReserveFactor", + "type": "event", + "signature": "0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "admin", + "type": "address" + }, + { + "indexed": false, + "name": "reduceAmount", + "type": "uint256" + }, + { + "indexed": false, + "name": "newTotalReserves", + "type": "uint256" + } + ], + "name": "ReservesReduced", + "type": "event", + "signature": "0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event", + "signature": "0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event", + "signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event", + "signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925" + } + ], + "StableCoinInterestRateModel": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "error", + "type": "uint256" + }, + { + "indexed": false, + "name": "info", + "type": "uint256" + }, + { + "indexed": false, + "name": "detail", + "type": "uint256" + } + ], + "name": "Failure", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "_asset", + "type": "address" + }, + { + "name": "cash", + "type": "uint256" + }, + { + "name": "borrows", + "type": "uint256" + } + ], + "name": "getSupplyRate", + "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_asset", + "type": "address" + }, + { + "name": "cash", + "type": "uint256" + }, + { + "name": "borrows", + "type": "uint256" + } + ], + "name": "getBorrowRate", + "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", "type": "function" + } + ], + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "jumpMultiplierPerYear", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "kink_", + "type": "uint256" + }, + { + "internalType": "address", + "name": "pot_", + "type": "address" + }, + { + "internalType": "address", + "name": "jug_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor", + "signature": "constructor" }, { - "constant": true, + "anonymous": false, "inputs": [ { - "name": "_asset", - "type": "address" + "indexed": false, + "internalType": "uint256", + "name": "baseRatePerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "multiplierPerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "jumpMultiplierPerBlock", + "type": "uint256" }, { + "indexed": false, + "internalType": "uint256", + "name": "kink", + "type": "uint256" + } + ], + "name": "NewInterestParams", + "type": "event", + "signature": "0x6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d" + }, + { + "constant": true, + "inputs": [], + "name": "assumedOneMinusReserveFactorMantissa", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x6dac7cd5" + }, + { + "constant": true, + "inputs": [], + "name": "baseRatePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf14039de" + }, + { + "constant": true, + "inputs": [], + "name": "blocksPerYear", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xa385fb96" + }, + { + "constant": true, + "inputs": [], + "name": "dsrPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x96456c5c" + }, + { + "constant": true, + "inputs": [], + "name": "gapPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xf52d21f3" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", "name": "cash", "type": "uint256" }, { + "internalType": "uint256", "name": "borrows", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" } ], "name": "getBorrowRate", "outputs": [ { + "internalType": "uint256", "name": "", "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x15f24053" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" }, { + "internalType": "uint256", + "name": "reserveFactorMantissa", + "type": "uint256" + } + ], + "name": "getSupplyRate", + "outputs": [ + { + "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", - "type": "function" + "type": "function", + "signature": "0xb8168816" + }, + { + "constant": true, + "inputs": [], + "name": "isInterestRateModel", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x2191f92a" + }, + { + "constant": true, + "inputs": [], + "name": "jumpMultiplierPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xb9f9850a" + }, + { + "constant": true, + "inputs": [], + "name": "kink", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0xfd2da339" + }, + { + "constant": true, + "inputs": [], + "name": "multiplierPerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function", + "signature": "0x8726bb89" + }, + { + "constant": false, + "inputs": [], + "name": "poke", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function", + "signature": "0x18178358" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "cash", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "borrows", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserves", + "type": "uint256" + } + ], + "name": "utilizationRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function", + "signature": "0x6e71e2d8" } ], "Base0bps_Slope2000bps": [ diff --git a/networks/mainnet-fork.json b/networks/mainnet-fork.json new file mode 100644 index 000000000..c8b029de3 --- /dev/null +++ b/networks/mainnet-fork.json @@ -0,0 +1,4 @@ +{ + "url": "https://mainnet.infura.io/v3/e1a5d4d2c06a4e81945fca56d0d5d8ea", + "unlocked": ["0xfe83aF639f769EaD20baD76067AbC120245a06A9", "0x8b8592e9570e96166336603a1b4bd1e8db20fa20"] +} diff --git a/networks/mainnet.json b/networks/mainnet.json index f5d9d2695..147516c7e 100644 --- a/networks/mainnet.json +++ b/networks/mainnet.json @@ -10,8 +10,10 @@ "StdComptroller": "0x62F18C451af964197341d3c86D27e98C41BB8fcC", "Poster": "0x3c6809319201b978d821190ba03fa19a3523bd96", "Unitroller": "0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B", + "cDaiDelegate": "0xbB8bE4772fAA655C255309afc3c5207aA7b896Fd", "Comptroller": "0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B", "cBAT": "0x6C8c6b02E7b2BE14d4fA6022Dfd6d75921D90E4E", + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": "0xec163986cC9a6593D6AdDcBFf5509430D348030F", "Base0bps_Slope2000bps": "0xc64C4cBA055eFA614CE01F4BAD8A9F519C4f8FaB", "BAT": "0x0D8775F648430679A709E98d2b0Cb6250d2887EF", "cErc20Delegate": "0x99ee778B9A6205657DD03B2B91415C8646d521ec", @@ -38,7 +40,9 @@ "cDAI": 8983575, "StdComptroller": 7710672, "Unitroller": 7710671, + "cDaiDelegate": 9122579, "cBAT": 7710735, + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": 9122577, "Base0bps_Slope2000bps": 7710727, "cErc20Delegate": 8983559, "cETH": 7710758, @@ -93,7 +97,9 @@ "cDAI": "0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b0000000000000000000000005562024784cc914069d67d89a28e3201bf7b57e7000000000000000000000000000000000000000000a56fa5b99019a5c80000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000080000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc3392500000000000000000000000099ee778b9a6205657dd03b2b91415c8646d521ec00000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000c436f6d706f756e642044616900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004634441490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", "StdComptroller": "0x", "Unitroller": "0x", + "cDaiDelegate": "0x", "cBAT": "0x0000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef0000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000bae04cbf96391086dc643e842b517734e214d698000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e436f6d706f756e6420426173696320417474656e74696f6e20546f6b656e000000000000000000000000000000000000000000000000000000000000000000046342415400000000000000000000000000000000000000000000000000000000", + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": "0x00000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000c7d713b49da0000000000000000000000000000197e90f9fad81970ba7976f33cbd77088e5d7cf700000000000000000000000019c0976f590d67707e62397c87829d896dc0f1f1", "Base0bps_Slope2000bps": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c68af0bb140000", "cErc20Delegate": "0x", "cETH": "0x0000000000000000000000003d9819210a31b4961b30ef54be2aed79b9c9cd3b000000000000000000000000c64c4cba055efa614ce01f4bad8a9f519c4f8fab000000000000000000000000000000000000000000a56fa5b99019a5c800000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e436f6d706f756e6420457468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046345544800000000000000000000000000000000000000000000000000000000", @@ -234,6 +240,11 @@ "address": "0x99ee778B9A6205657DD03B2B91415C8646d521ec", "contract": "CErc20Delegate", "description": "Standard CErc20 Delegate" + }, + "cDaiDelegate": { + "address": "0xbB8bE4772fAA655C255309afc3c5207aA7b896Fd", + "contract": "CDaiDelegate", + "description": "Standard CDai Delegate" } }, "cTokens": { @@ -345,6 +356,16 @@ "kink": "900000000000000000", "jump": "40", "address": "0x5562024784cc914069d67D89a28e3201bF7b57E7" + }, + "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps": { + "name": "DSR_Kink_9000bps_Jump_12000bps_AssumedRF_500bps", + "contract": "DAIInterestRateModel", + "description": "DAIInterestRateModel jump=1200000000000000000 kink=900000000000000000 pot=0x197e90f9fad81970ba7976f33cbd77088e5d7cf7 jug=0x19c0976f590d67707e62397c87829d896dc0f1f1", + "jump": "1200000000000000000", + "kink": "900000000000000000", + "pot": "0x197e90f9fad81970ba7976f33cbd77088e5d7cf7", + "jug": "0x19c0976f590d67707e62397c87829d896dc0f1f1", + "address": "0xec163986cC9a6593D6AdDcBFf5509430D348030F" } } } \ No newline at end of file diff --git a/package.json b/package.json index 83062e9a2..cf4720f66 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "devDependencies": { "bignumber.js": "8.0.1", "ganache-cli": "^6.7.0", - "ganache-core": "^2.8.0", + "ganache-core": "https://github.com/trufflesuite/ganache-core.git", "immutable": "^4.0.0-rc.12", "mocha-junit-reporter": "^1.18.0", "mocha-multi-reporters": "^1.1.7", diff --git a/scenario/package.json b/scenario/package.json index f9ae18aa7..4af184ed6 100644 --- a/scenario/package.json +++ b/scenario/package.json @@ -22,7 +22,7 @@ "dependencies": { "bignumber.js": "8.0.1", "ethers": "^4.0.0-beta.1", - "ganache-core": "^2.8.0", + "ganache-core": "https://github.com/trufflesuite/ganache-core.git", "immutable": "^4.0.0-rc.12", "truffle-flattener": "^1.3.0", "truffle-hdwallet-provider": "1.0.5", diff --git a/scenario/script/repl b/scenario/script/repl index 09945548d..3688294f9 100755 --- a/scenario/script/repl +++ b/scenario/script/repl @@ -23,6 +23,9 @@ while getopts ":hdn:e:s:vt" arg; do d) # Dry run dry_run="true" ;; + h) # Hypothetical + hypothetical="true" + ;; e) # Add variables for script (key=value,key2=value2) env_vars="$OPTARG" ;; @@ -32,14 +35,15 @@ while getopts ":hdn:e:s:vt" arg; do s) # Specify a script to run if [[ "$OSTYPE" == "darwin"* ]]; then # Darwin doesn't support readlink -f to get absolute path... - script=$OPTARG + script_file=$OPTARG else - script=$(readlink -f "$OPTARG") + script_file="$(readlink -f "$OPTARG")" fi - [ ! -f "$script" ] \ - && echo "Cannot find script $script" \ + [ ! -f "$script_file" ] \ + && echo "Cannot find script $script_file" \ && exit 1 + script+=("$OPTARG") ;; t) # Don't build TSC no_tsc="true" @@ -50,12 +54,15 @@ while getopts ":hdn:e:s:vt" arg; do ;; h | *) # Display help. - usage + usa te exit 0 ;; esac done +script=$(printf ",%s" "${script[@]}") +script=${script:2} + if [ ! $network = "mainnet" ]; then function cleanup { mv "$contracts_root/test" "$test_root/contracts" @@ -76,4 +83,4 @@ fi [[ -z $no_compile ]] && node --stack_size=10000 "$proj_root/node_modules/truffle/build/cli.bundled.js" compile -proj_root="$proj_root" env_vars="$env_vars" dry_run="$dry_run" script="$script" network="$network" verbose="$verbose" npx truffle exec --network "$network" "$tsc_root/.tsbuilt/Repl.js" +proj_root="$proj_root" env_vars="$env_vars" dry_run="$dry_run" hypothetical="$hypothetical" script="$script" network="$network" verbose="$verbose" npx truffle exec --network "$network" "$tsc_root/.tsbuilt/Repl.js" diff --git a/scenario/src/Builder/InterestRateModelBuilder.ts b/scenario/src/Builder/InterestRateModelBuilder.ts index 1ce7a8f2b..94822d5b1 100644 --- a/scenario/src/Builder/InterestRateModelBuilder.ts +++ b/scenario/src/Builder/InterestRateModelBuilder.ts @@ -3,12 +3,14 @@ import {addAction, World} from '../World'; import {InterestRateModel} from '../Contract/InterestRateModel'; import {Invokation, invoke} from '../Invokation'; import { + getAddressV, getExpNumberV, getNumberV, getPercentV, getStringV, } from '../CoreValue'; import { + AddressV, EventV, NumberV, StringV, @@ -20,6 +22,7 @@ import {getContract, getTestContract} from '../Contract'; const FixedInterestRateModel = getTestContract('InterestRateModelHarness'); const WhitePaperInterestRateModel = getContract('WhitePaperInterestRateModel'); const JumpRateModel = getContract('JumpRateModel'); +const DAIInterestRateModel = getContract('DAIInterestRateModel'); export interface InterestRateModelData { invokation: Invokation @@ -47,7 +50,7 @@ export async function buildInterestRateModel(world: World, from: string, event: new Arg("rate", getPercentV), ], async (world, {name, rate}) => ({ - invokation: await FixedInterestRateModel.deploy(world, from, [rate.val]), + invokation: await FixedInterestRateModel.deploy(world, from, [rate.encode()]), name: name.val, contract: "InterestRateModelHarness", description: `Fixed rate ${rate.show()} per block` @@ -67,41 +70,66 @@ export async function buildInterestRateModel(world: World, from: string, event: new Arg("multiplier", getExpNumberV) ], async (world, {name, baseRate, multiplier}) => ({ - invokation: await WhitePaperInterestRateModel.deploy(world, from, [baseRate.val, multiplier.val]), + invokation: await WhitePaperInterestRateModel.deploy(world, from, [baseRate.encode(), multiplier.encode()]), name: name.val, contract: "WhitePaperInterestRateModel", - description: `WhitePaper baseRate=${baseRate.val} multiplier=${multiplier.val}`, + description: `WhitePaper baseRate=${baseRate.encode().toString()} multiplier=${multiplier.encode().toString()}`, base: baseRate.encode().toString(), slope: multiplier.encode().toString() }) - ), + ), + + new Fetcher<{name: StringV, baseRate: NumberV, multiplier: NumberV, jump: NumberV, kink: NumberV}, InterestRateModelData>(` + #### JumpRateModel + * "JumpRateModel name: baseRate: multiplier: jump: kink:" - The Jump interest rate + * E.g. "InterestRateModel Deploy JumpRateModel MyInterestRateModel 0.05 0.2 200 0.90" - 5% base rate and 20% utilization multiplier and 200% multiplier at 90% utilization + `, + "JumpRateModel", + [ + new Arg("name", getStringV), + new Arg("baseRate", getExpNumberV), + new Arg("multiplier", getExpNumberV), + new Arg("jump", getExpNumberV), + new Arg("kink", getExpNumberV) + ], + async (world, {name, baseRate, multiplier, jump, kink}) => ({ + invokation: await JumpRateModel.deploy(world, from, [baseRate.encode(), multiplier.encode(), jump.encode(), kink.val]), + name: name.val, + contract: "JumpRateModel", + description: `JumpRateModel baseRate=${baseRate.encode().toString()} multiplier=${multiplier.encode().toString()} jump=${jump.encode().toString()} kink=${kink.encode().toString()}`, + base: baseRate.encode().toString(), + slope: multiplier.encode().toString(), + jump: jump.encode().toString(), + kink: kink.encode().toString() + }) + ), - new Fetcher<{name: StringV, baseRate: NumberV, multiplier: NumberV, kink: NumberV, jump: NumberV}, InterestRateModelData>(` -#### JumpRateModel + new Fetcher<{name: StringV, jump: NumberV, kink: NumberV, pot: AddressV, jug: AddressV}, InterestRateModelData>(` + #### DAIInterestRateModel -* "JumpRateModel name: baseRate: multiplier: kink: jump:" - The Jump interest rate -* E.g. "InterestRateModel Deploy JumpRateModel MyInterestRateModel 0.05 0.2 0.90 5" - 5% base rate and 20% utilization multiplier and 5x jump at 90% utilization -`, - "JumpRateModel", - [ - new Arg("name", getStringV), - new Arg("baseRate", getExpNumberV), - new Arg("multiplier", getExpNumberV), - new Arg("kink", getExpNumberV), - new Arg("jump", getNumberV) - ], - async (world, {name, baseRate, multiplier, kink, jump}) => ({ - invokation: await JumpRateModel.deploy(world, from, [baseRate.val, multiplier.val, kink.val, jump.val]), - name: name.val, - contract: "JumpRateModel", - description: `JumpRate model baseRate=${baseRate.val} multiplier=${multiplier.val} kink=${kink.val} jump=${jump.val}`, - base: baseRate.encode().toString(), - slope: multiplier.encode().toString(), - kink: kink.encode().toString(), - jump: jump.encode().toString() - }) - ) + * "DAIInterestRateModel name: jump: kink: pot:
jug:
" - The DAI interest rate model + * E.g. "InterestRateModel Deploy DAIInterestRateModel MyInterestRateModel 200 0.90 0xPotAddress 0xJugAddress" - 200% multiplier at 90% utilization + `, + "DAIInterestRateModel", + [ + new Arg("name", getStringV), + new Arg("jump", getExpNumberV), + new Arg("kink", getExpNumberV), + new Arg("pot", getAddressV), + new Arg("jug", getAddressV) + ], + async (world, {name, jump, kink, pot, jug}) => ({ + invokation: await DAIInterestRateModel.deploy(world, from, [jump.encode(), kink.encode(), pot.val, jug.val]), + name: name.val, + contract: "DAIInterestRateModel", + description: `DAIInterestRateModel jump=${jump.encode().toString()} kink=${kink.encode().toString()} pot=${pot.val} jug=${jug.val}`, + jump: jump.encode().toString(), + kink: kink.encode().toString(), + pot: pot.val, + jug: jug.val + }) + ) ]; let interestRateModelData = await getFetcherValue("DeployInterestRateModel", fetchers, world, event); diff --git a/scenario/src/CoreEvent.ts b/scenario/src/CoreEvent.ts index c86559ee2..a13e14491 100644 --- a/scenario/src/CoreEvent.ts +++ b/scenario/src/CoreEvent.ts @@ -1,4 +1,3 @@ -import { loadAccounts } from './Accounts'; import { addAction, checkExpectations, @@ -36,8 +35,7 @@ import { Map } from 'immutable'; import { encodedNumber } from './Encoding'; import { printHelp } from './Help'; import { loadContracts } from './Networks'; -import Ganache from 'ganache-core'; -import Web3 from 'web3'; +import { fork } from './Hypothetical'; export class EventProcessingError extends Error { error: Error; @@ -202,32 +200,19 @@ export const commands = [ }); } ), - new View<{ fork: StringV; unlockedAccounts: AddressV[] }>( + new View<{ url: StringV; unlockedAccounts: AddressV[] }>( ` #### Web3Fork - * "Web3Fork fork: unlockedAccounts:[]" - Creates an in-memory ganache + * "Web3Fork url: unlockedAccounts:[]" - Creates an in-memory ganache * E.g. "Web3Fork \"https://mainnet.infura.io/v3/e1a5d4d2c06a4e81945fca56d0d5d8ea\" (\"0x8b8592e9570e96166336603a1b4bd1e8db20fa20\")" `, 'Web3Fork', - [new Arg('fork', getStringV), new Arg('unlockedAccounts', getAddressV, { mapped: true })], - async (world, { fork, unlockedAccounts }) => { - let lastBlock = await world.web3.eth.getBlock("latest") - const newWeb3 = new Web3( - Ganache.provider({ - allowUnlimitedContractSize: true, - fork: fork.val, - gasLimit: lastBlock.gasLimit, // maintain configured gas limit - gasPrice: '20000', - port: 8546, - unlocked_accounts: unlockedAccounts.map(v => v.val) - }) - ); - const newAccounts = loadAccounts(await newWeb3.eth.getAccounts()) - return world - .set('web3', newWeb3) - .set('accounts', newAccounts); - } + [ + new Arg('url', getStringV), + new Arg('unlockedAccounts', getAddressV, { mapped: true }) + ], + (world, { url, unlockedAccounts }) => fork(world, url.val, unlockedAccounts.map(v => v.val)) ), new View<{ networkVal: StringV; }>( diff --git a/scenario/src/Hypothetical.ts b/scenario/src/Hypothetical.ts new file mode 100644 index 000000000..a8ce7a4a8 --- /dev/null +++ b/scenario/src/Hypothetical.ts @@ -0,0 +1,36 @@ +import { Accounts, loadAccounts } from './Accounts'; +import { + addAction, + checkExpectations, + checkInvariants, + clearInvariants, + describeUser, + holdInvariants, + setEvent, + World +} from './World'; +import Ganache from 'ganache-core'; +import Web3 from 'web3'; + +export async function forkWeb3(web3: Web3, url: string, accounts: string[]): Promise { + let lastBlock = await web3.eth.getBlock("latest") + return new Web3( + Ganache.provider({ + allowUnlimitedContractSize: true, + fork: url, + gasLimit: lastBlock.gasLimit, // maintain configured gas limit + gasPrice: '20000', + port: 8546, + unlocked_accounts: accounts + }) + ); +} + +export async function fork(world: World, url: string, accounts: string[]): Promise { + let newWeb3 = await forkWeb3(world.web3, url, accounts); + const newAccounts = loadAccounts(await newWeb3.eth.getAccounts()); + + return world + .set('web3', newWeb3) + .set('accounts', newAccounts); +} diff --git a/scenario/src/Repl.ts b/scenario/src/Repl.ts index 3bc297ad6..a9c8ade2b 100644 --- a/scenario/src/Repl.ts +++ b/scenario/src/Repl.ts @@ -16,18 +16,20 @@ import {formatEvent} from './Formatter'; import {complete} from './Completer'; import {loadContracts} from './Networks'; import {accountAliases, loadAccounts} from './Accounts'; -import {getNetworkPath} from './File'; +import {getNetworkPath, readFile} from './File'; import {SuccessInvariant} from './Invariant/SuccessInvariant'; import {createInterface} from './HistoricReadline'; import {runCommand} from './Runner'; import {parse} from './Parser'; import Web3 from 'web3'; +import {forkWeb3} from './Hypothetical'; import * as fs from 'fs'; import * as path from 'path'; const basePath = process.env.proj_root || process.cwd(); const baseScenarioPath = path.join(basePath, 'spec', 'scenario'); +const baseNetworksPath = path.join(basePath, 'networks'); declare var web3: IWeb3; declare var artifacts: Artifacts; @@ -94,15 +96,38 @@ async function repl(web3: IWeb3, artifacts: Artifacts): Promise { }); const verbose: boolean = !!process.env['verbose']; + const hypothetical: boolean = !!process.env['hypothetical']; let printer = new ReplPrinter(rl, verbose); - // Uck, we have to load accounts first... - if (web3.currentProvider && web3.currentProvider.addresses && web3.currentProvider.addresses.length > 0) { - // We have a wallet provider - accounts = web3.currentProvider.addresses; + if (hypothetical) { + const forkJsonPath = path.join(baseNetworksPath, `${network}-fork.json`); + let forkJson; + + try { + let forkJsonString = fs.readFileSync(forkJsonPath, 'utf8'); + forkJson = JSON.parse(forkJsonString); + } catch (err) { + throw new Error(`Cannot read fork configuration from \`${forkJsonPath}\`, ${err}`); + } + if (!forkJson['url']) { + throw new Error(`Missing url in fork json`); + } + if (!forkJson['unlocked'] || !Array.isArray(forkJson.unlocked)) { + throw new Error(`Missing unlocked in fork json`); + } + + web3 = await forkWeb3(web3, forkJson.url, forkJson.unlocked); + accounts = forkJson.unlocked; + console.log(`Running on fork ${forkJson.url} with unlocked accounts ${forkJson.unlocked.join(', ')}`) } else { - // Let's see if we have any unlocked accounts - accounts = await (new Web3(web3.currentProvider)).eth.personal.getAccounts(); + // Uck, we have to load accounts first... + if (web3.currentProvider && web3.currentProvider.addresses && web3.currentProvider.addresses.length > 0) { + // We have a wallet provider + accounts = web3.currentProvider.addresses; + } else { + // Let's see if we have any unlocked accounts + accounts = await (new Web3(web3.currentProvider)).eth.personal.getAccounts(); + } } let contractInfo: string[]; @@ -134,23 +159,30 @@ async function repl(web3: IWeb3, artifacts: Artifacts): Promise { printer.printLine(``); if (script) { - printer.printLine(`Running script: ${script}...`); - const envVars = loadEnvVars(); - const scriptData: string = fs.readFileSync(script).toString(); + const combined = script.split(',').reduce((acc, script) => { + printer.printLine(`Running script: ${script}...`); + const envVars = loadEnvVars(); + if (hypothetical) { + envVars['hypo'] = true; + } + const scriptData: string = fs.readFileSync(script).toString(); - if (Object.keys(envVars).length > 0) { - printer.printLine(`Env Vars:`); - } + if (Object.keys(envVars).length > 0) { + printer.printLine(`Env Vars:`); + } + + const replacedScript = Object.entries(envVars).reduce((data, [key, val]) => { + printer.printLine(`\t${key}: ${val}`); - const replacedScript = Object.entries(envVars).reduce((data, [key, val]) => { - printer.printLine(`\t${key}: ${val}`); + return data.split(`$${key}`).join(val); + }, scriptData); - return data.split(`$${key}`).join(val); - }, scriptData); + const finalScript = replacedScript.replace(new RegExp(/\$[\w_]+/, 'g'), 'Nothing'); - const finalScript = replacedScript.replace(new RegExp(/\$[\w_]+/, 'g'), 'Nothing'); + return [...acc, ...finalScript.split("\n")]; + }, []); - return await finalScript.split("\n").reduce(async (acc, command) => { + return await combined.reduce(async (acc, command) => { return await runCommand(await acc, command, macros); }, Promise.resolve(world)); printer.printLine(`Script complete.`); diff --git a/scenario/yarn.lock b/scenario/yarn.lock index 2687d62c0..e0f4660e0 100644 --- a/scenario/yarn.lock +++ b/scenario/yarn.lock @@ -48,7 +48,14 @@ dependencies: defer-to-connect "^1.0.1" -"@types/bn.js@^4.11.3": +"@types/bignumber.js@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/bignumber.js/-/bignumber.js-5.0.0.tgz#d9f1a378509f3010a3255e9cc822ad0eeb4ab969" + integrity sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA== + dependencies: + bignumber.js "*" + +"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.4": version "4.11.5" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.5.tgz#40e36197433f78f807524ec623afcf0169ac81dc" integrity sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng== @@ -60,11 +67,40 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.7.tgz#01e4ea724d9e3bd50d90c11fd5980ba317d8fa11" integrity sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w== +"@types/node@^10.12.18": + version "10.17.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.11.tgz#46ba035fb917b31c948280dbea22ab8838f386a4" + integrity sha512-dNd2pp8qTzzNLAs3O8nH3iU9DG9866KHq9L3ISPB7DOGERZN81nW/5/g/KzMJpCU8jrbCiMRBzV9/sCEdRosig== + "@types/node@^10.3.2": version "10.14.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.4.tgz#1c586b991457cbb58fef51bc4e0cfcfa347714b5" integrity sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg== +"@types/node@^12.6.1": + version "12.12.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.20.tgz#7b693038ce661fe57a7ffa4679440b5e7c5e8b99" + integrity sha512-VAe+DiwpnC/g448uN+/3gRl4th0BTdrR9gSLIOHA+SUQskaYZQDOHG7xmjiE7JUhjbXnbXytf6Ih+/pA6CtMFQ== + +"@web3-js/scrypt-shim@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@web3-js/scrypt-shim/-/scrypt-shim-0.1.0.tgz#0bf7529ab6788311d3e07586f7d89107c3bea2cc" + integrity sha512-ZtZeWCc/s0nMcdx/+rZwY1EcuRdemOK9ag21ty9UsHkFxsNb/AaoucUz0iPuyGe0Ku+PFuRmWZG7Z7462p9xPw== + dependencies: + scryptsy "^2.1.0" + semver "^6.3.0" + +"@web3-js/websocket@^1.0.29": + version "1.0.30" + resolved "https://registry.yarnpkg.com/@web3-js/websocket/-/websocket-1.0.30.tgz#9ea15b7b582cf3bf3e8bc1f4d3d54c0731a87f87" + integrity sha512-fDwrD47MiDrzcJdSeTLF75aCcxVVt8B1N74rA+vh2XCAvFy4tEWJjtnUtj2QG7/zlQ6g9cQ88bZFBxwd9/FmtA== + dependencies: + debug "^2.2.0" + es5-ext "^0.10.50" + nan "^2.14.0" + typedarray-to-buffer "^3.1.5" + yaeti "^0.0.6" + "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -1158,6 +1194,11 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +bignumber.js@*: + version "9.0.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" + integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + bignumber.js@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-8.0.1.tgz#5d419191370fb558c64e3e5f70d68e5947138832" @@ -1859,6 +1900,11 @@ copy-props@^2.0.1: each-props "^1.3.0" is-plain-object "^2.0.1" +core-js-pure@^3.0.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.5.0.tgz#f63c7f2b245e7d678e73f87ad28505480554d70e" + integrity sha512-wB0QtKAofWigiISuT1Tej3hKgq932fB//Lf1VoPbiLpTYlHY0nIDhgF+q1na0DAKFHH5wGCirkAknOmDN8ijXA== + core-js@^2.4.0, core-js@^2.5.0: version "2.6.10" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" @@ -2111,7 +2157,7 @@ deferred-leveldown@~4.0.0: abstract-leveldown "~5.0.0" inherits "^2.0.3" -define-properties@^1.1.2: +define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -2368,6 +2414,23 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.17.0-next.1: + version "1.17.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.0-next.1.tgz#94acc93e20b05a6e96dacb5ab2f1cb3a81fc2172" + integrity sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" + es-abstract@^1.5.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" @@ -2389,6 +2452,15 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50: version "0.10.52" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.52.tgz#bb21777e919a04263736ded120a9d665f10ea63f" @@ -2591,6 +2663,13 @@ ethashjs@~0.0.7: ethereumjs-util "^4.0.1" miller-rabin "^4.0.0" +ethereum-bloom-filters@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.6.tgz#9cdebb3ec20de96ec4a434c6bad6ea5a513037aa" + integrity sha512-dE9CGNzgOOsdh7msZirvv8qjHtnHpvBlKe2647kM8v+yeF71IRso55jpojemvHV+jMjr48irPWxMRaHuOWzAFA== + dependencies: + js-sha3 "^0.8.0" + ethereum-common@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" @@ -2624,7 +2703,7 @@ ethereumjs-abi@0.6.7: bn.js "^4.11.8" ethereumjs-util "^6.0.0" -ethereumjs-account@3.0.0: +ethereumjs-account@3.0.0, ethereumjs-account@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz#728f060c8e0c6e87f1e987f751d3da25422570a9" integrity sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA== @@ -2642,14 +2721,14 @@ ethereumjs-account@^2.0.3: rlp "^2.0.0" safe-buffer "^5.1.1" -ethereumjs-block@2.2.0, ethereumjs-block@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" - integrity sha512-Ye+uG/L2wrp364Zihdlr/GfC3ft+zG8PdHcRtsBFNNH1CkOhxOwdB8friBU85n89uRZ9eIMAywCq0F4CwT1wAw== +ethereumjs-block@2.2.1, ethereumjs-block@^2.2.1, ethereumjs-block@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.1.tgz#5fba423305b40ab6486a6b81922e5312b2667c8d" + integrity sha512-ze8I1844m5oKZL7hiHuezRcPzqdi4Iv0ssqQyuRaJ9Je0/YCYfXobJHvNLnex2ETgs5JypicdtLYrCNWdgcLvg== dependencies: async "^2.0.1" ethereumjs-common "^1.1.0" - ethereumjs-tx "^1.2.2" + ethereumjs-tx "^2.1.1" ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" @@ -2664,28 +2743,52 @@ ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" -ethereumjs-blockchain@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ethereumjs-blockchain/-/ethereumjs-blockchain-3.4.0.tgz#92240da6ecd86b3d8d324df69510b381f26c966b" - integrity sha512-wxPSmt6EQjhbywkFbftKcb0qRFIZWocHMuDa8/AB4eWL/UPYalNcDyLaxYbrDytmhHid3Uu8G/tA3C/TxZBuOQ== +ethereumjs-block@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" + integrity sha512-Ye+uG/L2wrp364Zihdlr/GfC3ft+zG8PdHcRtsBFNNH1CkOhxOwdB8friBU85n89uRZ9eIMAywCq0F4CwT1wAw== + dependencies: + async "^2.0.1" + ethereumjs-common "^1.1.0" + ethereumjs-tx "^1.2.2" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + +ethereumjs-blockchain@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.2.tgz#660c20df5895a88cec858738f286ec28d9a9acf6" + integrity sha512-K7N7EJpDQJXX634uEuXRk3pIH058SPeu+g0xQslViQyaTpJNTHsN5Wu/MdA5BzrUriBRlfmX9lCEaU4ZuaftJA== dependencies: async "^2.6.1" ethashjs "~0.0.7" - ethereumjs-block "~2.2.0" + ethereumjs-block "~2.2.1" ethereumjs-common "^1.1.0" - ethereumjs-util "~6.0.0" + ethereumjs-util "~6.1.0" flow-stoplight "^1.0.0" level-mem "^3.0.1" lru-cache "^5.1.1" - safe-buffer "^5.1.2" + rlp "^2.2.2" semaphore "^1.1.0" -ethereumjs-common@^1.1.0: +ethereumjs-common@1.4.0, ethereumjs-common@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.4.0.tgz#a940685f88f3c2587e4061630fe720b089c965b8" integrity sha512-ser2SAplX/YI5W2AnzU8wmSjKRy4KQd4uxInJ36BzjS3m18E/B9QedPUIresZN1CSEQb/RgNQ2gN7C/XbpTafA== -ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3: +ethereumjs-common@^1.3.1, ethereumjs-common@^1.3.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz#d3e82fc7c47c0cef95047f431a99485abc9bb1cd" + integrity sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ== + +ethereumjs-tx@2.1.1, ethereumjs-tx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.1.tgz#7d204e2b319156c9bc6cec67e9529424a26e8ccc" + integrity sha512-QtVriNqowCFA19X9BCRPMgdVNJ0/gMBS91TQb1DfrhsbR748g4STwxZptFAwfqehMyrF8rDwB23w87PQwru0wA== + dependencies: + ethereumjs-common "^1.3.1" + ethereumjs-util "^6.0.0" + +ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3: version "1.3.7" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== @@ -2693,7 +2796,7 @@ ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^ ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" -ethereumjs-util@6.1.0: +ethereumjs-util@6.1.0, ethereumjs-util@~6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== @@ -2743,36 +2846,26 @@ ethereumjs-util@^6.0.0: rlp "^2.2.3" secp256k1 "^3.0.1" -ethereumjs-util@~6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.0.0.tgz#f14841c182b918615afefd744207c7932c8536c0" - integrity sha512-E3yKUyl0Fs95nvTFQZe/ZSNcofhDzUsDlA5y2uoRmf1+Ec7gpGhNCsgKkZBRh7Br5op8mJcYF/jFbmjj909+nQ== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - ethjs-util "^0.1.6" - keccak "^1.0.2" - rlp "^2.0.0" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - -ethereumjs-vm@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-3.0.0.tgz#70fea2964a6797724b0d93fe080f9984ad18fcdd" - integrity sha512-lNu+G/RWPRCrQM5s24MqgU75PEGiAhL4Ombw0ew6m08d+amsxf/vGAb98yDNdQqqHKV6JbwO/tCGfdqXGI6Cug== +ethereumjs-vm@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-4.1.1.tgz#ba6f565fd7788a0e7db494fa2096d45f9ea0802b" + integrity sha512-Bh2avDY9Hyon9TvJ/fmkdyd5JDnmTudLJ5oKhmTfXn0Jjq7UzP4YRNp7e5PWoWXSmdXAGXU9W0DXK5TV9Qy/NQ== dependencies: async "^2.1.2" async-eventemitter "^0.2.2" - ethereumjs-account "^2.0.3" - ethereumjs-block "~2.2.0" - ethereumjs-blockchain "^3.4.0" - ethereumjs-common "^1.1.0" - ethereumjs-util "^6.0.0" + core-js-pure "^3.0.1" + ethereumjs-account "^3.0.0" + ethereumjs-block "^2.2.1" + ethereumjs-blockchain "^4.0.2" + ethereumjs-common "^1.3.2" + ethereumjs-tx "^2.1.1" + ethereumjs-util "~6.1.0" fake-merkle-patricia-tree "^1.0.1" functional-red-black-tree "^1.0.1" merkle-patricia-tree "^2.3.2" rustbn.js "~0.2.0" safe-buffer "^5.1.1" + util.promisify "^1.0.0" ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: version "2.6.0" @@ -2862,7 +2955,7 @@ ethjs-unit@0.1.6: bn.js "4.11.6" number-to-bn "1.7.0" -ethjs-util@0.1.6, ethjs-util@^0.1.3, ethjs-util@^0.1.6: +ethjs-util@0.1.6, ethjs-util@^0.1.3: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== @@ -3348,10 +3441,9 @@ functional-red-black-tree@^1.0.1, functional-red-black-tree@~1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -ganache-core@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.8.0.tgz#eeadc7f7fc3a0c20d99f8f62021fb80b5a05490c" - integrity sha512-hfXqZGJx700jJqwDHNXrU2BnPYuETn1ekm36oRHuXY3oOuJLFs5C+cFdUFaBlgUxcau1dOgZUUwKqTAy0gTA9Q== +"ganache-core@https://github.com/trufflesuite/ganache-core.git": + version "2.9.1-beta.0" + resolved "https://github.com/trufflesuite/ganache-core.git#da66ca641d5e7f8727b1c630d54d8b1e7ff8f2a4" dependencies: abstract-leveldown "3.0.0" async "2.6.2" @@ -3363,10 +3455,11 @@ ganache-core@^2.8.0: eth-sig-util "2.3.0" ethereumjs-abi "0.6.7" ethereumjs-account "3.0.0" - ethereumjs-block "2.2.0" - ethereumjs-tx "1.3.7" + ethereumjs-block "2.2.1" + ethereumjs-common "1.4.0" + ethereumjs-tx "2.1.1" ethereumjs-util "6.1.0" - ethereumjs-vm "3.0.0" + ethereumjs-vm "4.1.1" heap "0.2.6" level-sublevel "6.6.4" levelup "3.1.1" @@ -3379,7 +3472,7 @@ ganache-core@^2.8.0: websocket "1.0.29" optionalDependencies: ethereumjs-wallet "0.6.3" - web3 "1.2.1" + web3 "1.2.4" gauge@~2.7.3: version "2.7.4" @@ -3697,6 +3790,11 @@ has-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + has-to-string-tag-x@^1.2.0: version "1.4.1" resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" @@ -4277,6 +4375,11 @@ js-sha3@^0.6.1: resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + "js-tokens@^3.0.0 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -5355,12 +5458,17 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + object-inspect@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== -object-keys@^1.0.11: +object-keys@^1.0.11, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -5382,7 +5490,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.0.4: +object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -5402,6 +5510,14 @@ object.defaults@^1.0.0, object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" +object.getownpropertydescriptors@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + object.map@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" @@ -5991,7 +6107,7 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -6326,7 +6442,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.3: +rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.2, rlp@^2.2.3: version "2.2.4" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.4.tgz#d6b0e1659e9285fc509a5d169a9bd06f704951c1" integrity sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw== @@ -6417,11 +6533,6 @@ scrypt@^6.0.2: dependencies: nan "^2.0.8" -scryptsy@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" - integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== - scryptsy@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" @@ -6429,6 +6540,11 @@ scryptsy@^1.2.1: dependencies: pbkdf2 "^3.0.3" +scryptsy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" + integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== + secp256k1@^3.0.1: version "3.7.1" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" @@ -6472,16 +6588,16 @@ semver-greatest-satisfied-range@^1.1.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" - integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== - semver@^5.0.1, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + semver@~5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" @@ -6885,6 +7001,22 @@ string.prototype.trim@^1.1.2, string.prototype.trim@~1.1.2: es-abstract "^1.5.0" function-bind "^1.0.2" +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string_decoder@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" @@ -7555,6 +7687,14 @@ util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -7696,11 +7836,12 @@ web3-bzz@1.0.0-beta.37: swarm-js "0.1.37" underscore "1.8.3" -web3-bzz@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.1.tgz#c3bd1e8f0c02a13cd6d4e3c3e9e1713f144f6f0d" - integrity sha512-LdOO44TuYbGIPfL4ilkuS89GQovxUpmLz6C1UC7VYVVRILeZS740FVB3j9V4P4FHUk1RenaDfKhcntqgVCHtjw== +web3-bzz@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.4.tgz#a4adb7a8cba3d260de649bdb1f14ed359bfb3821" + integrity sha512-MqhAo/+0iQSMBtt3/QI1rU83uvF08sYq8r25+OUZ+4VtihnYsmkkca+rdU0QbRyrXY2/yGIpI46PFdh0khD53A== dependencies: + "@types/node" "^10.12.18" got "9.6.0" swarm-js "0.1.39" underscore "1.9.1" @@ -7714,14 +7855,14 @@ web3-core-helpers@1.0.0-beta.37: web3-eth-iban "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-core-helpers@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz#f5f32d71c60a4a3bd14786118e633ce7ca6d5d0d" - integrity sha512-Gx3sTEajD5r96bJgfuW377PZVFmXIH4TdqDhgGwd2lZQCcMi+DA4TgxJNJGxn0R3aUVzyyE76j4LBrh412mXrw== +web3-core-helpers@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.4.tgz#ffd425861f4d66b3f38df032afdb39ea0971fc0f" + integrity sha512-U7wbsK8IbZvF3B7S+QMSNP0tni/6VipnJkB0tZVEpHEIV2WWeBHYmZDnULWcsS/x/jn9yKhJlXIxWGsEAMkjiw== dependencies: underscore "1.9.1" - web3-eth-iban "1.2.1" - web3-utils "1.2.1" + web3-eth-iban "1.2.4" + web3-utils "1.2.4" web3-core-method@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7734,16 +7875,16 @@ web3-core-method@1.0.0-beta.37: web3-core-subscriptions "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-core-method@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.1.tgz#9df1bafa2cd8be9d9937e01c6a47fc768d15d90a" - integrity sha512-Ghg2WS23qi6Xj8Od3VCzaImLHseEA7/usvnOItluiIc5cKs00WYWsNy2YRStzU9a2+z8lwQywPYp0nTzR/QXdQ== +web3-core-method@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.4.tgz#a0fbc50b8ff5fd214021435cc2c6d1e115807aed" + integrity sha512-8p9kpL7di2qOVPWgcM08kb+yKom0rxRCMv6m/K+H+yLSxev9TgMbCgMSbPWAHlyiF3SJHw7APFKahK5Z+8XT5A== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.1" - web3-core-promievent "1.2.1" - web3-core-subscriptions "1.2.1" - web3-utils "1.2.1" + web3-core-helpers "1.2.4" + web3-core-promievent "1.2.4" + web3-core-subscriptions "1.2.4" + web3-utils "1.2.4" web3-core-promievent@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7753,10 +7894,10 @@ web3-core-promievent@1.0.0-beta.37: any-promise "1.3.0" eventemitter3 "1.1.1" -web3-core-promievent@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.1.tgz#003e8a3eb82fb27b6164a6d5b9cad04acf733838" - integrity sha512-IVUqgpIKoeOYblwpex4Hye6npM0aMR+kU49VP06secPeN0rHMyhGF0ZGveWBrGvf8WDPI7jhqPBFIC6Jf3Q3zw== +web3-core-promievent@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.4.tgz#75e5c0f2940028722cdd21ba503ebd65272df6cb" + integrity sha512-gEUlm27DewUsfUgC3T8AxkKi8Ecx+e+ZCaunB7X4Qk3i9F4C+5PSMGguolrShZ7Zb6717k79Y86f3A00O0VAZw== dependencies: any-promise "1.3.0" eventemitter3 "3.1.2" @@ -7772,16 +7913,16 @@ web3-core-requestmanager@1.0.0-beta.37: web3-providers-ipc "1.0.0-beta.37" web3-providers-ws "1.0.0-beta.37" -web3-core-requestmanager@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz#fa2e2206c3d738db38db7c8fe9c107006f5c6e3d" - integrity sha512-xfknTC69RfYmLKC+83Jz73IC3/sS2ZLhGtX33D4Q5nQ8yc39ElyAolxr9sJQS8kihOcM6u4J+8gyGMqsLcpIBg== +web3-core-requestmanager@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.4.tgz#0a7020a23fb91c6913c611dfd3d8c398d1e4b4a8" + integrity sha512-eZJDjyNTDtmSmzd3S488nR/SMJtNnn/GuwxnMh3AzYCqG3ZMfOylqTad2eYJPvc2PM5/Gj1wAMQcRpwOjjLuPg== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.1" - web3-providers-http "1.2.1" - web3-providers-ipc "1.2.1" - web3-providers-ws "1.2.1" + web3-core-helpers "1.2.4" + web3-providers-http "1.2.4" + web3-providers-ipc "1.2.4" + web3-providers-ws "1.2.4" web3-core-subscriptions@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7792,14 +7933,14 @@ web3-core-subscriptions@1.0.0-beta.37: underscore "1.8.3" web3-core-helpers "1.0.0-beta.37" -web3-core-subscriptions@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz#8c2368a839d4eec1c01a4b5650bbeb82d0e4a099" - integrity sha512-nmOwe3NsB8V8UFsY1r+sW6KjdOS68h8nuh7NzlWxBQT/19QSUGiERRTaZXWu5BYvo1EoZRMxCKyCQpSSXLc08g== +web3-core-subscriptions@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.4.tgz#0dc095b5cfd82baa527a39796e3515a846b21b99" + integrity sha512-3D607J2M8ymY9V+/WZq4MLlBulwCkwEjjC2U+cXqgVO1rCyVqbxZNCmHyNYHjDDCxSEbks9Ju5xqJxDSxnyXEw== dependencies: eventemitter3 "3.1.2" underscore "1.9.1" - web3-core-helpers "1.2.1" + web3-core-helpers "1.2.4" web3-core@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7811,15 +7952,18 @@ web3-core@1.0.0-beta.37: web3-core-requestmanager "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-core@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.1.tgz#7278b58fb6495065e73a77efbbce781a7fddf1a9" - integrity sha512-5ODwIqgl8oIg/0+Ai4jsLxkKFWJYE0uLuE1yUKHNVCL4zL6n3rFjRMpKPokd6id6nJCNgeA64KdWQ4XfpnjdMg== +web3-core@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.4.tgz#2df13b978dcfc59c2abaa887d27f88f21ad9a9d6" + integrity sha512-CHc27sMuET2cs1IKrkz7xzmTdMfZpYswe7f0HcuyneTwS1yTlTnHyqjAaTy0ZygAb/x4iaVox+Gvr4oSAqSI+A== dependencies: - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-requestmanager "1.2.1" - web3-utils "1.2.1" + "@types/bignumber.js" "^5.0.0" + "@types/bn.js" "^4.11.4" + "@types/node" "^12.6.1" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-core-requestmanager "1.2.4" + web3-utils "1.2.4" web3-eth-abi@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7830,14 +7974,14 @@ web3-eth-abi@1.0.0-beta.37: underscore "1.8.3" web3-utils "1.0.0-beta.37" -web3-eth-abi@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz#9b915b1c9ebf82f70cca631147035d5419064689" - integrity sha512-jI/KhU2a/DQPZXHjo2GW0myEljzfiKOn+h1qxK1+Y9OQfTcBMxrQJyH5AP89O6l6NZ1QvNdq99ThAxBFoy5L+g== +web3-eth-abi@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.4.tgz#5b73e5ef70b03999227066d5d1310b168845e2b8" + integrity sha512-8eLIY4xZKoU3DSVu1pORluAw9Ru0/v4CGdw5so31nn+7fR8zgHMgwbFe0aOqWQ5VU42PzMMXeIJwt4AEi2buFg== dependencies: ethers "4.0.0-beta.3" underscore "1.9.1" - web3-utils "1.2.1" + web3-utils "1.2.4" web3-eth-accounts@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7855,22 +7999,23 @@ web3-eth-accounts@1.0.0-beta.37: web3-core-method "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-eth-accounts@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz#2741a8ef337a7219d57959ac8bd118b9d68d63cf" - integrity sha512-26I4qq42STQ8IeKUyur3MdQ1NzrzCqPsmzqpux0j6X/XBD7EjZ+Cs0lhGNkSKH5dI3V8CJasnQ5T1mNKeWB7nQ== +web3-eth-accounts@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.4.tgz#ada6edc49542354328a85cafab067acd7f88c288" + integrity sha512-04LzT/UtWmRFmi4hHRewP5Zz43fWhuHiK5XimP86sUQodk/ByOkXQ3RoXyGXFMNoRxdcAeRNxSfA2DpIBc9xUw== dependencies: + "@web3-js/scrypt-shim" "^0.1.0" any-promise "1.3.0" crypto-browserify "3.12.0" eth-lib "0.2.7" - scryptsy "2.1.0" - semver "6.2.0" + ethereumjs-common "^1.3.2" + ethereumjs-tx "^2.1.1" underscore "1.9.1" uuid "3.3.2" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-utils "1.2.4" web3-eth-contract@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7886,19 +8031,20 @@ web3-eth-contract@1.0.0-beta.37: web3-eth-abi "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-eth-contract@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz#3542424f3d341386fd9ff65e78060b85ac0ea8c4" - integrity sha512-kYFESbQ3boC9bl2rYVghj7O8UKMiuKaiMkxvRH5cEDHil8V7MGEGZNH0slSdoyeftZVlaWSMqkRP/chfnKND0g== +web3-eth-contract@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.4.tgz#68ef7cc633232779b0a2c506a810fbe903575886" + integrity sha512-b/9zC0qjVetEYnzRA1oZ8gF1OSSUkwSYi5LGr4GeckLkzXP7osEnp9lkO/AQcE4GpG+l+STnKPnASXJGZPgBRQ== dependencies: + "@types/bn.js" "^4.11.4" underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-promievent "1.2.1" - web3-core-subscriptions "1.2.1" - web3-eth-abi "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-core-promievent "1.2.4" + web3-core-subscriptions "1.2.4" + web3-eth-abi "1.2.4" + web3-utils "1.2.4" web3-eth-ens@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7914,19 +8060,19 @@ web3-eth-ens@1.0.0-beta.37: web3-eth-contract "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-eth-ens@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz#a0e52eee68c42a8b9865ceb04e5fb022c2d971d5" - integrity sha512-lhP1kFhqZr2nnbu3CGIFFrAnNxk2veXpOXBY48Tub37RtobDyHijHgrj+xTh+mFiPokyrapVjpFsbGa+Xzye4Q== +web3-eth-ens@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.4.tgz#b95b3aa99fb1e35c802b9e02a44c3046a3fa065e" + integrity sha512-g8+JxnZlhdsCzCS38Zm6R/ngXhXzvc3h7bXlxgKU4coTzLLoMpgOAEz71GxyIJinWTFbLXk/WjNY0dazi9NwVw== dependencies: eth-ens-namehash "2.0.8" underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-promievent "1.2.1" - web3-eth-abi "1.2.1" - web3-eth-contract "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-promievent "1.2.4" + web3-eth-abi "1.2.4" + web3-eth-contract "1.2.4" + web3-utils "1.2.4" web3-eth-iban@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7936,13 +8082,13 @@ web3-eth-iban@1.0.0-beta.37: bn.js "4.11.6" web3-utils "1.0.0-beta.37" -web3-eth-iban@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz#2c3801718946bea24e9296993a975c80b5acf880" - integrity sha512-9gkr4QPl1jCU+wkgmZ8EwODVO3ovVj6d6JKMos52ggdT2YCmlfvFVF6wlGLwi0VvNa/p+0BjJzaqxnnG/JewjQ== +web3-eth-iban@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.4.tgz#8e0550fd3fd8e47a39357d87fe27dee9483ee476" + integrity sha512-D9HIyctru/FLRpXakRwmwdjb5bWU2O6UE/3AXvRm6DCOf2e+7Ve11qQrPtaubHfpdW3KWjDKvlxV9iaFv/oTMQ== dependencies: bn.js "4.11.8" - web3-utils "1.2.1" + web3-utils "1.2.4" web3-eth-personal@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7955,16 +8101,17 @@ web3-eth-personal@1.0.0-beta.37: web3-net "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-eth-personal@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz#244e9911b7b482dc17c02f23a061a627c6e47faf" - integrity sha512-RNDVSiaSoY4aIp8+Hc7z+X72H7lMb3fmAChuSBADoEc7DsJrY/d0R5qQDK9g9t2BO8oxgLrLNyBP/9ub2Hc6Bg== +web3-eth-personal@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.4.tgz#3224cca6851c96347d9799b12c1b67b2a6eb232b" + integrity sha512-5Russ7ZECwHaZXcN3DLuLS7390Vzgrzepl4D87SD6Sn1DHsCZtvfdPIYwoTmKNp69LG3mORl7U23Ga5YxqkICw== dependencies: - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-net "1.2.1" - web3-utils "1.2.1" + "@types/node" "^12.6.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-net "1.2.4" + web3-utils "1.2.4" web3-eth@1.0.0-beta.37: version "1.0.0-beta.37" @@ -7985,24 +8132,24 @@ web3-eth@1.0.0-beta.37: web3-net "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-eth@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.1.tgz#b9989e2557c73a9e8ffdc107c6dafbe72c79c1b0" - integrity sha512-/2xly4Yry5FW1i+uygPjhfvgUP/MS/Dk+PDqmzp5M88tS86A+j8BzKc23GrlA8sgGs0645cpZK/999LpEF5UdA== +web3-eth@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.4.tgz#24c3b1f1ac79351bbfb808b2ab5c585fa57cdd00" + integrity sha512-+j+kbfmZsbc3+KJpvHM16j1xRFHe2jBAniMo1BHKc3lho6A8Sn9Buyut6odubguX2AxoRArCdIDCkT9hjUERpA== dependencies: underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-subscriptions "1.2.1" - web3-eth-abi "1.2.1" - web3-eth-accounts "1.2.1" - web3-eth-contract "1.2.1" - web3-eth-ens "1.2.1" - web3-eth-iban "1.2.1" - web3-eth-personal "1.2.1" - web3-net "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-core-subscriptions "1.2.4" + web3-eth-abi "1.2.4" + web3-eth-accounts "1.2.4" + web3-eth-contract "1.2.4" + web3-eth-ens "1.2.4" + web3-eth-iban "1.2.4" + web3-eth-personal "1.2.4" + web3-net "1.2.4" + web3-utils "1.2.4" web3-net@1.0.0-beta.37: version "1.0.0-beta.37" @@ -8013,14 +8160,14 @@ web3-net@1.0.0-beta.37: web3-core-method "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3-net@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.1.tgz#edd249503315dd5ab4fa00220f6509d95bb7ab10" - integrity sha512-Yt1Bs7WgnLESPe0rri/ZoPWzSy55ovioaP35w1KZydrNtQ5Yq4WcrAdhBzcOW7vAkIwrsLQsvA+hrOCy7mNauw== +web3-net@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.4.tgz#1d246406d3aaffbf39c030e4e98bce0ca5f25458" + integrity sha512-wKOsqhyXWPSYTGbp7ofVvni17yfRptpqoUdp3SC8RAhDmGkX6irsiT9pON79m6b3HUHfLoBilFQyt/fTUZOf7A== dependencies: - web3-core "1.2.1" - web3-core-method "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.4" + web3-core-method "1.2.4" + web3-utils "1.2.4" web3-provider-engine@14.2.1: version "14.2.1" @@ -8056,12 +8203,12 @@ web3-providers-http@1.0.0-beta.37: web3-core-helpers "1.0.0-beta.37" xhr2-cookies "1.1.0" -web3-providers-http@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.1.tgz#c93ea003a42e7b894556f7e19dd3540f947f5013" - integrity sha512-BDtVUVolT9b3CAzeGVA/np1hhn7RPUZ6YYGB/sYky+GjeO311Yoq8SRDUSezU92x8yImSC2B+SMReGhd1zL+bQ== +web3-providers-http@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.4.tgz#514fcad71ae77832c2c15574296282fbbc5f4a67" + integrity sha512-dzVCkRrR/cqlIrcrWNiPt9gyt0AZTE0J+MfAu9rR6CyIgtnm1wFUVVGaxYRxuTGQRO4Dlo49gtoGwaGcyxqiTw== dependencies: - web3-core-helpers "1.2.1" + web3-core-helpers "1.2.4" xhr2-cookies "1.1.0" web3-providers-ipc@1.0.0-beta.37: @@ -8073,14 +8220,14 @@ web3-providers-ipc@1.0.0-beta.37: underscore "1.8.3" web3-core-helpers "1.0.0-beta.37" -web3-providers-ipc@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz#017bfc687a8fc5398df2241eb98f135e3edd672c" - integrity sha512-oPEuOCwxVx8L4CPD0TUdnlOUZwGBSRKScCz/Ws2YHdr9Ium+whm+0NLmOZjkjQp5wovQbyBzNa6zJz1noFRvFA== +web3-providers-ipc@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.4.tgz#9d6659f8d44943fb369b739f48df09092be459bd" + integrity sha512-8J3Dguffin51gckTaNrO3oMBo7g+j0UNk6hXmdmQMMNEtrYqw4ctT6t06YOf9GgtOMjSAc1YEh3LPrvgIsR7og== dependencies: oboe "2.1.4" underscore "1.9.1" - web3-core-helpers "1.2.1" + web3-core-helpers "1.2.4" web3-providers-ws@1.0.0-beta.37: version "1.0.0-beta.37" @@ -8091,14 +8238,14 @@ web3-providers-ws@1.0.0-beta.37: web3-core-helpers "1.0.0-beta.37" websocket "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" -web3-providers-ws@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz#2d941eaf3d5a8caa3214eff8dc16d96252b842cb" - integrity sha512-oqsQXzu+ejJACVHy864WwIyw+oB21nw/pI65/sD95Zi98+/HQzFfNcIFneF1NC4bVF3VNX4YHTNq2I2o97LAiA== +web3-providers-ws@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.4.tgz#099ee271ee03f6ea4f5df9cfe969e83f4ce0e36f" + integrity sha512-F/vQpDzeK+++oeeNROl1IVTufFCwCR2hpWe5yRXN0ApLwHqXrMI7UwQNdJ9iyibcWjJf/ECbauEEQ8CHgE+MYQ== dependencies: + "@web3-js/websocket" "^1.0.29" underscore "1.9.1" - web3-core-helpers "1.2.1" - websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" + web3-core-helpers "1.2.4" web3-shh@1.0.0-beta.37: version "1.0.0-beta.37" @@ -8110,15 +8257,15 @@ web3-shh@1.0.0-beta.37: web3-core-subscriptions "1.0.0-beta.37" web3-net "1.0.0-beta.37" -web3-shh@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.1.tgz#4460e3c1e07faf73ddec24ccd00da46f89152b0c" - integrity sha512-/3Cl04nza5kuFn25bV3FJWa0s3Vafr5BlT933h26xovQ6HIIz61LmvNQlvX1AhFL+SNJOTcQmK1SM59vcyC8bA== +web3-shh@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.4.tgz#5c8ff5ab624a3b14f08af0d24d2b16c10e9f70dd" + integrity sha512-z+9SCw0dE+69Z/Hv8809XDbLj7lTfEv9Sgu8eKEIdGntZf4v7ewj5rzN5bZZSz8aCvfK7Y6ovz1PBAu4QzS4IQ== dependencies: - web3-core "1.2.1" - web3-core-method "1.2.1" - web3-core-subscriptions "1.2.1" - web3-net "1.2.1" + web3-core "1.2.4" + web3-core-method "1.2.4" + web3-core-subscriptions "1.2.4" + web3-net "1.2.4" web3-utils@1.0.0-beta.37: version "1.0.0-beta.37" @@ -8133,16 +8280,17 @@ web3-utils@1.0.0-beta.37: underscore "1.8.3" utf8 "2.1.1" -web3-utils@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.1.tgz#21466e38291551de0ab34558de21512ac4274534" - integrity sha512-Mrcn3l58L+yCKz3zBryM6JZpNruWuT0OCbag8w+reeNROSGVlXzUQkU+gtAwc9JCZ7tKUyg67+2YUGqUjVcyBA== +web3-utils@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.4.tgz#96832a39a66b05bf8862a5b0bdad2799d709d951" + integrity sha512-+S86Ip+jqfIPQWvw2N/xBQq5JNqCO0dyvukGdJm8fEWHZbckT4WxSpHbx+9KLEWY4H4x9pUwnoRkK87pYyHfgQ== dependencies: bn.js "4.11.8" eth-lib "0.2.7" + ethereum-bloom-filters "^1.0.6" ethjs-unit "0.1.6" number-to-bn "1.7.0" - randomhex "0.1.5" + randombytes "^2.1.0" underscore "1.9.1" utf8 "3.0.0" @@ -8159,18 +8307,19 @@ web3@1.0.0-beta.37: web3-shh "1.0.0-beta.37" web3-utils "1.0.0-beta.37" -web3@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.1.tgz#5d8158bcca47838ab8c2b784a2dee4c3ceb4179b" - integrity sha512-nNMzeCK0agb5i/oTWNdQ1aGtwYfXzHottFP2Dz0oGIzavPMGSKyVlr8ibVb1yK5sJBjrWVnTdGaOC2zKDFuFRw== - dependencies: - web3-bzz "1.2.1" - web3-core "1.2.1" - web3-eth "1.2.1" - web3-eth-personal "1.2.1" - web3-net "1.2.1" - web3-shh "1.2.1" - web3-utils "1.2.1" +web3@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.4.tgz#6e7ab799eefc9b4648c2dab63003f704a1d5e7d9" + integrity sha512-xPXGe+w0x0t88Wj+s/dmAdASr3O9wmA9mpZRtixGZxmBexAF0MjfqYM+MS4tVl5s11hMTN3AZb8cDD4VLfC57A== + dependencies: + "@types/node" "^12.6.1" + web3-bzz "1.2.4" + web3-core "1.2.4" + web3-eth "1.2.4" + web3-eth-personal "1.2.4" + web3-net "1.2.4" + web3-shh "1.2.4" + web3-utils "1.2.4" webpack-bundle-analyzer@^3.1.0: version "3.1.0" @@ -8276,16 +8425,6 @@ websocket@^1.0.28: typedarray-to-buffer "^3.1.2" yaeti "^0.0.6" -"websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": - version "1.0.29" - resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/905deb4812572b344f5801f8c9ce8bb02799d82e" - dependencies: - debug "^2.2.0" - es5-ext "^0.10.50" - nan "^2.14.0" - typedarray-to-buffer "^3.1.5" - yaeti "^0.0.6" - whatwg-fetch@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" diff --git a/yarn.lock b/yarn.lock index 899fd742b..e1d6ed2b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -160,6 +160,13 @@ "@truffle/interface-adapter" "^0.3.0" web3 "1.2.1" +"@types/bignumber.js@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/bignumber.js/-/bignumber.js-5.0.0.tgz#d9f1a378509f3010a3255e9cc822ad0eeb4ab969" + integrity sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA== + dependencies: + bignumber.js "*" + "@types/bn.js@^4.11.4": version "4.11.5" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.5.tgz#40e36197433f78f807524ec623afcf0169ac81dc" @@ -196,6 +203,30 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.12.tgz#0eec3155a46e6c4db1f27c3e588a205f767d622f" integrity sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg== +"@types/node@^12.6.1": + version "12.12.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.20.tgz#7b693038ce661fe57a7ffa4679440b5e7c5e8b99" + integrity sha512-VAe+DiwpnC/g448uN+/3gRl4th0BTdrR9gSLIOHA+SUQskaYZQDOHG7xmjiE7JUhjbXnbXytf6Ih+/pA6CtMFQ== + +"@web3-js/scrypt-shim@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@web3-js/scrypt-shim/-/scrypt-shim-0.1.0.tgz#0bf7529ab6788311d3e07586f7d89107c3bea2cc" + integrity sha512-ZtZeWCc/s0nMcdx/+rZwY1EcuRdemOK9ag21ty9UsHkFxsNb/AaoucUz0iPuyGe0Ku+PFuRmWZG7Z7462p9xPw== + dependencies: + scryptsy "^2.1.0" + semver "^6.3.0" + +"@web3-js/websocket@^1.0.29": + version "1.0.30" + resolved "https://registry.yarnpkg.com/@web3-js/websocket/-/websocket-1.0.30.tgz#9ea15b7b582cf3bf3e8bc1f4d3d54c0731a87f87" + integrity sha512-fDwrD47MiDrzcJdSeTLF75aCcxVVt8B1N74rA+vh2XCAvFy4tEWJjtnUtj2QG7/zlQ6g9cQ88bZFBxwd9/FmtA== + dependencies: + debug "^2.2.0" + es5-ext "^0.10.50" + nan "^2.14.0" + typedarray-to-buffer "^3.1.5" + yaeti "^0.0.6" + abab@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" @@ -1328,6 +1359,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +bignumber.js@*: + version "9.0.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" + integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + bignumber.js@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-8.0.1.tgz#5d419191370fb558c64e3e5f70d68e5947138832" @@ -2178,6 +2214,11 @@ copy-props@^2.0.1: each-props "^1.3.0" is-plain-object "^2.0.1" +core-js-pure@^3.0.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.5.0.tgz#f63c7f2b245e7d678e73f87ad28505480554d70e" + integrity sha512-wB0QtKAofWigiISuT1Tej3hKgq932fB//Lf1VoPbiLpTYlHY0nIDhgF+q1na0DAKFHH5wGCirkAknOmDN8ijXA== + core-js@^2.4.0, core-js@^2.5.0: version "2.6.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.2.tgz#267988d7268323b349e20b4588211655f0e83944" @@ -2507,7 +2548,7 @@ deferred-leveldown@~4.0.0: abstract-leveldown "~5.0.0" inherits "^2.0.3" -define-properties@^1.1.2: +define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -2859,6 +2900,23 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.17.0-next.1: + version "1.17.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.0-next.1.tgz#94acc93e20b05a6e96dacb5ab2f1cb3a81fc2172" + integrity sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" + es-abstract@^1.5.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" @@ -2880,6 +2938,15 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50: version "0.10.52" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.52.tgz#bb21777e919a04263736ded120a9d665f10ea63f" @@ -3308,7 +3375,7 @@ ethereumjs-account@2.0.5, ethereumjs-account@^2.0.3: rlp "^2.0.0" safe-buffer "^5.1.1" -ethereumjs-account@3.0.0: +ethereumjs-account@3.0.0, ethereumjs-account@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz#728f060c8e0c6e87f1e987f751d3da25422570a9" integrity sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA== @@ -3339,6 +3406,17 @@ ethereumjs-block@2.2.0, ethereumjs-block@~2.2.0: ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" +ethereumjs-block@2.2.1, ethereumjs-block@^2.2.1, ethereumjs-block@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.1.tgz#5fba423305b40ab6486a6b81922e5312b2667c8d" + integrity sha512-ze8I1844m5oKZL7hiHuezRcPzqdi4Iv0ssqQyuRaJ9Je0/YCYfXobJHvNLnex2ETgs5JypicdtLYrCNWdgcLvg== + dependencies: + async "^2.0.1" + ethereumjs-common "^1.1.0" + ethereumjs-tx "^2.1.1" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0, ethereumjs-block@~1.7.0: version "1.7.1" resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" @@ -3366,6 +3444,27 @@ ethereumjs-blockchain@^3.4.0: safe-buffer "^5.1.2" semaphore "^1.1.0" +ethereumjs-blockchain@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.2.tgz#660c20df5895a88cec858738f286ec28d9a9acf6" + integrity sha512-K7N7EJpDQJXX634uEuXRk3pIH058SPeu+g0xQslViQyaTpJNTHsN5Wu/MdA5BzrUriBRlfmX9lCEaU4ZuaftJA== + dependencies: + async "^2.6.1" + ethashjs "~0.0.7" + ethereumjs-block "~2.2.1" + ethereumjs-common "^1.1.0" + ethereumjs-util "~6.1.0" + flow-stoplight "^1.0.0" + level-mem "^3.0.1" + lru-cache "^5.1.1" + rlp "^2.2.2" + semaphore "^1.1.0" + +ethereumjs-common@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.4.0.tgz#a940685f88f3c2587e4061630fe720b089c965b8" + integrity sha512-ser2SAplX/YI5W2AnzU8wmSjKRy4KQd4uxInJ36BzjS3m18E/B9QedPUIresZN1CSEQb/RgNQ2gN7C/XbpTafA== + ethereumjs-common@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-0.6.1.tgz#ec98edf315a7f107afb6acc48e937a8266979fae" @@ -3376,6 +3475,11 @@ ethereumjs-common@^1.1.0: resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.2.tgz#5a20831e52199a31ff4b68ef361e34c05c976ed0" integrity sha512-GkltYRIqBLzaZLmF/K3E+g9lZ4O4FL+TtpisAlD3N+UVlR+mrtoG+TvxavqVa6PwOY4nKIEMe5pl6MrTio3Lww== +ethereumjs-common@^1.3.1, ethereumjs-common@^1.3.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz#d3e82fc7c47c0cef95047f431a99485abc9bb1cd" + integrity sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ== + ethereumjs-common@~0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-0.4.1.tgz#27690a24a817b058cc3a2aedef9392e8d7d63984" @@ -3389,6 +3493,14 @@ ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^ ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" +ethereumjs-tx@2.1.1, ethereumjs-tx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.1.tgz#7d204e2b319156c9bc6cec67e9529424a26e8ccc" + integrity sha512-QtVriNqowCFA19X9BCRPMgdVNJ0/gMBS91TQb1DfrhsbR748g4STwxZptFAwfqehMyrF8rDwB23w87PQwru0wA== + dependencies: + ethereumjs-common "^1.3.1" + ethereumjs-util "^6.0.0" + ethereumjs-util@5.2.0, ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5, ethereumjs-util@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" @@ -3402,7 +3514,7 @@ ethereumjs-util@5.2.0, ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumj safe-buffer "^5.1.1" secp256k1 "^3.0.1" -ethereumjs-util@6.1.0: +ethereumjs-util@6.1.0, ethereumjs-util@~6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== @@ -3491,6 +3603,27 @@ ethereumjs-vm@3.0.0: rustbn.js "~0.2.0" safe-buffer "^5.1.1" +ethereumjs-vm@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-4.1.1.tgz#ba6f565fd7788a0e7db494fa2096d45f9ea0802b" + integrity sha512-Bh2avDY9Hyon9TvJ/fmkdyd5JDnmTudLJ5oKhmTfXn0Jjq7UzP4YRNp7e5PWoWXSmdXAGXU9W0DXK5TV9Qy/NQ== + dependencies: + async "^2.1.2" + async-eventemitter "^0.2.2" + core-js-pure "^3.0.1" + ethereumjs-account "^3.0.0" + ethereumjs-block "^2.2.1" + ethereumjs-blockchain "^4.0.2" + ethereumjs-common "^1.3.2" + ethereumjs-tx "^2.1.1" + ethereumjs-util "~6.1.0" + fake-merkle-patricia-tree "^1.0.1" + functional-red-black-tree "^1.0.1" + merkle-patricia-tree "^2.3.2" + rustbn.js "~0.2.0" + safe-buffer "^5.1.1" + util.promisify "^1.0.0" + ethereumjs-vm@^2.0.2, ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.5.0.tgz#71dde54a093bd813c9defdc6d45ceb8fcca2f603" @@ -4411,10 +4544,9 @@ ganache-core@2.3.3: ethereumjs-wallet "0.6.2" web3 "1.0.0-beta.35" -ganache-core@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.8.0.tgz#eeadc7f7fc3a0c20d99f8f62021fb80b5a05490c" - integrity sha512-hfXqZGJx700jJqwDHNXrU2BnPYuETn1ekm36oRHuXY3oOuJLFs5C+cFdUFaBlgUxcau1dOgZUUwKqTAy0gTA9Q== +"ganache-core@https://github.com/trufflesuite/ganache-core.git": + version "2.9.1-beta.0" + resolved "https://github.com/trufflesuite/ganache-core.git#da66ca641d5e7f8727b1c630d54d8b1e7ff8f2a4" dependencies: abstract-leveldown "3.0.0" async "2.6.2" @@ -4426,10 +4558,11 @@ ganache-core@^2.8.0: eth-sig-util "2.3.0" ethereumjs-abi "0.6.7" ethereumjs-account "3.0.0" - ethereumjs-block "2.2.0" - ethereumjs-tx "1.3.7" + ethereumjs-block "2.2.1" + ethereumjs-common "1.4.0" + ethereumjs-tx "2.1.1" ethereumjs-util "6.1.0" - ethereumjs-vm "3.0.0" + ethereumjs-vm "4.1.1" heap "0.2.6" level-sublevel "6.6.4" levelup "3.1.1" @@ -4442,7 +4575,7 @@ ganache-core@^2.8.0: websocket "1.0.29" optionalDependencies: ethereumjs-wallet "0.6.3" - web3 "1.2.1" + web3 "1.2.4" gauge@~2.7.3: version "2.7.4" @@ -4904,6 +5037,11 @@ has-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + has-to-string-tag-x@^1.2.0: version "1.4.1" resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" @@ -6972,12 +7110,17 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + object-inspect@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== -object-keys@^1.0.11: +object-keys@^1.0.11, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -6999,7 +7142,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.0.4: +object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -7019,6 +7162,14 @@ object.defaults@^1.0.0, object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" +object.getownpropertydescriptors@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + object.map@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" @@ -8275,7 +8426,7 @@ rlp@^2.0.0: dependencies: safe-buffer "^5.1.1" -rlp@^2.2.1: +rlp@^2.2.1, rlp@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.4.tgz#d6b0e1659e9285fc509a5d169a9bd06f704951c1" integrity sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw== @@ -8429,7 +8580,7 @@ scrypt@^6.0.2: dependencies: nan "^2.0.8" -scryptsy@2.1.0: +scryptsy@2.1.0, scryptsy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== @@ -8494,6 +8645,11 @@ semver@6.2.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + semver@~5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" @@ -9015,6 +9171,22 @@ string.prototype.trim@~1.1.2: es-abstract "^1.5.0" function-bind "^1.0.2" +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string_decoder@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" @@ -10254,6 +10426,14 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -10417,6 +10597,16 @@ web3-bzz@1.2.1: swarm-js "0.1.39" underscore "1.9.1" +web3-bzz@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.4.tgz#a4adb7a8cba3d260de649bdb1f14ed359bfb3821" + integrity sha512-MqhAo/+0iQSMBtt3/QI1rU83uvF08sYq8r25+OUZ+4VtihnYsmkkca+rdU0QbRyrXY2/yGIpI46PFdh0khD53A== + dependencies: + "@types/node" "^10.12.18" + got "9.6.0" + swarm-js "0.1.39" + underscore "1.9.1" + web3-core-helpers@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.35.tgz#d681d218a0c6e3283ee1f99a078ab9d3eef037f1" @@ -10444,6 +10634,15 @@ web3-core-helpers@1.2.1: web3-eth-iban "1.2.1" web3-utils "1.2.1" +web3-core-helpers@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.4.tgz#ffd425861f4d66b3f38df032afdb39ea0971fc0f" + integrity sha512-U7wbsK8IbZvF3B7S+QMSNP0tni/6VipnJkB0tZVEpHEIV2WWeBHYmZDnULWcsS/x/jn9yKhJlXIxWGsEAMkjiw== + dependencies: + underscore "1.9.1" + web3-eth-iban "1.2.4" + web3-utils "1.2.4" + web3-core-method@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.35.tgz#fc10e2d546cf4886038e6130bd5726b0952a4e5f" @@ -10477,6 +10676,17 @@ web3-core-method@1.2.1: web3-core-subscriptions "1.2.1" web3-utils "1.2.1" +web3-core-method@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.4.tgz#a0fbc50b8ff5fd214021435cc2c6d1e115807aed" + integrity sha512-8p9kpL7di2qOVPWgcM08kb+yKom0rxRCMv6m/K+H+yLSxev9TgMbCgMSbPWAHlyiF3SJHw7APFKahK5Z+8XT5A== + dependencies: + underscore "1.9.1" + web3-core-helpers "1.2.4" + web3-core-promievent "1.2.4" + web3-core-subscriptions "1.2.4" + web3-utils "1.2.4" + web3-core-promievent@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.35.tgz#4f1b24737520fa423fee3afee110fbe82bcb8691" @@ -10501,6 +10711,14 @@ web3-core-promievent@1.2.1: any-promise "1.3.0" eventemitter3 "3.1.2" +web3-core-promievent@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.4.tgz#75e5c0f2940028722cdd21ba503ebd65272df6cb" + integrity sha512-gEUlm27DewUsfUgC3T8AxkKi8Ecx+e+ZCaunB7X4Qk3i9F4C+5PSMGguolrShZ7Zb6717k79Y86f3A00O0VAZw== + dependencies: + any-promise "1.3.0" + eventemitter3 "3.1.2" + web3-core-requestmanager@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.35.tgz#2b77cbf6303720ad68899b39fa7f584dc03dbc8f" @@ -10534,6 +10752,17 @@ web3-core-requestmanager@1.2.1: web3-providers-ipc "1.2.1" web3-providers-ws "1.2.1" +web3-core-requestmanager@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.4.tgz#0a7020a23fb91c6913c611dfd3d8c398d1e4b4a8" + integrity sha512-eZJDjyNTDtmSmzd3S488nR/SMJtNnn/GuwxnMh3AzYCqG3ZMfOylqTad2eYJPvc2PM5/Gj1wAMQcRpwOjjLuPg== + dependencies: + underscore "1.9.1" + web3-core-helpers "1.2.4" + web3-providers-http "1.2.4" + web3-providers-ipc "1.2.4" + web3-providers-ws "1.2.4" + web3-core-subscriptions@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.35.tgz#c1b76a2ad3c6e80f5d40b8ba560f01e0f4628758" @@ -10561,6 +10790,15 @@ web3-core-subscriptions@1.2.1: underscore "1.9.1" web3-core-helpers "1.2.1" +web3-core-subscriptions@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.4.tgz#0dc095b5cfd82baa527a39796e3515a846b21b99" + integrity sha512-3D607J2M8ymY9V+/WZq4MLlBulwCkwEjjC2U+cXqgVO1rCyVqbxZNCmHyNYHjDDCxSEbks9Ju5xqJxDSxnyXEw== + dependencies: + eventemitter3 "3.1.2" + underscore "1.9.1" + web3-core-helpers "1.2.4" + web3-core@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.35.tgz#0c44d3c50d23219b0b1531d145607a9bc7cd4b4f" @@ -10591,6 +10829,19 @@ web3-core@1.2.1: web3-core-requestmanager "1.2.1" web3-utils "1.2.1" +web3-core@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.4.tgz#2df13b978dcfc59c2abaa887d27f88f21ad9a9d6" + integrity sha512-CHc27sMuET2cs1IKrkz7xzmTdMfZpYswe7f0HcuyneTwS1yTlTnHyqjAaTy0ZygAb/x4iaVox+Gvr4oSAqSI+A== + dependencies: + "@types/bignumber.js" "^5.0.0" + "@types/bn.js" "^4.11.4" + "@types/node" "^12.6.1" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-core-requestmanager "1.2.4" + web3-utils "1.2.4" + web3-eth-abi@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.35.tgz#2eb9c1c7c7233db04010defcb192293e0db250e6" @@ -10629,6 +10880,15 @@ web3-eth-abi@1.2.1: underscore "1.9.1" web3-utils "1.2.1" +web3-eth-abi@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.4.tgz#5b73e5ef70b03999227066d5d1310b168845e2b8" + integrity sha512-8eLIY4xZKoU3DSVu1pORluAw9Ru0/v4CGdw5so31nn+7fR8zgHMgwbFe0aOqWQ5VU42PzMMXeIJwt4AEi2buFg== + dependencies: + ethers "4.0.0-beta.3" + underscore "1.9.1" + web3-utils "1.2.4" + web3-eth-accounts@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.35.tgz#7d0e5a69f510dc93874471599eb7abfa9ddf3e63" @@ -10678,6 +10938,24 @@ web3-eth-accounts@1.2.1: web3-core-method "1.2.1" web3-utils "1.2.1" +web3-eth-accounts@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.4.tgz#ada6edc49542354328a85cafab067acd7f88c288" + integrity sha512-04LzT/UtWmRFmi4hHRewP5Zz43fWhuHiK5XimP86sUQodk/ByOkXQ3RoXyGXFMNoRxdcAeRNxSfA2DpIBc9xUw== + dependencies: + "@web3-js/scrypt-shim" "^0.1.0" + any-promise "1.3.0" + crypto-browserify "3.12.0" + eth-lib "0.2.7" + ethereumjs-common "^1.3.2" + ethereumjs-tx "^2.1.1" + underscore "1.9.1" + uuid "3.3.2" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-utils "1.2.4" + web3-eth-contract@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.35.tgz#5276242d8a3358d9f1ce92b71575c74f9015935c" @@ -10720,6 +10998,21 @@ web3-eth-contract@1.2.1: web3-eth-abi "1.2.1" web3-utils "1.2.1" +web3-eth-contract@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.4.tgz#68ef7cc633232779b0a2c506a810fbe903575886" + integrity sha512-b/9zC0qjVetEYnzRA1oZ8gF1OSSUkwSYi5LGr4GeckLkzXP7osEnp9lkO/AQcE4GpG+l+STnKPnASXJGZPgBRQ== + dependencies: + "@types/bn.js" "^4.11.4" + underscore "1.9.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-core-promievent "1.2.4" + web3-core-subscriptions "1.2.4" + web3-eth-abi "1.2.4" + web3-utils "1.2.4" + web3-eth-ens@1.0.0-beta.37: version "1.0.0-beta.37" resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.37.tgz#714ecb01eb447ee3eb39b2b20a10ae96edb1f01f" @@ -10748,6 +11041,20 @@ web3-eth-ens@1.2.1: web3-eth-contract "1.2.1" web3-utils "1.2.1" +web3-eth-ens@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.4.tgz#b95b3aa99fb1e35c802b9e02a44c3046a3fa065e" + integrity sha512-g8+JxnZlhdsCzCS38Zm6R/ngXhXzvc3h7bXlxgKU4coTzLLoMpgOAEz71GxyIJinWTFbLXk/WjNY0dazi9NwVw== + dependencies: + eth-ens-namehash "2.0.8" + underscore "1.9.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-promievent "1.2.4" + web3-eth-abi "1.2.4" + web3-eth-contract "1.2.4" + web3-utils "1.2.4" + web3-eth-iban@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.35.tgz#5aa10327a9abb26bcfc4ba79d7bad18a002b332c" @@ -10772,6 +11079,14 @@ web3-eth-iban@1.2.1: bn.js "4.11.8" web3-utils "1.2.1" +web3-eth-iban@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.4.tgz#8e0550fd3fd8e47a39357d87fe27dee9483ee476" + integrity sha512-D9HIyctru/FLRpXakRwmwdjb5bWU2O6UE/3AXvRm6DCOf2e+7Ve11qQrPtaubHfpdW3KWjDKvlxV9iaFv/oTMQ== + dependencies: + bn.js "4.11.8" + web3-utils "1.2.4" + web3-eth-personal@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.35.tgz#ecac95b7a53d04a567447062d5cae5f49879e89f" @@ -10805,6 +11120,18 @@ web3-eth-personal@1.2.1: web3-net "1.2.1" web3-utils "1.2.1" +web3-eth-personal@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.4.tgz#3224cca6851c96347d9799b12c1b67b2a6eb232b" + integrity sha512-5Russ7ZECwHaZXcN3DLuLS7390Vzgrzepl4D87SD6Sn1DHsCZtvfdPIYwoTmKNp69LG3mORl7U23Ga5YxqkICw== + dependencies: + "@types/node" "^12.6.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-net "1.2.4" + web3-utils "1.2.4" + web3-eth@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.35.tgz#c52c804afb95e6624b6f5e72a9af90fbf5005b68" @@ -10861,6 +11188,25 @@ web3-eth@1.2.1: web3-net "1.2.1" web3-utils "1.2.1" +web3-eth@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.4.tgz#24c3b1f1ac79351bbfb808b2ab5c585fa57cdd00" + integrity sha512-+j+kbfmZsbc3+KJpvHM16j1xRFHe2jBAniMo1BHKc3lho6A8Sn9Buyut6odubguX2AxoRArCdIDCkT9hjUERpA== + dependencies: + underscore "1.9.1" + web3-core "1.2.4" + web3-core-helpers "1.2.4" + web3-core-method "1.2.4" + web3-core-subscriptions "1.2.4" + web3-eth-abi "1.2.4" + web3-eth-accounts "1.2.4" + web3-eth-contract "1.2.4" + web3-eth-ens "1.2.4" + web3-eth-iban "1.2.4" + web3-eth-personal "1.2.4" + web3-net "1.2.4" + web3-utils "1.2.4" + web3-net@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.35.tgz#5c6688e0dea71fcd910ee9dc5437b94b7f6b3354" @@ -10888,6 +11234,15 @@ web3-net@1.2.1: web3-core-method "1.2.1" web3-utils "1.2.1" +web3-net@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.4.tgz#1d246406d3aaffbf39c030e4e98bce0ca5f25458" + integrity sha512-wKOsqhyXWPSYTGbp7ofVvni17yfRptpqoUdp3SC8RAhDmGkX6irsiT9pON79m6b3HUHfLoBilFQyt/fTUZOf7A== + dependencies: + web3-core "1.2.4" + web3-core-method "1.2.4" + web3-utils "1.2.4" + web3-provider-engine@14.1.0: version "14.1.0" resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-14.1.0.tgz#91590020f8b8c1b65846321310cbfdb039090fc6" @@ -11015,6 +11370,14 @@ web3-providers-http@1.2.1: web3-core-helpers "1.2.1" xhr2-cookies "1.1.0" +web3-providers-http@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.4.tgz#514fcad71ae77832c2c15574296282fbbc5f4a67" + integrity sha512-dzVCkRrR/cqlIrcrWNiPt9gyt0AZTE0J+MfAu9rR6CyIgtnm1wFUVVGaxYRxuTGQRO4Dlo49gtoGwaGcyxqiTw== + dependencies: + web3-core-helpers "1.2.4" + xhr2-cookies "1.1.0" + web3-providers-ipc@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.35.tgz#031afeb10fade2ebb0ef2fb82f5e58c04be842d9" @@ -11042,6 +11405,15 @@ web3-providers-ipc@1.2.1: underscore "1.9.1" web3-core-helpers "1.2.1" +web3-providers-ipc@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.4.tgz#9d6659f8d44943fb369b739f48df09092be459bd" + integrity sha512-8J3Dguffin51gckTaNrO3oMBo7g+j0UNk6hXmdmQMMNEtrYqw4ctT6t06YOf9GgtOMjSAc1YEh3LPrvgIsR7og== + dependencies: + oboe "2.1.4" + underscore "1.9.1" + web3-core-helpers "1.2.4" + web3-providers-ws@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.35.tgz#5d38603fd450243a26aae0ff7f680644e77fa240" @@ -11069,6 +11441,15 @@ web3-providers-ws@1.2.1: web3-core-helpers "1.2.1" websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" +web3-providers-ws@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.4.tgz#099ee271ee03f6ea4f5df9cfe969e83f4ce0e36f" + integrity sha512-F/vQpDzeK+++oeeNROl1IVTufFCwCR2hpWe5yRXN0ApLwHqXrMI7UwQNdJ9iyibcWjJf/ECbauEEQ8CHgE+MYQ== + dependencies: + "@web3-js/websocket" "^1.0.29" + underscore "1.9.1" + web3-core-helpers "1.2.4" + web3-shh@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.35.tgz#7e4a585f8beee0c1927390937c6537748a5d1a58" @@ -11099,6 +11480,16 @@ web3-shh@1.2.1: web3-core-subscriptions "1.2.1" web3-net "1.2.1" +web3-shh@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.4.tgz#5c8ff5ab624a3b14f08af0d24d2b16c10e9f70dd" + integrity sha512-z+9SCw0dE+69Z/Hv8809XDbLj7lTfEv9Sgu8eKEIdGntZf4v7ewj5rzN5bZZSz8aCvfK7Y6ovz1PBAu4QzS4IQ== + dependencies: + web3-core "1.2.4" + web3-core-method "1.2.4" + web3-core-subscriptions "1.2.4" + web3-net "1.2.4" + web3-utils@1.0.0-beta.35: version "1.0.0-beta.35" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.35.tgz#ced9e1df47c65581c441c5f2af76b05a37a273d7" @@ -11154,6 +11545,20 @@ web3-utils@1.2.1: underscore "1.9.1" utf8 "3.0.0" +web3-utils@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.4.tgz#96832a39a66b05bf8862a5b0bdad2799d709d951" + integrity sha512-+S86Ip+jqfIPQWvw2N/xBQq5JNqCO0dyvukGdJm8fEWHZbckT4WxSpHbx+9KLEWY4H4x9pUwnoRkK87pYyHfgQ== + dependencies: + bn.js "4.11.8" + eth-lib "0.2.7" + ethereum-bloom-filters "^1.0.6" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + underscore "1.9.1" + utf8 "3.0.0" + web3-utils@^1.0.0: version "1.2.2" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.2.tgz#b53a08c40d2c3f31d3c4a28e7d749405df99c8c0" @@ -11207,6 +11612,20 @@ web3@1.2.1: web3-shh "1.2.1" web3-utils "1.2.1" +web3@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.4.tgz#6e7ab799eefc9b4648c2dab63003f704a1d5e7d9" + integrity sha512-xPXGe+w0x0t88Wj+s/dmAdASr3O9wmA9mpZRtixGZxmBexAF0MjfqYM+MS4tVl5s11hMTN3AZb8cDD4VLfC57A== + dependencies: + "@types/node" "^12.6.1" + web3-bzz "1.2.4" + web3-core "1.2.4" + web3-eth "1.2.4" + web3-eth-personal "1.2.4" + web3-net "1.2.4" + web3-shh "1.2.4" + web3-utils "1.2.4" + web3@^0.16.0: version "0.16.0" resolved "https://registry.yarnpkg.com/web3/-/web3-0.16.0.tgz#a4554175cd462943035b1f1d39432f741c6b6019"