pancakeswap / pancake-swap-periphery

GNU General Public License v3.0
191 stars 459 forks source link

Tests are failing #17

Open ahmetson opened 3 years ago

ahmetson commented 3 years ago

I forked, and pulled the pancake. Then I manually set the links to the Pancake-swap core contracts. As it was reported in issue #10

Now compilation works. However tests are failing.

$ yarn compile
$ yarn clean
$ rimraf ./build/
$ waffle .waffle.json
$ yarn copy-v1-artifacts
$ ncp ./buildV1 ./build
$ mocha

  ExampleFlashSwap
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
    1) uniswapV2Call:0
WARNING: unsupported ABI type - receive
    2) uniswapV2Call:1

  ExampleOracleSimple
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
    3) "before each" hook for "update"

  ExampleSlidingWindowOracle
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
    ✓ requires granularity to be greater than 0 (40ms)
    ✓ requires windowSize to be evenly divisible by granularity (42ms)
    ✓ computes the periodSize correctly (127ms)
    #observationIndexOf
      ✓ works for examples (193ms)
      ✓ overflow safe (115ms)
      ✓ matches offline computation (150ms)
    #update
      4) succeeds
      5) sets the appropriate epoch slot
      6) gas for first update (allocates empty array)
      7) gas for second update in the same period (skips)
      8) gas for second update different period (no allocate, no skip)
      9) second update in one timeslot does not overwrite
      ✓ fails for invalid pair (53ms)
    #consult
      10) fails if previous bucket not set
      ✓ fails for invalid pair
      happy path
        11) "before each" hook: add some prices for "has cumulative price in previous bucket"
      price changes over period
        12) "before each" hook: add some prices for "provides the correct ratio in consult token0"

  ExampleSwapToPrice
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
    ✓ correct router address
    #swapToPrice
      ✓ requires non-zero true price inputs (45ms)
      ✓ requires non-zero max spend
      13) moves the price to 1:90
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      14) moves the price to 1:110
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      15) reverse token order
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      16) swap gas cost

  UniswapV2Migrator
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
    17) migrate
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert

  UniswapV2Router{01,02}
    UniswapV2Router01
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
      ✓ factory, WETH
      18) addLiquidity
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      19) addLiquidityETH
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      20) removeLiquidity
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      21) removeLiquidityETH
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      22) removeLiquidityWithPermit
      23) removeLiquidityETHWithPermit
      swapExactTokensForTokens
        24) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        25) amounts
        26) gas
      swapTokensForExactTokens
        27) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        28) amounts
      swapExactETHForTokens
        29) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        30) amounts
        31) gas
      swapTokensForExactETH
        32) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        33) amounts
      swapExactTokensForETH
        34) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        35) amounts
      swapETHForExactTokens
        36) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        37) amounts
    UniswapV2Router02
      ✓ factory, WETH
      38) addLiquidity
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      39) addLiquidityETH
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      40) removeLiquidity
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      41) removeLiquidityETH
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
      42) removeLiquidityWithPermit
      43) removeLiquidityETHWithPermit
      swapExactTokensForTokens
        44) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        45) amounts
        46) gas
      swapTokensForExactTokens
        47) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        48) amounts
      swapExactETHForTokens
        49) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        50) amounts
        51) gas
      swapTokensForExactETH
        52) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        53) amounts
      swapExactTokensForETH
        54) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        55) amounts
      swapETHForExactTokens
        56) happy path
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
RuntimeError: VM Exception while processing transaction: revert
        57) amounts

  UniswapV2Router02
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
WARNING: unsupported ABI type - receive
0xA193E42526F1FEA8C99AF609dcEabf30C1c29fAA 0xFDFEF9D10d929cB3905C71400ce6be1990EA0F34 BigNumber { _hex: '0x2710' } BigNumber { _hex: '0x2710' } 0 0 0x17ec8597ff92C3F44523bDc65BF0f1bE632917ff BigNumber {
  _hex: '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
} { gasLimit: 9999999 }
    58) getAmountsOut

  13 passing (55s)
  58 failing

  1) ExampleFlashSwap
       uniswapV2Call:0:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  2) ExampleFlashSwap
       uniswapV2Call:1:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  3) ExampleOracleSimple
       "before each" hook for "update":
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  4) ExampleSlidingWindowOracle
       #update
         succeeds:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  5) ExampleSlidingWindowOracle
       #update
         sets the appropriate epoch slot:

      AssertionError: expected 1577836801 to equal 1577836800
      + expected - actual

      -1577836801
      +1577836800

      at /home/alp/pancake-swap-periphery/test/ExampleSlidingWindowOracle.spec.ts:314:58
      at step (test/ExampleSlidingWindowOracle.spec.ts:33:23)
      at Object.next (test/ExampleSlidingWindowOracle.spec.ts:14:53)
      at fulfilled (test/ExampleSlidingWindowOracle.spec.ts:5:58)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  6) ExampleSlidingWindowOracle
       #update
         gas for first update (allocates empty array):
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  7) ExampleSlidingWindowOracle
       #update
         gas for second update in the same period (skips):
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  8) ExampleSlidingWindowOracle
       #update
         gas for second update different period (no allocate, no skip):
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  9) ExampleSlidingWindowOracle
       #update
         second update in one timeslot does not overwrite:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  10) ExampleSlidingWindowOracle
       #consult
         fails if previous bucket not set:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  11) ExampleSlidingWindowOracle
       #consult
         happy path
           "before each" hook: add some prices for "has cumulative price in previous bucket":
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  12) ExampleSlidingWindowOracle
       #consult
         price changes over period
           "before each" hook: add some prices for "provides the correct ratio in consult token0":
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  13) ExampleSwapToPrice
       #swapToPrice
         moves the price to 1:90:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  14) ExampleSwapToPrice
       #swapToPrice
         moves the price to 1:110:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  15) ExampleSwapToPrice
       #swapToPrice
         reverse token order:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  16) ExampleSwapToPrice
       #swapToPrice
         swap gas cost:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  17) UniswapV2Migrator
       migrate:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  18) UniswapV2Router{01,02}
       UniswapV2Router01
         addLiquidity:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  19) UniswapV2Router{01,02}
       UniswapV2Router01
         addLiquidityETH:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  20) UniswapV2Router{01,02}
       UniswapV2Router01
         removeLiquidity:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  21) UniswapV2Router{01,02}
       UniswapV2Router01
         removeLiquidityETH:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  22) UniswapV2Router{01,02}
       UniswapV2Router01
         removeLiquidityWithPermit:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  23) UniswapV2Router{01,02}
       UniswapV2Router01
         removeLiquidityETHWithPermit:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  24) UniswapV2Router{01,02}
       UniswapV2Router01
         swapExactTokensForTokens
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  25) UniswapV2Router{01,02}
       UniswapV2Router01
         swapExactTokensForTokens
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  26) UniswapV2Router{01,02}
       UniswapV2Router01
         swapExactTokensForTokens
           gas:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  27) UniswapV2Router{01,02}
       UniswapV2Router01
         swapTokensForExactTokens
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  28) UniswapV2Router{01,02}
       UniswapV2Router01
         swapTokensForExactTokens
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  29) UniswapV2Router{01,02}
       UniswapV2Router01
         swapExactETHForTokens
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  30) UniswapV2Router{01,02}
       UniswapV2Router01
         swapExactETHForTokens
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  31) UniswapV2Router{01,02}
       UniswapV2Router01
         swapExactETHForTokens
           gas:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  32) UniswapV2Router{01,02}
       UniswapV2Router01
         swapTokensForExactETH
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  33) UniswapV2Router{01,02}
       UniswapV2Router01
         swapTokensForExactETH
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  34) UniswapV2Router{01,02}
       UniswapV2Router01
         swapExactTokensForETH
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  35) UniswapV2Router{01,02}
       UniswapV2Router01
         swapExactTokensForETH
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  36) UniswapV2Router{01,02}
       UniswapV2Router01
         swapETHForExactTokens
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  37) UniswapV2Router{01,02}
       UniswapV2Router01
         swapETHForExactTokens
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  38) UniswapV2Router{01,02}
       UniswapV2Router02
         addLiquidity:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  39) UniswapV2Router{01,02}
       UniswapV2Router02
         addLiquidityETH:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  40) UniswapV2Router{01,02}
       UniswapV2Router02
         removeLiquidity:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  41) UniswapV2Router{01,02}
       UniswapV2Router02
         removeLiquidityETH:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  42) UniswapV2Router{01,02}
       UniswapV2Router02
         removeLiquidityWithPermit:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  43) UniswapV2Router{01,02}
       UniswapV2Router02
         removeLiquidityETHWithPermit:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  44) UniswapV2Router{01,02}
       UniswapV2Router02
         swapExactTokensForTokens
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  45) UniswapV2Router{01,02}
       UniswapV2Router02
         swapExactTokensForTokens
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  46) UniswapV2Router{01,02}
       UniswapV2Router02
         swapExactTokensForTokens
           gas:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  47) UniswapV2Router{01,02}
       UniswapV2Router02
         swapTokensForExactTokens
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  48) UniswapV2Router{01,02}
       UniswapV2Router02
         swapTokensForExactTokens
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  49) UniswapV2Router{01,02}
       UniswapV2Router02
         swapExactETHForTokens
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  50) UniswapV2Router{01,02}
       UniswapV2Router02
         swapExactETHForTokens
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  51) UniswapV2Router{01,02}
       UniswapV2Router02
         swapExactETHForTokens
           gas:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  52) UniswapV2Router{01,02}
       UniswapV2Router02
         swapTokensForExactETH
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  53) UniswapV2Router{01,02}
       UniswapV2Router02
         swapTokensForExactETH
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  54) UniswapV2Router{01,02}
       UniswapV2Router02
         swapExactTokensForETH
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  55) UniswapV2Router{01,02}
       UniswapV2Router02
         swapExactTokensForETH
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  56) UniswapV2Router{01,02}
       UniswapV2Router02
         swapETHForExactTokens
           happy path:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  57) UniswapV2Router{01,02}
       UniswapV2Router02
         swapETHForExactTokens
           amounts:
     RuntimeError: VM Exception while processing transaction: invalid opcode
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

  58) UniswapV2Router02
       getAmountsOut:
     RuntimeError: VM Exception while processing transaction: revert
      at Function.RuntimeError.fromResults (node_modules/ganache-core/lib/utils/runtimeerror.js:89:13)
      at BlockchainDouble.processBlock (node_modules/ganache-core/lib/blockchain_double.js:632:24)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

error Command failed with exit code 58.
ahmetson commented 3 years ago

As South Africans love to say, "Apparently", the pancake didn't update the tests when they forked from Uniswap! As all other forks of PancakeSwap, are failing too. I cloned and tested them all.