Giter VIP home page Giter VIP logo

yamv3's Introduction

🍠 YAM Protocol 🍠

The Protocol

Yam is an experimental protocol building upon the most exciting innovations in programmable money and governance. Built by a team of DeFi natives, it seeks to create:

• an elastic supply to seek eventual price stability
• a governable treasury to further support stability
• fully on-chain governance to enable decentralized control and evolution from Day 1
• a fair distribution mechanism that incentivizes key community members to actively take the reins of governance

At its core, YAM is an elastic supply cryptocurrency, which expands and contracts its supply in response to market conditions, initially targeting 1 USD per YAM. This stability mechanism includes one key addition to existing elastic supply models such as Ampleforth: a portion of each supply expansion is used to buy yCurve (a high-yield USD-denominated stablecoin) and add it to the Yam treasury, which is controlled via Yam community governance.

We have built Yam to be a minimally viable monetary experiment, and at launch there will be zero value in the YAM token. After deployment, it is entirely dependent upon YAM holders to determine its value and future development. We have employed a fork of the Compound governance module, which will ensure all updates to the Yam protocol happen entirely on-chain through community voting.

Audits

None. Contributors have given their best efforts to ensure the security of these contracts, but make no guarantees. It has been spot checked by just a few pairs of eyes. It is a probability - not just a possibility - that there are bugs. That said, minimal changes were made to the staking/distribution contracts that have seen hundreds of millions flow through them via SNX, YFI, and YFI derivatives. The reserve contract is excessively simple as well. We prioritized staked assets' security first and foremost.

The original devs encourage governance to fund a bug bounty/security audit

The token itself is largely based on COMP and Ampleforth which have undergone audits - but we made non-trivial changes.

The rebaser may also have bugs - but has been tested in multiple scenarios. It is restricted to Externally Owned Accounts (EOAs) calling the rebase function for added security. SafeMath is used everywhere.

If you feel uncomfortable with these disclosures, don't stake or hold YAM. If the community votes to fund an audit, or the community is gifted an audit, there is no assumption that the original devs will be around to implement fixes, and is entirely at their discretion.

The Token

The core YAM token uses yCRV as the reserve currency, which is roughly a $1 peg. Each supply expansion (referred to as an inflating rebase), a portion of tokens is minted and used to build up the treasury. This treasury is then in complete ownership of YAM holders via governance.

Distribution

Rather than allocating a portion of the supply to the founding team, YAM is being distributed in the spirit of YFI: no premine, no founder shares, no VC interests -- simply equal-opportunity staking distribution to attract a broad and vision-aligned community to steward the future of the protocol and token.

The initial distribution of YAM will be evenly distributed across eight staking pools: WETH, YFI, MKR, LEND, LINK, SNX, COMP, and ETH/AMPL Uniswap v2 LP tokens. These pools were chosen intentionally to reach a broad swath of the overall DeFi community, as well as specific communities with a proven commitment to active governance and an understanding of complex tokenomics.

Following the launch of the initial distribution pools, a second distribution wave will be incentivized through a YAM/yCRV Uniswap pool. This pool will allow Uniswap's TWAP-based oracle to provide necessary input as the basis for rebase calculations, as well as provide liquidity for the rebase to purchase yCurve for the treasury.

Rebases

Rebases are controlled by an external contract called the Rebaser. This is comparable to Ampleforth's monetaryPolicy contract. It dictates how large the rebase is and what happens on the rebase. The YAM token just changes the supply based on what this contract provides it.

There are a requirements before rebases are active:
• Liquid YAM/yCRV market
init_twap()
activate_rebasing()

Following the launch of the second pool, rebasing can begin its activation phase. This begins with init_twap() on the rebaser contract. Anyone can call this at anytime once there is a YAM/yCRV Uniswap V2 market. The oracle is designed to be 12 hours between checkpoints. Given that, 12 hours after init_twap() is called, anyone can call activate_rebasing(). This turns rebasing on, permanently. Now anyone can call rebase() when inRebaseWindow() == true;.

In a rebase, the order of operations are:
• ensure in rebase window
• calculate how far off-price is from the peg
• dampen the rebase by the rebaseLag
• if positive calculate protocol mint amount
• change scaling factor, (in/de)flating the supply
• sync uniswap, mint, sell to uniswap, transfer excess YAM and bought yCRV to reserves
• call any extra functions governance adds in the future (i.e. Balancer gulps)

Governance

Governance is entirely dictated by YAM holders from the start. Upon deployment, ownership of all YAM protocol contracts was relinquished to the timelocked Governance contract or removed entirely. At the very least, this can be seen as a reference implementation for a truly decentralized protocol.

Development

Building

This repo uses truffle and dapptest for testing. Most of the updated tests were done using dapptest, while deployment will be handled by truffle. Some tests weren't transfered over from v1, particularly around governance.

Then, to build the contracts for deployment run:

$ truffle compile

To run tests, install Nix and dapptools:

$ curl -L https://nixos.org/nix/install > nix.sh
$ nix-env -iA dapp hevm -f https://github.com/dapphub/dapptools/tarball/master -v

Running tests:

$ export ETH_RPC_URL=http://localhost:8545 # mainnet node
$ ./scripts/dapp-test.sh

Attributions

Much of this codebase is modified from existing works, including:

Compound - Jumping off point for token code and governance

Ampleforth - Initial rebasing mechanism, modified to better suit the YAM protocol

Synthetix - Rewards staking contract

YEarn/YFI - Initial fair distribution implementation

yamv3's People

Contributors

brockelmore avatar nateawelch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yamv3's Issues

Test fails [first_rebase:test_launched_proposal]

Run separate test case test_launched_proposal from ./contracts/tests/other/first_rebase.t.sol:YAMv3RebaserTest

Result:

Running 1 tests for ./contracts/tests/other/first_rebase.t.sol:YAMv3RebaserTest
[BAIL] test_launched_proposal()

Failure: test_launched_proposal
  ./contracts/tests/other/first_rebase.t.sol:YAMv3RebaserTest
   ├╴constructor
   ├╴setUp()
   └╴test_launched_proposal()
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::latestProposalIds(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/first_rebase.t.sol:70)
      │  └╴← (2)
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::state(2) (./contracts/tests/other/first_rebase.t.sol:72)
      │  └╴← (7)
      ├╴log_bytes32(«Assertion failed») (./contracts/lib/test.sol:55)
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::queue(2) (./contracts/tests/other/first_rebase.t.sol:75)
      │  └╴error Revert ("GovernorAlpha::queue: proposal can only be queued if it is succeeded") <no source map>
      └╴error Revert ("GovernorAlpha::queue: proposal can only be queued if it is succeeded") <source not found>
  
  «Assertion failed»

Test fails [test_scenario]

Run separate test case test_scenario from ./contracts/tests/other/full.t.sol:YAMv3FullTest

Result:

dapp-test: rpc block: 11430846
Running 1 tests for ./contracts/tests/other/full.t.sol:YAMv3FullTest
[BAIL] test_scenario()

Failure: test_scenario
  ./contracts/tests/other/full.t.sol:YAMv3FullTest
   ├╴constructor
   ├╴setUp()
   │  ├╴create YAMDelegate@0xa923aF6D05993495257a872ec69DBbf01501Eb0E (./contracts/tests/other/full.t.sol:156)
   │  │  └╴← 15341 bytes of code
   │  ├╴create YAMDelegator@0x0e2298E3B3390e3b945a5456fBf59eCc3f55DA16 (./contracts/tests/other/full.t.sol:159)
   │  │  ├╴delegatecall YAMDelegate::initialize(string,string,uint8,address,uint256)("YAM", "YAM", 18, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 210000000000000000000000) <source not found>
   │  │  │  └╴← 0x
   │  │  ├╴delegatecall YAMDelegate::_becomeImplementation(bytes)(0x) <source not found>
   │  │  │  └╴← 0x
   │  │  ├╴NewImplementation(0x0, 0xa923af6d05993495257a872ec69dbbf01501eb0e) <no source map>
   │  │  └╴← 6374 bytes of code
   │  ├╴call YAMDelegator::transfer(address,uint256)(0x114ee2238327a1d12c2ceb42921efe314cba6e6, 10000000000000000000000) (./contracts/tests/other/full.t.sol:168)
   │  │  ├╴delegatecall YAMDelegate::transfer(address,uint256)(0x114ee2238327a1d12c2ceb42921efe314cba6e6, 10000000000000000000000) (./contracts/token/YAMDelegator.sol:456)
   │  │  │  ├╴Transfer(10000000000000000000000) (./contracts/token/YAM.sol:160)
   │  │  │  └╴← (True)
   │  │  └╴← (True)
   │  ├╴call YAMDelegator::initSupply()() (./contracts/tests/other/full.t.sol:170)
   │  │  └╴← (210000000000000000000000000000)
   │  ├╴call YAMDelegator::totalSupply()() (./contracts/tests/other/full.t.sol:171)
   │  │  └╴← (210000000000000000000000)
   │  ├╴call YAMDelegator::yamsScalingFactor()() (./contracts/tests/other/full.t.sol:149)
   │  │  └╴← (1000000000000000000)
   │  ├╴call YAMDelegator::balanceOf(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/full.t.sol:173)
   │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x70a08231000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:443)
   │  │  │  ├╴delegatecall YAMDelegate::balanceOf(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:406)
   │  │  │  │  └╴← (200000000000000000000000)
   │  │  │  └╴← (0x000000000000000000000000000000000000000000002a5a058fc295ed000000)
   │  │  └╴← (200000000000000000000000)
   │  ├╴call YAMDelegator::balanceOf(address)(0x114ee2238327a1d12c2ceb42921efe314cba6e6) (./contracts/tests/other/full.t.sol:148)
   │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x70a082310000000000000000000000000114ee2238327a1d12c2ceb42921efe314cba6e6) (./contracts/token/YAMDelegator.sol:443)
   │  │  │  ├╴delegatecall YAMDelegate::balanceOf(address)(0x114ee2238327a1d12c2ceb42921efe314cba6e6) (./contracts/token/YAMDelegator.sol:406)
   │  │  │  │  └╴← (10000000000000000000000)
   │  │  │  └╴← (0x00000000000000000000000000000000000000000000021e19e0c9bab2400000)
   │  │  └╴← (10000000000000000000000)
   │  ├╴create Migrator@0x3CE7deD537fa8E9fB197A103748F73157Cd06461 (./contracts/tests/other/full.t.sol:179)
   │  │  ├╴OwnershipTransferred() (./contracts/migrator/Migrator.sol:23)
   │  │  └╴← 8480 bytes of code
   │  ├╴call YAMDelegator::_setMigrator(address)(0x3ce7ded537fa8e9fb197a103748f73157cd06461) (./contracts/tests/other/full.t.sol:181)
   │  │  ├╴delegatecall YAMDelegate::_setMigrator(address)(0x3ce7ded537fa8e9fb197a103748f73157cd06461) (./contracts/token/YAMDelegator.sol:456)
   │  │  │  ├╴NewMigrator(0x3ce7ded537fa8e9fb197a103748f73157cd06461, 0x3ce7ded537fa8e9fb197a103748f73157cd06461) (./contracts/token/YAM.sol:349)
   │  │  │  └╴← 0x
   │  │  └╴← 0x
   │  ├╴call YAMDelegator::migrator()() (./contracts/tests/other/full.t.sol:182)
   │  │  └╴← (0x3ce7ded537fa8e9fb197a103748f73157cd06461)
   │  ├╴call Migrator::setV3Address(address)(0xe2298e3b3390e3b945a5456fbf59ecc3f55da16) (./contracts/tests/other/full.t.sol:185)
   │  │  └╴← 0x
   │  ├╴call Migrator::addDelegatorReward(address[],uint256[],bool)([0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84], [100000000000000000000000000], False) (./contracts/tests/other/full.t.sol:193)
   │  │  └╴← 0x
   │  ├╴call Migrator::delegatorRewardsDone()() (./contracts/tests/other/full.t.sol:199)
   │  │  └╴← 0x
   │  ├╴create YAMReserves@0xC53195Bbad57105cc9a4DF752121AfD9C15FBd8f (./contracts/tests/other/full.t.sol:203)
   │  │  └╴← 3205 bytes of code
   │  ├╴create <unknown contract>@0x649714BC2ffFcB1e65c689B49A10216d4960833D (./contracts/tests/other/full.t.sol:208)
   │  │  └╴← 19401 bytes of code
   │  ├╴call YAMDelegator::_setRebaser(address)(0x649714bc2fffcb1e65c689b49a10216d4960833d) (./contracts/tests/other/full.t.sol:217)
   │  │  ├╴delegatecall YAMDelegate::_setRebaser(address)(0x649714bc2fffcb1e65c689b49a10216d4960833d) (./contracts/token/YAMDelegator.sol:456)
   │  │  │  ├╴NewRebaser(0x0, 0x649714bc2fffcb1e65c689b49a10216d4960833d) (./contracts/token/YAM.sol:337)
   │  │  │  └╴← 0x
   │  │  └╴← 0x
   │  ├╴call YAMReserves::_setRebaser(address)(0x649714bc2fffcb1e65c689b49a10216d4960833d) (./contracts/tests/other/full.t.sol:218)
   │  │  ├╴call YAMDelegator::decreaseAllowance(address,uint256)(0x0, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/reserves/YAMReserves.sol:61)
   │  │  │  ├╴delegatecall YAMDelegate::decreaseAllowance(address,uint256)(0x0, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/token/YAMDelegator.sol:456)
   │  │  │  │  ├╴Approval(0) (./contracts/token/YAM.sol:283)
   │  │  │  │  └╴← (True)
   │  │  │  └╴← (True)
   │  │  ├╴call YAMDelegator::approve(address,uint256)(0x649714bc2fffcb1e65c689b49a10216d4960833d, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/reserves/YAMReserves.sol:63)
   │  │  │  ├╴delegatecall YAMDelegate::approve(address,uint256)(0x649714bc2fffcb1e65c689b49a10216d4960833d, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/token/YAMDelegator.sol:456)
   │  │  │  │  ├╴Approval(115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/token/YAM.sol:246)
   │  │  │  │  └╴← (True)
   │  │  │  └╴← (True)
   │  │  ├╴NewRebaser(0x0, 0x649714bc2fffcb1e65c689b49a10216d4960833d) (./contracts/reserves/YAMReserves.sol:64)
   │  │  └╴← 0x
   │  ├╴call YAMDelegator::rebaser()() (./contracts/tests/other/full.t.sol:220)
   │  │  └╴← (0x649714bc2fffcb1e65c689b49a10216d4960833d)
   │  ├╴call YAMReserves::rebaser()() (./contracts/tests/other/full.t.sol:220)
   │  │  └╴← (0x649714bc2fffcb1e65c689b49a10216d4960833d)
   │  ├╴create Timelock@0x1D745DD84f2512a00E01052302237C919D199822 (./contracts/tests/other/full.t.sol:225)
   │  │  └╴← 7125 bytes of code
   │  ├╴create <unknown contract>@0xB0D5f0D3A3D870e9c7d9436F7b0Fd4CEf0C67A2B (./contracts/tests/other/full.t.sol:226)
   │  │  └╴← 15032 bytes of code
   │  ├╴create YAMIncentivizer@0x5c9a836fED0C4dDcc3244104CBD6a7812bC98A95 (./contracts/tests/other/full.t.sol:269)
   │  │  ├╴OwnershipTransferred() <no source map>
   │  │  └╴← 8889 bytes of code
   │  ├╴call YAMIncentivizer::setRewardDistribution(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/full.t.sol:270)
   │  │  └╴← 0x
   │  ├╴call YAMDelegator::_setIncentivizer(address)(0x5c9a836fed0c4ddcc3244104cbd6a7812bc98a95) (./contracts/tests/other/full.t.sol:271)
   │  │  ├╴delegatecall YAMDelegate::_setIncentivizer(address)(0x5c9a836fed0c4ddcc3244104cbd6a7812bc98a95) (./contracts/token/YAMDelegator.sol:456)
   │  │  │  ├╴NewIncentivizer(0x0, 0x5c9a836fed0c4ddcc3244104cbd6a7812bc98a95) (./contracts/token/YAM.sol:361)
   │  │  │  └╴← 0x
   │  │  └╴← 0x
   │  ├╴call YAMIncentivizer::notifyRewardAmount(uint256)(0) (./contracts/tests/other/full.t.sol:272)
   │  │  ├╴RewardAdded(0) (./contracts/incentivizers/YAMIncentives.sol:771)
   │  │  └╴← 0x
   │  ├╴call YAMDelegator::_setPendingGov(address)(0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/tests/other/full.t.sol:230)
   │  │  ├╴delegatecall YAMDelegate::_setPendingGov(address)(0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/token/YAMDelegator.sol:456)
   │  │  │  ├╴NewPendingGov(0x0, 0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/token/YAM.sol:373)
   │  │  │  └╴← 0x
   │  │  └╴← 0x
   │  ├╴call YAMReserves::_setPendingGov(address)(0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/tests/other/full.t.sol:231)
   │  │  ├╴NewPendingGov(0x0, 0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/reserves/YAMReserves.sol:76)
   │  │  └╴← 0x
   │  ├╴call YAMRebaser::_setPendingGov(address)(0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/tests/other/full.t.sol:232)
   │  │  ├╴NewPendingGov(0x0, 0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/rebaser/YAMRebaser.sol:342)
   │  │  └╴← 0x
   │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xe2298e3b3390e3b945a5456fbf59ecc3f55da16, 0, "_acceptGov()", 0x, 0) (./contracts/tests/other/full.t.sol:233)
   │  │  ├╴call YAMDelegator::_acceptGov()() (./contracts/governance/TimeLock.sol:192)
   │  │  │  ├╴delegatecall YAMDelegate::_acceptGov()() (./contracts/token/YAMDelegator.sol:456)
   │  │  │  │  ├╴NewGov(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/token/YAM.sol:386)
   │  │  │  │  └╴← 0x
   │  │  │  └╴← 0x
   │  │  ├╴ExecuteTransaction(0, "_acceptGov()", 0x, 0) (./contracts/governance/TimeLock.sol:195)
   │  │  └╴← (0x)
   │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 0, "_acceptGov()", 0x, 0) (./contracts/tests/other/full.t.sol:240)
   │  │  ├╴call YAMReserves::_acceptGov()() (./contracts/governance/TimeLock.sol:192)
   │  │  │  ├╴NewGov(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/reserves/YAMReserves.sol:89)
   │  │  │  └╴← 0x
   │  │  ├╴ExecuteTransaction(0, "_acceptGov()", 0x, 0) (./contracts/governance/TimeLock.sol:195)
   │  │  └╴← (0x)
   │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0x649714bc2fffcb1e65c689b49a10216d4960833d, 0, "_acceptGov()", 0x, 0) (./contracts/tests/other/full.t.sol:247)
   │  │  ├╴call YAMRebaser::_acceptGov()() (./contracts/governance/TimeLock.sol:192)
   │  │  │  ├╴NewGov(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/rebaser/YAMRebaser.sol:368)
   │  │  │  └╴← 0x
   │  │  ├╴ExecuteTransaction(0, "_acceptGov()", 0x, 0) (./contracts/governance/TimeLock.sol:195)
   │  │  └╴← (0x)
   │  ├╴call YAMIncentivizer::setRewardDistribution(address)(0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/tests/other/full.t.sol:254)
   │  │  └╴← 0x
   │  ├╴call YAMIncentivizer::transferOwnership(address)(0x1d745dd84f2512a00e01052302237c919d199822) (./contracts/tests/other/full.t.sol:255)
   │  │  ├╴OwnershipTransferred() (./contracts/incentivizers/YAMIncentives.sol:342)
   │  │  └╴← 0x
   │  ├╴call Timelock::setPendingAdmin(address)(0xb0d5f0d3a3d870e9c7d9436f7b0fd4cef0c67a2b) (./contracts/tests/other/full.t.sol:256)
   │  │  ├╴NewPendingAdmin() (./contracts/governance/TimeLock.sol:117)
   │  │  └╴← 0x
   │  ├╴call GovernorAlpha::__acceptAdmin()() (./contracts/tests/other/full.t.sol:257)
   │  │  ├╴call Timelock::acceptAdmin()() (./contracts/governance/YAMGovernorAlpha.sol:429)
   │  │  │  ├╴NewAdmin() (./contracts/governance/TimeLock.sol:98)
   │  │  │  └╴← 0x
   │  │  └╴← 0x
   │  ├╴call GovernorAlpha::__abdicate()() (./contracts/tests/other/full.t.sol:258)
   │  │  └╴← 0x
   │  ├╴call YAMDelegator::gov()() (./contracts/tests/other/full.t.sol:259)
   │  │  └╴← (0x1d745dd84f2512a00e01052302237c919d199822)
   │  ├╴call YAMReserves::gov()() (./contracts/tests/other/full.t.sol:259)
   │  │  └╴← (0x1d745dd84f2512a00e01052302237c919d199822)
   │  ├╴call YAMRebaser::gov()() (./contracts/tests/other/full.t.sol:259)
   │  │  └╴← (0x1d745dd84f2512a00e01052302237c919d199822)
   │  ├╴call YAMIncentivizer::owner()() (./contracts/tests/other/full.t.sol:259)
   │  │  └╴← (0x1d745dd84f2512a00e01052302237c919d199822)
   │  ├╴call YAMIncentivizer::rewardDistribution()() (./contracts/tests/other/full.t.sol:259)
   │  │  └╴← (0x1d745dd84f2512a00e01052302237c919d199822)
   │  ├╴call Timelock::admin()() (./contracts/tests/other/full.t.sol:259)
   │  │  └╴← (0xb0d5f0d3a3d870e9c7d9436f7b0fd4cef0c67a2b)
   │  ├╴call GovernorAlpha::guardian()() (./contracts/tests/other/full.t.sol:259)
   │  │  └╴← (0x0)
   │  └╴create User@0xaE99fF8fe2236AF5083Ea979Ecf1DbAA0EFD07E3 (./contracts/tests/other/full.t.sol:291)
   │     └╴← 2491 bytes of code
   └╴test_scenario()
      ├╴call 0xAba8cAc6866B83Ae4eec97DD07ED254282f6aD8A::balanceOf(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/full.t.sol:299)
      │  └╴← (0)
      ├╴call 0xAba8cAc6866B83Ae4eec97DD07ED254282f6aD8A::approve(0x3ce7ded537fa8e9fb197a103748f73157cd06461, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/tests/other/full.t.sol:301)
      │  ├╴Approval(115792089237316195423570985008687907853269984665640564039457584007913129639935) <no source map>
      │  └╴← (True)
      ├╴call Migrator::startTime()() (./contracts/tests/other/full.t.sol:304)
      │  └╴← (1600444800)
      ├╴call Migrator::migrate()() (./contracts/tests/other/full.t.sol:307)
      │  ├╴call 0xAba8cAc6866B83Ae4eec97DD07ED254282f6aD8A::balanceOf(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/migrator/Migrator.sol:132)
      │  │  └╴← (0)
      │  ├╴call 0xAba8cAc6866B83Ae4eec97DD07ED254282f6aD8A::transferFrom(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0xdead, 0) (./contracts/lib/Address.sol:123)
      │  │  ├╴Transfer(0) <no source map>
      │  │  ├╴Approval(115792089237316195423570985008687907853269984665640564039457584007913129639935) <no source map>
      │  │  └╴← (True)
      │  ├╴call YAMDelegator::mint(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0) (./contracts/migrator/Migrator.sol:184)
      │  │  ├╴delegatecall YAMDelegate::mint(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0) (./contracts/token/YAMDelegator.sol:456)
      │  │  │  ├╴Mint(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0) (./contracts/token/YAM.sol:109)
      │  │  │  ├╴Transfer(0) (./contracts/token/YAM.sol:110)
      │  │  │  └╴← 0x0000000000000000000000000000000000000000000000000000000000000001
      │  │  └╴← 0x0000000000000000000000000000000000000000000000000000000000000001
      │  └╴← 0x
      ├╴call YAMDelegator::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/full.t.sol:309)
      │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x3af9e669000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:443)
      │  │  ├╴delegatecall YAMDelegate::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  └╴← (200000000000000000000000000000)
      │  │  └╴← (0x0000000000000000000000000000000000000002863c1f5cdae42f9540000000)
      │  └╴← (200000000000000000000000000000)
      ├╴call 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D::swapExactETHForTokens(1, [0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2, 0xdf5e0e81dff6faf3a7e52ba697820c5e32d806a8], 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 1600444860) (./contracts/tests/other/full.t.sol:766)
      │  ├╴call 0x55dF969467EBdf954FE33470ED9c3C0F8Fab0816::getReserves() <no source map>
      │  │  └╴← (72620905063326145304, 36088528161442111455556, 1607679532)
      │  ├╴call 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2::deposit() <no source map>
      │  │  ├╴log2(0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c, 0x7a250d5630b4cf539739df2c5dacb4c659f2488d, 0x0000000000000000000000000000000000000000000000000de0b6b3a7640000) <no source map>
      │  │  └╴← 0x
      │  ├╴call 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2::transfer(0x55df969467ebdf954fe33470ed9c3c0f8fab0816, 1000000000000000000) <no source map>
      │  │  ├╴Transfer(1000000000000000000) <no source map>
      │  │  └╴← (True)
      │  ├╴call 0x55dF969467EBdf954FE33470ED9c3C0F8Fab0816::swap(0, 488743364077089015658, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x) <no source map>
      │  │  ├╴call 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8::transfer(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 488743364077089015658) <no source map>
      │  │  │  ├╴Transfer(488743364077089015658) <no source map>
      │  │  │  └╴← (True)
      │  │  ├╴call 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2::balanceOf(0x55df969467ebdf954fe33470ed9c3c0f8fab0816) <no source map>
      │  │  │  └╴← (73620905063326145304)
      │  │  ├╴call 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8::balanceOf(0x55df969467ebdf954fe33470ed9c3c0f8fab0816) <no source map>
      │  │  │  └╴← (35599784797365022439898)
      │  │  ├╴Sync(73620905063326145304, 35599784797365022439898) <no source map>
      │  │  ├╴Swap(1000000000000000000, 0, 0, 488743364077089015658) <no source map>
      │  │  └╴← 0x
      │  └╴← ([1000000000000000000, 488743364077089015658])
      ├╴call 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8::balanceOf(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/full.t.sol:767)
      │  └╴← (488743364077089015658)
      ├╴call 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8::allowance(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x5dbcf33d8c2e976c6b560249878e6f1491bca25c) (./contracts/tests/other/full.t.sol:768)
      │  └╴← (0)
      ├╴call 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8::approve(0x5dbcf33d8c2e976c6b560249878e6f1491bca25c, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/tests/other/full.t.sol:770)
      │  ├╴Approval(115792089237316195423570985008687907853269984665640564039457584007913129639935) <no source map>
      │  └╴← (True)
      ├╴call 0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c::deposit(488743364077089015658) (./contracts/tests/other/full.t.sol:772)
      │  ├╴call 0x9E65Ad11b299CA0Abefc2799dDB6314Ef2d91080::balanceOf(0xdf5e0e81dff6faf3a7e52ba697820c5e32d806a8) <no source map>
      │  │  ├╴call 0x07DB4B9b3951094B9E278D336aDf46a036295DE7::0x722713f7 <no source map>
      │  │  │  ├╴call 0xC17ADf949f524213a540609c386035D7D685B16F::balanceOf(0xfa712ee4788c042e2b7bb55e6cb8ec569c4530c1) <no source map>
      │  │  │  │  ├╴call 0xFA712EE4788C042e2B7BB55E6cb8ec569C4530c1::balanceOf(0xf147b8125d2ef93fb6965db97d6746952a133934) <no source map>
      │  │  │  │  │  └╴← (69880748146919993368117104)
      │  │  │  │  └╴← (69880748146919993368117104)
      │  │  │  ├╴call 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8::balanceOf(0x7db4b9b3951094b9e278d336adf46a036295de7) <no source map>
      │  │  │  │  └╴← (0)
      │  │  │  └╴← 0x00000000000000000000000000000000000000000039cdd2f2a2601b624bff70
      │  │  └╴← (69880748146919993368117104)
      │  ├╴call 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8::balanceOf(0x5dbcf33d8c2e976c6b560249878e6f1491bca25c) <no source map>
      │  │  └╴← (53216464519737666503412)
      │  ├╴call 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8::transferFrom(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x5dbcf33d8c2e976c6b560249878e6f1491bca25c, 488743364077089015658) <no source map>
      │  │  ├╴Transfer(488743364077089015658) <no source map>
      │  │  └╴← (True)
      │  ├╴Transfer(435894308416950199099) <no source map>
      │  └╴← 0x
      ├╴call 0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c::approve(0x7a250d5630b4cf539739df2c5dacb4c659f2488d, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/tests/other/full.t.sol:789)
      │  ├╴Approval(115792089237316195423570985008687907853269984665640564039457584007913129639935) <no source map>
      │  └╴← (True)
      ├╴call YAMDelegator::approve(address,uint256)(0x7a250d5630b4cf539739df2c5dacb4c659f2488d, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/tests/other/full.t.sol:790)
      │  ├╴delegatecall YAMDelegate::approve(address,uint256)(0x7a250d5630b4cf539739df2c5dacb4c659f2488d, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/token/YAMDelegator.sol:456)
      │  │  ├╴Approval(115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/token/YAM.sol:246)
      │  │  └╴← (True)
      │  └╴← (True)
      ├╴call 0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c::balanceOf(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/full.t.sol:794)
      │  └╴← (445894308416950199099)
      ├╴call 0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c::balanceOf(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/full.t.sol:795)
      │  └╴← (445894308416950199099)
      ├╴call 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D::addLiquidity(0xe2298e3b3390e3b945a5456fbf59ecc3f55da16, 0x5dbcf33d8c2e976c6b560249878e6f1491bca25c, 222947154208475099549, 222947154208475099549, 1, 1, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 1600444860) (./contracts/tests/other/full.t.sol:791)
      │  ├╴call 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f::0xe6a439050000000000000000000000000e2298e3b3390e3b945a5456fbf59ecc3f55da160000000000000000000000005dbcf33d8c2e976c6b560249878e6f1491bca25c <no source map>
      │  │  └╴← 0x000000000000000000000000728d5de93da2d999a4ab83a656c1ac38d03856dc
      │  ├╴call 0x728d5dE93dA2d999A4AB83a656C1ac38d03856DC::getReserves() <no source map>
      │  │  └╴← (9583, 106, 1602486717)
      │  ├╴call YAMDelegator::transferFrom(address,address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x728d5de93da2d999a4ab83a656c1ac38d03856dc, 222947154208475099549) <no source map>
      │  │  ├╴delegatecall YAMDelegate::transferFrom(address,address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x728d5de93da2d999a4ab83a656c1ac38d03856dc, 222947154208475099549) (./contracts/token/YAMDelegator.sol:456)
      │  │  │  ├╴Transfer(222947154208475099549) (./contracts/token/YAM.sol:186)
      │  │  │  └╴← (True)
      │  │  └╴← (True)
      │  ├╴call 0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c::transferFrom(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x728d5de93da2d999a4ab83a656c1ac38d03856dc, 2466075169163973761) <no source map>
      │  │  ├╴Transfer(2466075169163973761) <no source map>
      │  │  ├╴Approval(115792089237316195423570985008687907853269984665640564039455117932743965666174) <no source map>
      │  │  └╴← (True)
      │  ├╴call 0x728d5dE93dA2d999A4AB83a656C1ac38d03856DC::mint(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) <no source map>
      │  │  ├╴call YAMDelegator::balanceOf(address)(0x728d5de93da2d999a4ab83a656c1ac38d03856dc) <no source map>
      │  │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x70a08231000000000000000000000000728d5de93da2d999a4ab83a656c1ac38d03856dc) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  │  ├╴delegatecall YAMDelegate::balanceOf(address)(0x728d5de93da2d999a4ab83a656c1ac38d03856dc) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  │  └╴← (222947154208475099549)
      │  │  │  │  └╴← (0x00000000000000000000000000000000000000000000000c160367872864b19d)
      │  │  │  └╴← (222947154208475099549)
      │  │  ├╴call 0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c::balanceOf(0x728d5de93da2d999a4ab83a656c1ac38d03856dc) <no source map>
      │  │  │  └╴← (2466075169163973867)
      │  │  ├╴call 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f::0x017e7e58 <no source map>
      │  │  │  └╴← 0x0000000000000000000000000000000000000000000000000000000000000000
      │  │  ├╴Transfer(23264860086452581651) <no source map>
      │  │  ├╴Sync(222947154208475099549, 2466075169163973867) <no source map>
      │  │  ├╴Mint(222947154208475089966, 2466075169163973761) <no source map>
      │  │  └╴← (23264860086452581651)
      │  └╴← (222947154208475099549, 2466075169163973761, 23264860086452581651)
      ├╴call 0x728d5dE93dA2d999A4AB83a656C1ac38d03856DC::approve(0x5c9a836fed0c4ddcc3244104cbd6a7812bc98a95, 115792089237316195423570985008687907853269984665640564039457584007913129639935) (./contracts/tests/other/full.t.sol:609)
      │  ├╴Approval(115792089237316195423570985008687907853269984665640564039457584007913129639935) <no source map>
      │  └╴← (True)
      ├╴call YAMIncentivizer::starttime()() (./contracts/tests/other/full.t.sol:611)
      │  └╴← (1600545600)
      ├╴call 0x728d5dE93dA2d999A4AB83a656C1ac38d03856DC::balanceOf(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/full.t.sol:613)
      │  └╴← (23264860086452581651)
      ├╴call YAMIncentivizer::stake(uint256)(23264860086452581651) (./contracts/tests/other/full.t.sol:616)
      │  ├╴call 0xb93Cc05334093c6B3b8Bfd29933bb8d5C031caBC::transferFrom(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x5c9a836fed0c4ddcc3244104cbd6a7812bc98a95, 23264860086452581651) (./contracts/incentivizers/YAMIncentives.sol:565)
      │  │  └╴error Revert ("ds-math-sub-underflow") <no source map>
      │  └╴error Revert ("SafeERC20: low-level call failed") (./contracts/incentivizers/YAMIncentives.sol:566)
      └╴error Revert ("SafeERC20: low-level call failed") <source not found>

error when running truffle compile

Facing the error below when running truffle compile.

How can it be resolved?

... Compiling ./contracts/token/YAMTokenStorage.sol...
Error: spawnSync /bin/sh ENOBUFS
at Object.spawnSync (internal/child_process.js:1041:20)
at spawnSync (child_process.js:607:24)
at execSync (child_process.js:652:15)
at Object.compile (/usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-compile/compilerSupplier.js:310:1)
at /usr/local/lib/node_modules/truffle/build/webpack:/packages/truffle-compile/index.js:130:1
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Truffle v5.0.2 (core: 5.0.2)
Node v12.14.0

Tests fail [Prop4]

Install Nix and dapptools:

$ curl -L https://nixos.org/nix/install > nix.sh
$ nix-env -iA dapp hevm -f https://github.com/dapphub/dapptools/tarball/master -v

And run tests:

$ export ETH_RPC_URL=http://localhost:8545
$ ./scripts/dapp-test.sh

[FAIL]

+ dapp clean
+ rm -rf out
+ /nix/store/204dgz2yp9nxq7q3jxfi4lfx7i88pcc2-solc-static-0.5.15/bin/solc-0.5.15 --optimize --optimize-runs 50000 --overwrite --combined-json=abi,bin,bin-runtime,srcmap,srcmap-runtime,ast,metadata /=/ ./contracts/rebaser/YAMRebaser.sol ./contracts/governance/YAMGovernorAlpha.sol ./contracts/governance/TimeLock.sol ./contracts/token/YAM.sol ./contracts/token/YAMDelegate.sol ./contracts/token/YAMDelegator.sol ./contracts/token/YAMGovernanceStorage.sol ./contracts/token/YAMGovernance.sol ./contracts/token/YAMTokenStorage.sol ./contracts/token/YAMTokenInterface.sol ./contracts/incentivizers/YAMIncentives.sol ./contracts/incentivizers/Incentivizer.t.sol ./contracts/reserves/YAMReserves.sol ./contracts/Migrations.sol ./contracts/lib/Babylonian.sol ./contracts/lib/test.sol ./contracts/lib/IUniswapV2Pair.sol ./contracts/lib/Context.sol ./contracts/lib/WETH9.sol ./contracts/lib/FixedPoint.sol ./contracts/lib/Address.sol ./contracts/lib/UniswapRouterInterface.sol ./contracts/lib/UniswapV2OracleLibrary.sol ./contracts/lib/IERC20.sol ./contracts/lib/Ownable.sol ./contracts/lib/SafeERC20.sol ./contracts/lib/SafeMath128.sol ./contracts/lib/SafeMath.sol ./contracts/migrator/Migrator.sol ./contracts/tests/other/YAMRebaser.t.sol ./contracts/tests/other/Migrator.t.sol ./contracts/tests/other/YAMDelegator.t.sol ./contracts/tests/other/first_rebase.t.sol ./contracts/tests/other/full.t.sol ./contracts/tests/OTC/YAMReserves2.sol ./contracts/tests/OTC/OTC.sol ./contracts/tests/OTC/proposal.t.sol ./contracts/tests/vesting_pool/VestingPool.sol ./contracts/tests/vesting_pool/VestingPool.t.sol ./contracts/tests/contributor_payout/payout_prop.t.sol ./contracts/tests/index_staking/indexStake.sol ./contracts/tests/index_staking/ReserveUniHelper.sol ./contracts/tests/index_staking/TWAPBounded.sol ./contracts/tests/index_staking/YamGoverned.sol ./contracts/tests/index_staking/indexStake.t.sol ./contracts/tests/governance/governor2.t.sol ./contracts/tests/governance/rebaseLag.t.sol ./contracts/tests/governance/proposal.t.sol ./contracts/tests/proposal_round_2/YAMDelegate.sol ./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol ./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol ./contracts/tests/proposal_round_2/YAMLogic2.sol ./contracts/tests/proposal_round_2/YAMRebaserEth.sol ./contracts/tests/proposal_round_2/proposal.t.sol ./contracts/tests/proposal_round_4/IndexStake.sol ./contracts/tests/proposal_round_4/proposal.t.sol ./contracts/tests/Umbrella/UmbrellaMetaPool.sol ./contracts/tests/Umbrella/UmbrellaMetaPool.t.sol ./contracts/tests/proposal_round_3/YAMDelegate3.sol ./contracts/tests/proposal_round_3/YAMLogic3.sol ./contracts/tests/proposal_round_3/proposal.t.sol ./contracts/tests/killIncentives/proposal.t.sol ./contracts/tests/test_tests/base.t.sol ./contracts/tests/contributor_monthly_payments/MonthlyAllowance.t.sol ./contracts/tests/contributor_monthly_payments/MonthlyAllowance.sol ./contracts/tests/HEVMHelpers.sol
./contracts/governance/YAMGovernorAlpha.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/token/YAMGovernanceStorage.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/token/YAMGovernance.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/rebaser/YAMRebaser.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/test_tests/base.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/OTC/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/Umbrella/UmbrellaMetaPool.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/Umbrella/UmbrellaMetaPool.t.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/contributor_monthly_payments/MonthlyAllowance.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/contributor_payout/payout_prop.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/governance/governor2.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/governance/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/governance/rebaseLag.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/index_staking/indexStake.t.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/killIncentives/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/other/first_rebase.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/other/full.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_2/YAMRebaserEth.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_2/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_3/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_4/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/vesting_pool/VestingPool.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:713:9: Warning: This declaration shadows an existing declaration.
        address delegate = delegates[msg.sender];
        ^--------------^
./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:674:5: The shadowed declaration is here:
    function delegate(address delegatee) public {
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/Umbrella/UmbrellaMetaPool.sol:832:69: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
    function _claimablePremiums(uint256 index, uint256 providerTPS, uint256 globalTPS)
                                                                    ^---------------^
./contracts/tests/Umbrella/UmbrellaMetaPool.t.sol:378:9: Warning: Unused local variable.
        uint256 rate = pool.getInterestRate(100000*10**18, 1000000*10**18);
        ^----------^
./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:678:24: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
    function _delegate(address delegator, address delegatee)
                       ^---------------^
./contracts/tests/proposal_round_2/proposal.t.sol:73:7: Warning: Unused local variable.
      address prev_inc = yamV3.incentivizer();
      ^--------------^
./contracts/tests/proposal_round_2/proposal.t.sol:178:7: Warning: Unused local variable.
      uint256 poolPower = yamV3.getCurrentVotes(eth_yam_lp);
      ^---------------^
./contracts/tests/proposal_round_2/proposal.t.sol:179:7: Warning: Unused local variable.
      uint256 mePower = yamV3.getCurrentVotes(me);
      ^-------------^
./contracts/tests/proposal_round_2/proposal.t.sol:495:9: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
        uint256 twap_bounds,
        ^-----------------^
./contracts/tests/proposal_round_2/proposal.t.sol:611:9: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
        address gov,
        ^---------^
./contracts/governance/YAMGovernorAlpha.sol:45:5: Warning: Function state mutability can be restricted to pure
    function quorumVotes() public view returns (uint256) { return 200000 * 10**24; } // 4% of YAM
    ^------------------------------------------------------------------------------^
./contracts/governance/YAMGovernorAlpha.sol:48:5: Warning: Function state mutability can be restricted to pure
    function proposalThreshold() public view returns (uint256) { return 50000 * 10**24; } // 1% of YAM
    ^-----------------------------------------------------------------------------------^
./contracts/tests/OTC/OTC.sol:220:5: Warning: Function state mutability can be restricted to view
    function recencyCheck()
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:27:5: Warning: Function state mutability can be restricted to pure
    function quorumVotes() public view returns (uint256) { return 200000 * 10**24; } // 4% of YAM
    ^------------------------------------------------------------------------------^
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:30:5: Warning: Function state mutability can be restricted to pure
    function proposalThreshold() public view returns (uint256) { return 50000 * 10**24; } // 1% of YAM
    ^-----------------------------------------------------------------------------------^
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:195:5: Warning: Function state mutability can be restricted to view
    function getPriorVotes(address account, uint256 blockNumber)
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:210:5: Warning: Function state mutability can be restricted to view
    function getCurrentVotes(address account)
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/contributor_monthly_payments/MonthlyAllowance.sol:127:5: Warning: Function state mutability can be restricted to view
    function _currentEpoch()
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/index_staking/TWAPBounded.sol:307:5: Warning: Function state mutability can be restricted to view
    function recencyCheck()
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:404:5: Warning: Function state mutability can be restricted to view
    function add_rebaser_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:434:5: Warning: Function state mutability can be restricted to view
    function add_OTC_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:609:5: Warning: Function state mutability can be restricted to view
    function add_LP_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:668:5: Warning: Function state mutability can be restricted to view
    function add_gov_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:694:5: Warning: Function state mutability can be restricted to view
    function add_impl_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
Running test for address 0x683A78bA1f6b25E29fbBC9Cd1BFA29A51520De84
+ dapp clean
+ rm -rf out
+ /nix/store/204dgz2yp9nxq7q3jxfi4lfx7i88pcc2-solc-static-0.5.15/bin/solc-0.5.15 --optimize --optimize-runs 50000 --overwrite --combined-json=abi,bin,bin-runtime,srcmap,srcmap-runtime,ast,metadata /=/ ./contracts/rebaser/YAMRebaser.sol ./contracts/governance/YAMGovernorAlpha.sol ./contracts/governance/TimeLock.sol ./contracts/token/YAM.sol ./contracts/token/YAMDelegate.sol ./contracts/token/YAMDelegator.sol ./contracts/token/YAMGovernanceStorage.sol ./contracts/token/YAMGovernance.sol ./contracts/token/YAMTokenStorage.sol ./contracts/token/YAMTokenInterface.sol ./contracts/incentivizers/YAMIncentives.sol ./contracts/incentivizers/Incentivizer.t.sol ./contracts/reserves/YAMReserves.sol ./contracts/Migrations.sol ./contracts/lib/Babylonian.sol ./contracts/lib/test.sol ./contracts/lib/IUniswapV2Pair.sol ./contracts/lib/Context.sol ./contracts/lib/WETH9.sol ./contracts/lib/FixedPoint.sol ./contracts/lib/Address.sol ./contracts/lib/UniswapRouterInterface.sol ./contracts/lib/UniswapV2OracleLibrary.sol ./contracts/lib/IERC20.sol ./contracts/lib/Ownable.sol ./contracts/lib/SafeERC20.sol ./contracts/lib/SafeMath128.sol ./contracts/lib/SafeMath.sol ./contracts/migrator/Migrator.sol ./contracts/tests/other/YAMRebaser.t.sol ./contracts/tests/other/Migrator.t.sol ./contracts/tests/other/YAMDelegator.t.sol ./contracts/tests/other/first_rebase.t.sol ./contracts/tests/other/full.t.sol ./contracts/tests/OTC/YAMReserves2.sol ./contracts/tests/OTC/OTC.sol ./contracts/tests/OTC/proposal.t.sol ./contracts/tests/vesting_pool/VestingPool.sol ./contracts/tests/vesting_pool/VestingPool.t.sol ./contracts/tests/contributor_payout/payout_prop.t.sol ./contracts/tests/index_staking/indexStake.sol ./contracts/tests/index_staking/ReserveUniHelper.sol ./contracts/tests/index_staking/TWAPBounded.sol ./contracts/tests/index_staking/YamGoverned.sol ./contracts/tests/index_staking/indexStake.t.sol ./contracts/tests/governance/governor2.t.sol ./contracts/tests/governance/rebaseLag.t.sol ./contracts/tests/governance/proposal.t.sol ./contracts/tests/proposal_round_2/YAMDelegate.sol ./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol ./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol ./contracts/tests/proposal_round_2/YAMLogic2.sol ./contracts/tests/proposal_round_2/YAMRebaserEth.sol ./contracts/tests/proposal_round_2/proposal.t.sol ./contracts/tests/proposal_round_4/IndexStake.sol ./contracts/tests/proposal_round_4/proposal.t.sol ./contracts/tests/Umbrella/UmbrellaMetaPool.sol ./contracts/tests/Umbrella/UmbrellaMetaPool.t.sol ./contracts/tests/proposal_round_3/YAMDelegate3.sol ./contracts/tests/proposal_round_3/YAMLogic3.sol ./contracts/tests/proposal_round_3/proposal.t.sol ./contracts/tests/killIncentives/proposal.t.sol ./contracts/tests/test_tests/base.t.sol ./contracts/tests/contributor_monthly_payments/MonthlyAllowance.t.sol ./contracts/tests/contributor_monthly_payments/MonthlyAllowance.sol ./contracts/tests/HEVMHelpers.sol
./contracts/governance/YAMGovernorAlpha.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/token/YAMGovernanceStorage.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/token/YAMGovernance.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/rebaser/YAMRebaser.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/test_tests/base.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/OTC/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/Umbrella/UmbrellaMetaPool.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/Umbrella/UmbrellaMetaPool.t.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/contributor_monthly_payments/MonthlyAllowance.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/contributor_payout/payout_prop.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/governance/governor2.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/governance/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/governance/rebaseLag.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/index_staking/indexStake.t.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/killIncentives/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/other/first_rebase.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/other/full.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_2/YAMRebaserEth.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_2/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_3/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_4/proposal.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/vesting_pool/VestingPool.t.sol:4:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
pragma experimental ABIEncoderV2;
^-------------------------------^
./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:713:9: Warning: This declaration shadows an existing declaration.
        address delegate = delegates[msg.sender];
        ^--------------^
./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:674:5: The shadowed declaration is here:
    function delegate(address delegatee) public {
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/Umbrella/UmbrellaMetaPool.sol:832:69: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
    function _claimablePremiums(uint256 index, uint256 providerTPS, uint256 globalTPS)
                                                                    ^---------------^
./contracts/tests/Umbrella/UmbrellaMetaPool.t.sol:378:9: Warning: Unused local variable.
        uint256 rate = pool.getInterestRate(100000*10**18, 1000000*10**18);
        ^----------^
./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:678:24: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
    function _delegate(address delegator, address delegatee)
                       ^---------------^
./contracts/tests/proposal_round_2/proposal.t.sol:73:7: Warning: Unused local variable.
      address prev_inc = yamV3.incentivizer();
      ^--------------^
./contracts/tests/proposal_round_2/proposal.t.sol:178:7: Warning: Unused local variable.
      uint256 poolPower = yamV3.getCurrentVotes(eth_yam_lp);
      ^---------------^
./contracts/tests/proposal_round_2/proposal.t.sol:179:7: Warning: Unused local variable.
      uint256 mePower = yamV3.getCurrentVotes(me);
      ^-------------^
./contracts/tests/proposal_round_2/proposal.t.sol:495:9: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
        uint256 twap_bounds,
        ^-----------------^
./contracts/tests/proposal_round_2/proposal.t.sol:611:9: Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.
        address gov,
        ^---------^
./contracts/governance/YAMGovernorAlpha.sol:45:5: Warning: Function state mutability can be restricted to pure
    function quorumVotes() public view returns (uint256) { return 200000 * 10**24; } // 4% of YAM
    ^------------------------------------------------------------------------------^
./contracts/governance/YAMGovernorAlpha.sol:48:5: Warning: Function state mutability can be restricted to pure
    function proposalThreshold() public view returns (uint256) { return 50000 * 10**24; } // 1% of YAM
    ^-----------------------------------------------------------------------------------^
./contracts/tests/OTC/OTC.sol:220:5: Warning: Function state mutability can be restricted to view
    function recencyCheck()
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:27:5: Warning: Function state mutability can be restricted to pure
    function quorumVotes() public view returns (uint256) { return 200000 * 10**24; } // 4% of YAM
    ^------------------------------------------------------------------------------^
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:30:5: Warning: Function state mutability can be restricted to pure
    function proposalThreshold() public view returns (uint256) { return 50000 * 10**24; } // 1% of YAM
    ^-----------------------------------------------------------------------------------^
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:195:5: Warning: Function state mutability can be restricted to view
    function getPriorVotes(address account, uint256 blockNumber)
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/YAMGovernorAlphaWithLps.sol:210:5: Warning: Function state mutability can be restricted to view
    function getCurrentVotes(address account)
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/contributor_monthly_payments/MonthlyAllowance.sol:127:5: Warning: Function state mutability can be restricted to view
    function _currentEpoch()
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/index_staking/TWAPBounded.sol:307:5: Warning: Function state mutability can be restricted to view
    function recencyCheck()
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:404:5: Warning: Function state mutability can be restricted to view
    function add_rebaser_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:434:5: Warning: Function state mutability can be restricted to view
    function add_OTC_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:609:5: Warning: Function state mutability can be restricted to view
    function add_LP_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:668:5: Warning: Function state mutability can be restricted to view
    function add_gov_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
./contracts/tests/proposal_round_2/proposal.t.sol:694:5: Warning: Function state mutability can be restricted to view
    function add_impl_to_prop(
    ^ (Relevant source part starts here and spans across multiple lines).
find: ‘lib’: No such file or directory
find: ‘lib’: No such file or directory
dapp-test: rpc block: 11426269
Running 1 tests for ./contracts/tests/proposal_round_4/proposal.t.sol:Prop4
[FAIL] test_onchain_prop_4()

Failure: test_onchain_prop_4
  ./contracts/tests/proposal_round_4/proposal.t.sol:Prop4
   ├╴constructor
   ├╴setUp()
   │  ├╴create User@0xa923aF6D05993495257a872ec69DBbf01501Eb0E (./contracts/tests/test_tests/base.t.sol:117)
   │  │  └╴← 1777 bytes of code
   │  ├╴create HEVMHelpers@0x0e2298E3B3390e3b945a5456fBf59eCc3f55DA16 (./contracts/tests/test_tests/base.t.sol:118)
   │  │  └╴← 9565 bytes of code
   │  ├╴create YAMHelper@0x3CE7deD537fa8E9fB197A103748F73157Cd06461 (./contracts/tests/test_tests/base.t.sol:119)
   │  │  └╴← 15448 bytes of code
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "pendingGov()", 4) (./contracts/tests/test_tests/base.t.sol:120)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "totalSupply()", 8) (./contracts/tests/test_tests/base.t.sol:121)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "balanceOfUnderlying(address)", 10) (./contracts/tests/test_tests/base.t.sol:122)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "initSupply()", 12) (./contracts/tests/test_tests/base.t.sol:123)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "checkpoints(address,uint32)", 15) (./contracts/tests/test_tests/base.t.sol:124)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "numCheckpoints(address)", 16) (./contracts/tests/test_tests/base.t.sol:125)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::writeBoU(address,address,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0) (./contracts/tests/test_tests/base.t.sol:127)
   │  │  ├╴call YAMDelegator::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:382)
   │  │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x3af9e669000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:443)
   │  │  │  │  ├╴delegatecall YAMDelegate3::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:406)
   │  │  │  │  │  └╴← (58569725907080886030135705)
   │  │  │  │  └╴← (0x00000000000000000000000000000000000000000030729f3419aeade4337199)
   │  │  │  └╴← (58569725907080886030135705)
   │  │  ├╴call YAMDelegator::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:384)
   │  │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x3af9e669000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:443)
   │  │  │  │  ├╴delegatecall YAMDelegate3::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:406)
   │  │  │  │  │  └╴← (0)
   │  │  │  │  └╴← (0x0000000000000000000000000000000000000000000000000000000000000000)
   │  │  │  └╴← (0)
   │  │  ├╴call YAMDelegator::numCheckpoints(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:438)
   │  │  │  └╴← (445)
   │  │  ├╴call YAMDelegator::checkpoints(address,uint32)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 444) (./contracts/tests/HEVMHelpers.sol:450)
   │  │  │  └╴← (11421944, 0)
   │  │  ├╴log_bytes32(«Error: Wrong `uint' value») (./contracts/lib/test.sol:140)
   │  │  ├╴log_named_uint(«  Expected», 11426268) (./contracts/lib/test.sol:141)
   │  │  ├╴log_named_uint(«    Actual», 11421944) (./contracts/lib/test.sol:142)
   │  │  ├╴call YAMDelegator::initSupply()() (./contracts/tests/HEVMHelpers.sol:391)
   │  │  │  └╴← (4673194315993209882205900873572)
   │  │  ├╴call YAMDelegator::yamToFragment(uint256)(4673135746267302801319870737867) (./contracts/tests/HEVMHelpers.sol:392)
   │  │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0xf18d9b63000000000000000000000000000000000000003afbb74a0522499d4356f62dcb) (./contracts/token/YAMDelegator.sol:443)
   │  │  │  │  ├╴delegatecall YAMDelegate3::yamToFragment(uint256)(4673135746267302801319870737867) (./contracts/token/YAMDelegator.sol:406)
   │  │  │  │  │  └╴← (11434271148618235641522511)
   │  │  │  │  └╴← (0x00000000000000000000000000000000000000000009754d14bccf56ffaae94f)
   │  │  │  └╴← (11434271148618235641522511)
   │  │  ├╴call YAMDelegator::initSupply()() (./contracts/tests/HEVMHelpers.sol:384)
   │  │  │  └╴← (4673135746267302801319870737867)
   │  │  ├╴call YAMDelegator::totalSupply()() (./contracts/tests/HEVMHelpers.sol:402)
   │  │  │  └╴← (11434271148618235641522511)
   │  │  └╴← 0x
   │  └╴create IndexStaking@0xC53195Bbad57105cc9a4DF752121AfD9C15FBd8f (./contracts/tests/proposal_round_4/proposal.t.sol:23)
   │     ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::approve(0xb93b505ed567982e2b6756177ddd23ab5745f309, 115792089237316195423570985008687907853269984665640564039457584007913129639935) <source not found>
   │     │  ├╴Approval(115792089237316195423570985008687907853269984665640564039457584007913129639935) <no source map>
   │     │  └╴← (True)
   │     └╴← 16267 bytes of code
   └╴test_onchain_prop_4()
      ├╴log_bytes32(«Assertion failed») (./contracts/lib/test.sol:55)
      ├╴call IndexStaking::currentStake()() (./contracts/tests/proposal_round_4/proposal.t.sol:39)
      │  ├╴call 0x8f06FBA4684B5E0988F215a47775Bb611Af0F986::balanceOf(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff) (./contracts/tests/proposal_round_4/IndexStake.sol:31)
      │  │  └╴← (1288570617911268555786)
      │  └╴← (1288570617911268555786)
      ├╴call YAMHelper::getQuorum(address,address)(0xaacfbec6a24756c20d41914f2caba817c0d8521, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/proposal_round_4/proposal.t.sol:89)
      │  ├╴call YAMDelegator::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:382)
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x3af9e669000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (0)
      │  │  │  └╴← (0x0000000000000000000000000000000000000000000000000000000000000000)
      │  │  └╴← (0)
      │  ├╴call YAMDelegator::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:384)
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x3af9e669000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (210000000000000000000000000000)
      │  │  │  └╴← (0x0000000000000000000000000000000000000002a68bedbb190931f650000000)
      │  │  └╴← (210000000000000000000000000000)
      │  ├╴call YAMDelegator::numCheckpoints(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:438)
      │  │  └╴← (445)
      │  ├╴call YAMDelegator::checkpoints(address,uint32)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 444) (./contracts/tests/HEVMHelpers.sol:450)
      │  │  └╴← (11421944, 210000000000000000000000000000)
      │  ├╴log_bytes32(«Error: Wrong `uint' value») (./contracts/lib/test.sol:140)
      │  ├╴log_named_uint(«  Expected», 11426268) (./contracts/lib/test.sol:141)
      │  ├╴log_named_uint(«    Actual», 11421944) (./contracts/lib/test.sol:142)
      │  ├╴call YAMDelegator::initSupply()() (./contracts/tests/HEVMHelpers.sol:395)
      │  │  └╴← (4673135746267302801319870737867)
      │  ├╴call YAMDelegator::yamToFragment(uint256)(4883135746267302801319870737867) (./contracts/tests/HEVMHelpers.sol:396)
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0xf18d9b63000000000000000000000000000000000000003da24337c03b52cf39a6f62dcb) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::yamToFragment(uint256)(4883135746267302801319870737867) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (11948101063173532043382511)
      │  │  │  └╴← (0x00000000000000000000000000000000000000000009e21bdb42d3d17e9b0eef)
      │  │  └╴← (11948101063173532043382511)
      │  ├╴call YAMDelegator::initSupply()() (./contracts/tests/HEVMHelpers.sol:384)
      │  │  └╴← (4883135746267302801319870737867)
      │  ├╴call YAMDelegator::totalSupply()() (./contracts/tests/HEVMHelpers.sol:402)
      │  │  └╴← (11948101063173532043382511)
      │  └╴← 0x
      ├╴call YAMHelper::bing()() (./contracts/tests/proposal_round_4/proposal.t.sol:90)
      │  └╴← 0x
      ├╴call Timelock::admin()() (./contracts/tests/test_tests/base.t.sol:295)
      │  └╴← (0xc32f9b0292965c5dd4a0ea1abfcc1f5a36d66986)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::propose([0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 0x97990b693835da58a281636296d2bf02787dea17, 0xc53195bbad57105cc9a4df752121afd9c15fbd8f], [0, 0, 0, 0, 0, 0], ["_exitStaking()", "_getTokenFromHere(address)", "_getTokenFromHere(address)", "_acceptGov()", "oneTimeTransfers(address[],uint256[],address[])", "_stakeCurrentLPBalance()"], [0x, 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 0x, 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c53195bbad57105cc9a4df752121afd9c15fbd8f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x], "Withdraw from old INDEX staker, start staking on new INDEX staker") (./contracts/tests/test_tests/base.t.sol:296)
      │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11426270) <no source map>
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe1000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de840000000000000000000000000000000000000000000000000000000000ae59de) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11426270) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (210000000000000000000000000000)
      │  │  │  └╴← (0x0000000000000000000000000000000000000002a68bedbb190931f650000000)
      │  │  └╴← (210000000000000000000000000000)
      │  ├╴call YAMIncentivizerWithVoting::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11426270) <no source map>
      │  │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0xf82e57804d0b1f6fab2370a43dcfad3c7cb239c, 11426270) (./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:821)
      │  │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe10000000000000000000000000f82e57804d0b1f6fab2370a43dcfad3c7cb239c0000000000000000000000000000000000000000000000000000000000ae59de) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0xf82e57804d0b1f6fab2370a43dcfad3c7cb239c, 11426270) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  │  └╴← (616581778356732326775490095337)
      │  │  │  │  └╴← (0x0000000000000000000000000000000000000007c8487e3c779d965a7ee828e9)
      │  │  │  └╴← (616581778356732326775490095337)
      │  │  └╴← (0)
      │  ├╴ProposalCreated(4, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, [0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 0x97990b693835da58a281636296d2bf02787dea17, 0xc53195bbad57105cc9a4df752121afd9c15fbd8f], [0, 0, 0, 0, 0, 0], ["_exitStaking()", "_getTokenFromHere(address)", "_getTokenFromHere(address)", "_acceptGov()", "oneTimeTransfers(address[],uint256[],address[])", "_stakeCurrentLPBalance()"], [0x, 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 0x, 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c53195bbad57105cc9a4df752121afd9c15fbd8f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x], 11426272, 11438617, "Withdraw from old INDEX staker, start staking on new INDEX staker") <no source map>
      │  └╴← (4)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::latestProposalIds(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/test_tests/base.t.sol:304)
      │  └╴← (4)
      ├╴call Timelock::admin()() (./contracts/tests/test_tests/base.t.sol:259)
      │  └╴← (0xc32f9b0292965c5dd4a0ea1abfcc1f5a36d66986)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::latestProposalIds(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/test_tests/base.t.sol:260)
      │  └╴← (4)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::castVote(4, True) (./contracts/tests/test_tests/base.t.sol:261)
      │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11426272) <no source map>
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe1000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de840000000000000000000000000000000000000000000000000000000000ae59e0) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11426272) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (210000000000000000000000000000)
      │  │  │  └╴← (0x0000000000000000000000000000000000000002a68bedbb190931f650000000)
      │  │  └╴← (210000000000000000000000000000)
      │  ├╴call YAMIncentivizerWithVoting::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11426272) <no source map>
      │  │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0xf82e57804d0b1f6fab2370a43dcfad3c7cb239c, 11426272) (./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:821)
      │  │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe10000000000000000000000000f82e57804d0b1f6fab2370a43dcfad3c7cb239c0000000000000000000000000000000000000000000000000000000000ae59e0) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0xf82e57804d0b1f6fab2370a43dcfad3c7cb239c, 11426272) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  │  └╴← (616581778356732326775490095337)
      │  │  │  │  └╴← (0x0000000000000000000000000000000000000007c8487e3c779d965a7ee828e9)
      │  │  │  └╴← (616581778356732326775490095337)
      │  │  └╴← (0)
      │  ├╴VoteCast(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 4, True, 210000000000000000000000000000) <no source map>
      │  └╴← 0x
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::state(4) (./contracts/tests/test_tests/base.t.sol:310)
      │  └╴← (4)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::queue(4) (./contracts/tests/test_tests/base.t.sol:313)
      │  ├╴call Timelock::delay()() <no source map>
      │  │  └╴← (43200)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0x07ce5cd9ddc54f112aedd10c0558f20224abc33d4b69f96087a2a1e9f446bdc1) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_exitStaking()", 0x, 1607660965) <no source map>
      │  │  ├╴QueueTransaction(0, "_exitStaking()", 0x, 1607660965) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0x07ce5cd9ddc54f112aedd10c0558f20224abc33d4b69f96087a2a1e9f446bdc1)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0x8a3d301c74ac30a0d13d02568934b452e382e8a342d57f6949a7bfb4fea7f61a) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_getTokenFromHere(address)", 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607660965) <no source map>
      │  │  ├╴QueueTransaction(0, "_getTokenFromHere(address)", 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607660965) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0x8a3d301c74ac30a0d13d02568934b452e382e8a342d57f6949a7bfb4fea7f61a)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0xecb59355e64e0328060c0a60222ba8d7186400dec9ffe092cabe653200f0818a) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_getTokenFromHere(address)", 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 1607660965) <no source map>
      │  │  ├╴QueueTransaction(0, "_getTokenFromHere(address)", 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 1607660965) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0xecb59355e64e0328060c0a60222ba8d7186400dec9ffe092cabe653200f0818a)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0x8fa119be0bf00ae52244935b2180ea566a854a6655620117709da3b796a1b734) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 0, "_acceptGov()", 0x, 1607660965) <no source map>
      │  │  ├╴QueueTransaction(0, "_acceptGov()", 0x, 1607660965) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0x8fa119be0bf00ae52244935b2180ea566a854a6655620117709da3b796a1b734)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0xae49af4cffd8dca85e50836aa0b11c720c005947ba3fb5441fe2c5e183f62b2e) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0x97990b693835da58a281636296d2bf02787dea17, 0, "oneTimeTransfers(address[],uint256[],address[])", 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c53195bbad57105cc9a4df752121afd9c15fbd8f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607660965) <no source map>
      │  │  ├╴QueueTransaction(0, "oneTimeTransfers(address[],uint256[],address[])", 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c53195bbad57105cc9a4df752121afd9c15fbd8f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607660965) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0xae49af4cffd8dca85e50836aa0b11c720c005947ba3fb5441fe2c5e183f62b2e)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0x7d652e8fdcf1cdaba2d7ec3ad31792eb318151c46ed7a43889f3b6051e7015d4) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 0, "_stakeCurrentLPBalance()", 0x, 1607660965) <no source map>
      │  │  ├╴QueueTransaction(0, "_stakeCurrentLPBalance()", 0x, 1607660965) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0x7d652e8fdcf1cdaba2d7ec3ad31792eb318151c46ed7a43889f3b6051e7015d4)
      │  ├╴ProposalQueued(4, 1607660965) <no source map>
      │  └╴← 0x
      ├╴call Timelock::delay()() (./contracts/tests/test_tests/base.t.sol:315)
      │  └╴← (43200)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::execute(4) (./contracts/tests/test_tests/base.t.sol:317)
      │  ├╴call Timelock::GRACE_PERIOD()() <no source map>
      │  │  └╴← (1209600)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_exitStaking()", 0x, 1607660965) <no source map>
      │  │  ├╴call IndexStaking::_exitStaking()() (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x8f06FBA4684B5E0988F215a47775Bb611Af0F986::exit() (./contracts/tests/proposal_round_4/IndexStake.sol:99)
      │  │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::transfer(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 1288570617911268555786) <no source map>
      │  │  │  │  │  ├╴Transfer(1288570617911268555786) <no source map>
      │  │  │  │  │  └╴← (True)
      │  │  │  │  ├╴Withdrawn(1288570617911268555786) <no source map>
      │  │  │  │  ├╴call 0x0954906da0Bf32d5479e25f46056d22f08464cab::transfer(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 3496349457116537020852) <no source map>
      │  │  │  │  │  ├╴Transfer(3496349457116537020852) <no source map>
      │  │  │  │  │  └╴← (True)
      │  │  │  │  ├╴RewardPaid(3496349457116537020852) <no source map>
      │  │  │  │  └╴← 0x
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_exitStaking()", 0x, 1607660965) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_getTokenFromHere(address)", 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607660965) <no source map>
      │  │  ├╴call IndexStaking::_getTokenFromHere(address)(0x4d5ef58aac27d99935e5b6b4a6778ff292059991) (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::balanceOf(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff) (./contracts/tests/proposal_round_4/IndexStake.sol:152)
      │  │  │  │  └╴← (1288570617911268555786)
      │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::transfer(0x97990b693835da58a281636296d2bf02787dea17, 1288570617911268555786) (./contracts/tests/proposal_round_4/IndexStake.sol:152)
      │  │  │  │  ├╴Transfer(1288570617911268555786) <no source map>
      │  │  │  │  └╴← (True)
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_getTokenFromHere(address)", 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607660965) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_getTokenFromHere(address)", 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 1607660965) <no source map>
      │  │  ├╴call IndexStaking::_getTokenFromHere(address)(0x954906da0bf32d5479e25f46056d22f08464cab) (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x0954906da0Bf32d5479e25f46056d22f08464cab::balanceOf(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff) (./contracts/tests/proposal_round_4/IndexStake.sol:152)
      │  │  │  │  └╴← (3496349457116537020852)
      │  │  │  ├╴call 0x0954906da0Bf32d5479e25f46056d22f08464cab::transfer(0x97990b693835da58a281636296d2bf02787dea17, 3496349457116537020852) (./contracts/tests/proposal_round_4/IndexStake.sol:152)
      │  │  │  │  ├╴Transfer(3496349457116537020852) <no source map>
      │  │  │  │  └╴← (True)
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_getTokenFromHere(address)", 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 1607660965) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 0, "_acceptGov()", 0x, 1607660965) <no source map>
      │  │  ├╴call IndexStaking::_acceptGov()() (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴NewGov(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0x8b4f1616751117c38a0f84f9a146cca191ea3ec5) (./contracts/tests/index_staking/YamGoverned.sol:31)
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_acceptGov()", 0x, 1607660965) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0x97990b693835da58a281636296d2bf02787dea17, 0, "oneTimeTransfers(address[],uint256[],address[])", 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c53195bbad57105cc9a4df752121afd9c15fbd8f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607660965) <no source map>
      │  │  ├╴call YAMReserves2::oneTimeTransfers(address[],uint256[],address[])([0xc53195bbad57105cc9a4df752121afd9c15fbd8f], [1288570617911268555786], [0x4d5ef58aac27d99935e5b6b4a6778ff292059991]) (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::transfer(0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 1288570617911268555786) (./contracts/lib/Address.sol:123)
      │  │  │  │  ├╴Transfer(1288570617911268555786) <no source map>
      │  │  │  │  └╴← (True)
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "oneTimeTransfers(address[],uint256[],address[])", 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c53195bbad57105cc9a4df752121afd9c15fbd8f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607660965) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 0, "_stakeCurrentLPBalance()", 0x, 1607660965) <no source map>
      │  │  ├╴call IndexStaking::_stakeCurrentLPBalance()() (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::balanceOf(0xc53195bbad57105cc9a4df752121afd9c15fbd8f) (./contracts/tests/proposal_round_4/IndexStake.sol:39)
      │  │  │  │  └╴← (1288570617911268555786)
      │  │  │  ├╴call 0xB93b505Ed567982E2b6756177ddD23ab5745f309::stake(1288570617911268555786) (./contracts/tests/proposal_round_4/IndexStake.sol:40)
      │  │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::transferFrom(0xc53195bbad57105cc9a4df752121afd9c15fbd8f, 0xb93b505ed567982e2b6756177ddd23ab5745f309, 1288570617911268555786) <no source map>
      │  │  │  │  │  ├╴Transfer(1288570617911268555786) <no source map>
      │  │  │  │  │  └╴← (True)
      │  │  │  │  ├╴Staked(1288570617911268555786) <no source map>
      │  │  │  │  └╴← 0x
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_stakeCurrentLPBalance()", 0x, 1607660965) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴ProposalExecuted(4) <no source map>
      │  └╴← 0x
      ├╴call IndexStaking::gov()() (./contracts/tests/proposal_round_4/proposal.t.sol:100)
      │  └╴← (0x8b4f1616751117c38a0f84f9a146cca191ea3ec5)
      └╴call IndexStaking::currentStake()() (./contracts/tests/proposal_round_4/proposal.t.sol:102)
         ├╴call 0xB93b505Ed567982E2b6756177ddD23ab5745f309::balanceOf(0xc53195bbad57105cc9a4df752121afd9c15fbd8f) (./contracts/tests/proposal_round_4/IndexStake.sol:31)
         │  └╴← (1288570617911268555786)
         └╴← (1288570617911268555786)
  
  «Error: Wrong `uint' value»
    Expected: 11426268
      Actual: 11421944
  «Assertion failed»
  «Error: Wrong `uint' value»
    Expected: 11426268
      Actual: 11421944

Tests fail [Prop4] [2592234]

Test fails after commit 2592234

Running 1 tests for ./contracts/tests/proposal_round_4/proposal.t.sol:Prop4
[FAIL] test_onchain_prop_4()

Failure: test_onchain_prop_4
  ./contracts/tests/proposal_round_4/proposal.t.sol:Prop4
   ├╴constructor
   ├╴setUp()
   │  ├╴create User@0xa923aF6D05993495257a872ec69DBbf01501Eb0E (./contracts/tests/test_tests/base.t.sol:117)
   │  │  └╴← 1777 bytes of code
   │  ├╴create HEVMHelpers@0x0e2298E3B3390e3b945a5456fBf59eCc3f55DA16 (./contracts/tests/test_tests/base.t.sol:118)
   │  │  └╴← 9565 bytes of code
   │  ├╴create YAMHelper@0x3CE7deD537fa8E9fB197A103748F73157Cd06461 (./contracts/tests/test_tests/base.t.sol:119)
   │  │  └╴← 15124 bytes of code
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "pendingGov()", 4) (./contracts/tests/test_tests/base.t.sol:120)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "totalSupply()", 8) (./contracts/tests/test_tests/base.t.sol:121)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "balanceOfUnderlying(address)", 10) (./contracts/tests/test_tests/base.t.sol:122)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "initSupply()", 12) (./contracts/tests/test_tests/base.t.sol:123)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "checkpoints(address,uint32)", 15) (./contracts/tests/test_tests/base.t.sol:124)
   │  │  └╴← 0x
   │  ├╴call YAMHelper::addKnown(address,string,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, "numCheckpoints(address)", 16) (./contracts/tests/test_tests/base.t.sol:125)
   │  │  └╴← 0x
   │  └╴call YAMHelper::writeBoU(address,address,uint256)(0xaacfbec6a24756c20d41914f2caba817c0d8521, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 0) (./contracts/tests/test_tests/base.t.sol:127)
   │     ├╴call YAMDelegator::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:382)
   │     │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x3af9e669000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:443)
   │     │  │  ├╴delegatecall YAMDelegate3::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:406)
   │     │  │  │  └╴← (58569725907080886030135705)
   │     │  │  └╴← (0x00000000000000000000000000000000000000000030729f3419aeade4337199)
   │     │  └╴← (58569725907080886030135705)
   │     ├╴call YAMDelegator::numCheckpoints(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:438)
   │     │  └╴← (445)
   │     ├╴call YAMDelegator::checkpoints(address,uint32)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 444) (./contracts/tests/HEVMHelpers.sol:450)
   │     │  └╴← (11421944, 0)
   │     ├╴log_bytes32(«Error: Wrong `uint' value») (./contracts/lib/test.sol:140)
   │     ├╴log_named_uint(«  Expected», 11430676) (./contracts/lib/test.sol:141)
   │     ├╴log_named_uint(«    Actual», 11421944) (./contracts/lib/test.sol:142)
   │     ├╴call YAMDelegator::initSupply()() (./contracts/tests/HEVMHelpers.sol:391)
   │     │  └╴← (4679932521042778929359312431424)
   │     ├╴call YAMDelegator::yamToFragment(uint256)(4679873951316871848473282295719) (./contracts/tests/HEVMHelpers.sol:392)
   │     │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0xf18d9b63000000000000000000000000000000000000003b117d0070cdc02cf038c537a7) (./contracts/token/YAMDelegator.sol:443)
   │     │  │  ├╴delegatecall YAMDelegate3::yamToFragment(uint256)(4679873951316871848473282295719) (./contracts/token/YAMDelegator.sol:406)
   │     │  │  │  └╴← (11450758250165264833212606)
   │     │  │  └╴← (0x0000000000000000000000000000000000000000000978cad93bfff483de70be)
   │     │  └╴← (11450758250165264833212606)
   │     └╴← 0x
   └╴test_onchain_prop_4()
      ├╴log_bytes32(«Assertion failed») (./contracts/lib/test.sol:55)
      ├╴call IndexStaking2::currentStake()() (./contracts/tests/proposal_round_4/proposal.t.sol:50)
      │  ├╴call 0x8f06FBA4684B5E0988F215a47775Bb611Af0F986::balanceOf(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff) (./contracts/tests/proposal_round_4/IndexStaking2.sol:32)
      │  │  └╴← (1288570617911268555786)
      │  └╴← (1288570617911268555786)
      ├╴TEST([0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0x205cc7463267861002b27021c7108bc230603d0f, 0x97990b693835da58a281636296d2bf02787dea17, 0x205cc7463267861002b27021c7108bc230603d0f], [0, 0, 0, 0, 0, 0], ["_exitStaking()", "_getTokenFromHere(address)", "_getTokenFromHere(address)", "_acceptGov()", "oneTimeTransfers(address[],uint256[],address[])", "_stakeCurrentLPBalance()"], [0x, 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 0x, 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000205cc7463267861002b27021c7108bc230603d0f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x], "Withdraw from old INDEX staker, start staking on new INDEX staker") (./contracts/tests/proposal_round_4/proposal.t.sol:101)
      ├╴call YAMHelper::getQuorum(address,address)(0xaacfbec6a24756c20d41914f2caba817c0d8521, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/proposal_round_4/proposal.t.sol:102)
      │  ├╴call YAMDelegator::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:382)
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x3af9e669000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::balanceOfUnderlying(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (0)
      │  │  │  └╴← (0x0000000000000000000000000000000000000000000000000000000000000000)
      │  │  └╴← (0)
      │  ├╴call YAMDelegator::numCheckpoints(address)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/HEVMHelpers.sol:438)
      │  │  └╴← (445)
      │  ├╴call YAMDelegator::checkpoints(address,uint32)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 444) (./contracts/tests/HEVMHelpers.sol:450)
      │  │  └╴← (11421944, 210000000000000000000000000000)
      │  ├╴log_bytes32(«Error: Wrong `uint' value») (./contracts/lib/test.sol:140)
      │  ├╴log_named_uint(«  Expected», 11430676) (./contracts/lib/test.sol:141)
      │  ├╴log_named_uint(«    Actual», 11421944) (./contracts/lib/test.sol:142)
      │  ├╴call YAMDelegator::initSupply()() (./contracts/tests/HEVMHelpers.sol:395)
      │  │  └╴← (4679873951316871848473282295719)
      │  ├╴call YAMDelegator::yamToFragment(uint256)(4889873951316871848473282295719) (./contracts/tests/HEVMHelpers.sol:396)
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0xf18d9b63000000000000000000000000000000000000003db808ee2be6c95ee688c537a7) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::yamToFragment(uint256)(4889873951316871848473282295719) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (11964588164720561235072606)
      │  │  │  └╴← (0x00000000000000000000000000000000000000000009e5999fc2046f02ce965e)
      │  │  └╴← (11964588164720561235072606)
      │  └╴← 0x
      ├╴call YAMHelper::bing()() (./contracts/tests/proposal_round_4/proposal.t.sol:103)
      │  └╴← 0x
      ├╴call Timelock::admin()() (./contracts/tests/test_tests/base.t.sol:295)
      │  └╴← (0xc32f9b0292965c5dd4a0ea1abfcc1f5a36d66986)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::propose([0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0x205cc7463267861002b27021c7108bc230603d0f, 0x97990b693835da58a281636296d2bf02787dea17, 0x205cc7463267861002b27021c7108bc230603d0f], [0, 0, 0, 0, 0, 0], ["_exitStaking()", "_getTokenFromHere(address)", "_getTokenFromHere(address)", "_acceptGov()", "oneTimeTransfers(address[],uint256[],address[])", "_stakeCurrentLPBalance()"], [0x, 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 0x, 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000205cc7463267861002b27021c7108bc230603d0f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x], "Withdraw from old INDEX staker, start staking on new INDEX staker") (./contracts/tests/test_tests/base.t.sol:296)
      │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430678) <no source map>
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe1000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de840000000000000000000000000000000000000000000000000000000000ae6b16) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430678) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (210000000000000000000000000000)
      │  │  │  └╴← (0x0000000000000000000000000000000000000002a68bedbb190931f650000000)
      │  │  └╴← (210000000000000000000000000000)
      │  ├╴call YAMIncentivizerWithVoting::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430678) <no source map>
      │  │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0xf82e57804d0b1f6fab2370a43dcfad3c7cb239c, 11430678) (./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:821)
      │  │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe10000000000000000000000000f82e57804d0b1f6fab2370a43dcfad3c7cb239c0000000000000000000000000000000000000000000000000000000000ae6b16) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0xf82e57804d0b1f6fab2370a43dcfad3c7cb239c, 11430678) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  │  └╴← (596292766028717111750278836384)
      │  │  │  │  └╴← (0x000000000000000000000000000000000000000786b9d0c24949efe49950f0a0)
      │  │  │  └╴← (596292766028717111750278836384)
      │  │  └╴← (0)
      │  ├╴ProposalCreated(4, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, [0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0x205cc7463267861002b27021c7108bc230603d0f, 0x97990b693835da58a281636296d2bf02787dea17, 0x205cc7463267861002b27021c7108bc230603d0f], [0, 0, 0, 0, 0, 0], ["_exitStaking()", "_getTokenFromHere(address)", "_getTokenFromHere(address)", "_acceptGov()", "oneTimeTransfers(address[],uint256[],address[])", "_stakeCurrentLPBalance()"], [0x, 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 0x, 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000205cc7463267861002b27021c7108bc230603d0f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 0x], 11430680, 11443025, "Withdraw from old INDEX staker, start staking on new INDEX staker") <no source map>
      │  └╴← (4)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::latestProposalIds(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/test_tests/base.t.sol:304)
      │  └╴← (4)
      ├╴call Timelock::admin()() (./contracts/tests/test_tests/base.t.sol:259)
      │  └╴← (0xc32f9b0292965c5dd4a0ea1abfcc1f5a36d66986)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::latestProposalIds(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/test_tests/base.t.sol:260)
      │  └╴← (4)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::castVote(4, True) (./contracts/tests/test_tests/base.t.sol:261)
      │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430680) <no source map>
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe1000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de840000000000000000000000000000000000000000000000000000000000ae6b18) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430680) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (210000000000000000000000000000)
      │  │  │  └╴← (0x0000000000000000000000000000000000000002a68bedbb190931f650000000)
      │  │  └╴← (210000000000000000000000000000)
      │  ├╴call YAMIncentivizerWithVoting::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430680) <no source map>
      │  │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0xf82e57804d0b1f6fab2370a43dcfad3c7cb239c, 11430680) (./contracts/tests/proposal_round_2/YAMIncentivesWithVoting.sol:821)
      │  │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe10000000000000000000000000f82e57804d0b1f6fab2370a43dcfad3c7cb239c0000000000000000000000000000000000000000000000000000000000ae6b18) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0xf82e57804d0b1f6fab2370a43dcfad3c7cb239c, 11430680) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  │  └╴← (596292766028717111750278836384)
      │  │  │  │  └╴← (0x000000000000000000000000000000000000000786b9d0c24949efe49950f0a0)
      │  │  │  └╴← (596292766028717111750278836384)
      │  │  └╴← (0)
      │  ├╴VoteCast(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 4, True, 210000000000000000000000000000) <no source map>
      │  └╴← 0x
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::state(4) (./contracts/tests/test_tests/base.t.sol:310)
      │  └╴← (4)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::queue(4) (./contracts/tests/test_tests/base.t.sol:313)
      │  ├╴call Timelock::delay()() <no source map>
      │  │  └╴← (43200)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0xfbcc8083c681fa1ae56b6d0e414a5b71daf3bed553b9ba2c0e6ccbc82f0f013e) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_exitStaking()", 0x, 1607720731) <no source map>
      │  │  ├╴QueueTransaction(0, "_exitStaking()", 0x, 1607720731) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0xfbcc8083c681fa1ae56b6d0e414a5b71daf3bed553b9ba2c0e6ccbc82f0f013e)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0xf127db1eb2609671c38ce283c47c2806fa9599261cf785c3370017041b09b99e) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_getTokenFromHere(address)", 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607720731) <no source map>
      │  │  ├╴QueueTransaction(0, "_getTokenFromHere(address)", 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607720731) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0xf127db1eb2609671c38ce283c47c2806fa9599261cf785c3370017041b09b99e)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0x1e2a0400ce7f304794ce9ee31f7e341f1e82f28720828488f92fa6cddb001582) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_getTokenFromHere(address)", 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 1607720731) <no source map>
      │  │  ├╴QueueTransaction(0, "_getTokenFromHere(address)", 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 1607720731) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0x1e2a0400ce7f304794ce9ee31f7e341f1e82f28720828488f92fa6cddb001582)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0xc1d30b01218110c0f08a53a54a6f8266650a818b6b87e3a00a59eaa34e58fedc) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0x205cc7463267861002b27021c7108bc230603d0f, 0, "_acceptGov()", 0x, 1607720731) <no source map>
      │  │  ├╴QueueTransaction(0, "_acceptGov()", 0x, 1607720731) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0xc1d30b01218110c0f08a53a54a6f8266650a818b6b87e3a00a59eaa34e58fedc)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0xc434ccdf1ba0edfa84c4cb8727af5103467cc28e9786d11ed34ebd43d3b06980) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0x97990b693835da58a281636296d2bf02787dea17, 0, "oneTimeTransfers(address[],uint256[],address[])", 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000205cc7463267861002b27021c7108bc230603d0f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607720731) <no source map>
      │  │  ├╴QueueTransaction(0, "oneTimeTransfers(address[],uint256[],address[])", 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000205cc7463267861002b27021c7108bc230603d0f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607720731) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0xc434ccdf1ba0edfa84c4cb8727af5103467cc28e9786d11ed34ebd43d3b06980)
      │  ├╴call Timelock::queuedTransactions(bytes32)(0xff5027d1acf750c5b1c8eb091fe3fcf95e42d07b28db6d388b43863d24d2e20c) <no source map>
      │  │  └╴← (False)
      │  ├╴call Timelock::queueTransaction(address,uint256,string,bytes,uint256)(0x205cc7463267861002b27021c7108bc230603d0f, 0, "_stakeCurrentLPBalance()", 0x, 1607720731) <no source map>
      │  │  ├╴QueueTransaction(0, "_stakeCurrentLPBalance()", 0x, 1607720731) (./contracts/governance/TimeLock.sol:137)
      │  │  └╴← (0xff5027d1acf750c5b1c8eb091fe3fcf95e42d07b28db6d388b43863d24d2e20c)
      │  ├╴ProposalQueued(4, 1607720731) <no source map>
      │  └╴← 0x
      ├╴call Timelock::delay()() (./contracts/tests/test_tests/base.t.sol:315)
      │  └╴← (43200)
      ├╴call 0xC32f9b0292965c5dd4A0Ea1abfcC1f5a36d66986::execute(4) (./contracts/tests/test_tests/base.t.sol:317)
      │  ├╴call Timelock::GRACE_PERIOD()() <no source map>
      │  │  └╴← (1209600)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_exitStaking()", 0x, 1607720731) <no source map>
      │  │  ├╴call IndexStaking2::_exitStaking()() (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x8f06FBA4684B5E0988F215a47775Bb611Af0F986::exit() (./contracts/tests/proposal_round_4/IndexStaking2.sol:100)
      │  │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::transfer(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 1288570617911268555786) <no source map>
      │  │  │  │  │  ├╴Transfer(1288570617911268555786) <no source map>
      │  │  │  │  │  └╴← (True)
      │  │  │  │  ├╴Withdrawn(1288570617911268555786) <no source map>
      │  │  │  │  ├╴call 0x0954906da0Bf32d5479e25f46056d22f08464cab::transfer(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 3496349457116537020852) <no source map>
      │  │  │  │  │  ├╴Transfer(3496349457116537020852) <no source map>
      │  │  │  │  │  └╴← (True)
      │  │  │  │  ├╴RewardPaid(3496349457116537020852) <no source map>
      │  │  │  │  └╴← 0x
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_exitStaking()", 0x, 1607720731) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_getTokenFromHere(address)", 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607720731) <no source map>
      │  │  ├╴call IndexStaking2::_getTokenFromHere(address)(0x4d5ef58aac27d99935e5b6b4a6778ff292059991) (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::balanceOf(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff) (./contracts/tests/proposal_round_4/IndexStaking2.sol:153)
      │  │  │  │  └╴← (1288570617911268555786)
      │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::transfer(0x97990b693835da58a281636296d2bf02787dea17, 1288570617911268555786) (./contracts/tests/proposal_round_4/IndexStaking2.sol:153)
      │  │  │  │  ├╴Transfer(1288570617911268555786) <no source map>
      │  │  │  │  └╴← (True)
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_getTokenFromHere(address)", 0x0000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607720731) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff, 0, "_getTokenFromHere(address)", 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 1607720731) <no source map>
      │  │  ├╴call IndexStaking2::_getTokenFromHere(address)(0x954906da0bf32d5479e25f46056d22f08464cab) (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x0954906da0Bf32d5479e25f46056d22f08464cab::balanceOf(0xa940e0541f8b8a40551b28d4c7e37bd85de426ff) (./contracts/tests/proposal_round_4/IndexStaking2.sol:153)
      │  │  │  │  └╴← (3496349457116537020852)
      │  │  │  ├╴call 0x0954906da0Bf32d5479e25f46056d22f08464cab::transfer(0x97990b693835da58a281636296d2bf02787dea17, 3496349457116537020852) (./contracts/tests/proposal_round_4/IndexStaking2.sol:153)
      │  │  │  │  ├╴Transfer(3496349457116537020852) <no source map>
      │  │  │  │  └╴← (True)
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_getTokenFromHere(address)", 0x0000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab, 1607720731) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0x205cc7463267861002b27021c7108bc230603d0f, 0, "_acceptGov()", 0x, 1607720731) <no source map>
      │  │  ├╴call IndexStaking2::_acceptGov()() (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴NewGov(0xec3281124d4c2fca8a88e3076c1e7749cfecb7f2, 0x8b4f1616751117c38a0f84f9a146cca191ea3ec5) (./contracts/tests/index_staking/YamGoverned.sol:31)
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_acceptGov()", 0x, 1607720731) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0x97990b693835da58a281636296d2bf02787dea17, 0, "oneTimeTransfers(address[],uint256[],address[])", 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000205cc7463267861002b27021c7108bc230603d0f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607720731) <no source map>
      │  │  ├╴call YAMReserves2::oneTimeTransfers(address[],uint256[],address[])([0x205cc7463267861002b27021c7108bc230603d0f], [1288570617911268555786], [0x4d5ef58aac27d99935e5b6b4a6778ff292059991]) (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::transfer(0x205cc7463267861002b27021c7108bc230603d0f, 1288570617911268555786) (./contracts/lib/Address.sol:123)
      │  │  │  │  ├╴Transfer(1288570617911268555786) <no source map>
      │  │  │  │  └╴← (True)
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "oneTimeTransfers(address[],uint256[],address[])", 0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000205cc7463267861002b27021c7108bc230603d0f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000045da8275d9bec33c0a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000004d5ef58aac27d99935e5b6b4a6778ff292059991, 1607720731) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴call Timelock::executeTransaction(address,uint256,string,bytes,uint256)(0x205cc7463267861002b27021c7108bc230603d0f, 0, "_stakeCurrentLPBalance()", 0x, 1607720731) <no source map>
      │  │  ├╴call IndexStaking2::_stakeCurrentLPBalance()() (./contracts/governance/TimeLock.sol:192)
      │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::balanceOf(0x205cc7463267861002b27021c7108bc230603d0f) (./contracts/tests/proposal_round_4/IndexStaking2.sol:40)
      │  │  │  │  └╴← (1288570617911268555786)
      │  │  │  ├╴call 0xB93b505Ed567982E2b6756177ddD23ab5745f309::stake(1288570617911268555786) (./contracts/tests/proposal_round_4/IndexStaking2.sol:41)
      │  │  │  │  ├╴call 0x4d5ef58aAc27d99935E5b6B4A6778ff292059991::transferFrom(0x205cc7463267861002b27021c7108bc230603d0f, 0xb93b505ed567982e2b6756177ddd23ab5745f309, 1288570617911268555786) <no source map>
      │  │  │  │  │  ├╴Transfer(1288570617911268555786) <no source map>
      │  │  │  │  │  └╴← (True)
      │  │  │  │  ├╴Staked(1288570617911268555786) <no source map>
      │  │  │  │  └╴← 0x
      │  │  │  └╴← 0x
      │  │  ├╴ExecuteTransaction(0, "_stakeCurrentLPBalance()", 0x, 1607720731) (./contracts/governance/TimeLock.sol:195)
      │  │  └╴← (0x)
      │  ├╴ProposalExecuted(4) <no source map>
      │  └╴← 0x
      ├╴call IndexStaking2::gov()() (./contracts/tests/proposal_round_4/proposal.t.sol:147)
      │  └╴← (0x8b4f1616751117c38a0f84f9a146cca191ea3ec5)
      ├╴call IndexStaking2::currentStake()() (./contracts/tests/proposal_round_4/proposal.t.sol:109)
      │  ├╴call 0xB93b505Ed567982E2b6756177ddD23ab5745f309::balanceOf(0x205cc7463267861002b27021c7108bc230603d0f) (./contracts/tests/proposal_round_4/IndexStaking2.sol:32)
      │  │  └╴← (1288570617911268555786)
      │  └╴← (1288570617911268555786)
      ├╴call 0x0954906da0Bf32d5479e25f46056d22f08464cab::balanceOf(0x97990b693835da58a281636296d2bf02787dea17) (./contracts/tests/proposal_round_4/proposal.t.sol:150)
      │  └╴← (3496349457116537020852)
      ├╴call 0xB93b505Ed567982E2b6756177ddD23ab5745f309::earned(0x205cc7463267861002b27021c7108bc230603d0f) (./contracts/tests/proposal_round_4/proposal.t.sol:151)
      │  └╴← (0)
      ├╴call YAMHelper::ff(uint256)(1000) (./contracts/tests/proposal_round_4/proposal.t.sol:113)
      │  └╴← 0x
      └╴call 0xB93b505Ed567982E2b6756177ddD23ab5745f309::earned(0x205cc7463267861002b27021c7108bc230603d0f) (./contracts/tests/proposal_round_4/proposal.t.sol:150)
         └╴← (1183985877935526329)
  
  «Error: Wrong `uint' value»
    Expected: 11430676
      Actual: 11421944
  «Assertion failed»
  «Error: Wrong `uint' value»
    Expected: 11430676
      Actual: 11421944

YAMIncentives.sol's bug can cause insufficient rewards.

Hello, I have a question I want to consult with everyone. I see that every checkhalve in the YAMIncentives contract will give the contract mint a specified amount of YAM, but if a rebase occurs during the mining cycle, and the LP is concentrated after the rebase Performing getReward, will it cause insufficient rewards?

Migration 3_rs.js doesn't have enough parameters

On file migrations/3_rs.js line 30, passed 4 parameters to the contract

await deployer.deploy(YAMRebaser,
    YAMProxy.address,
    reserveToken,
    uniswap_factory,
    YAMReserves.address
);

But it needs 6 parameters, on contacts/rebaser/YAMRebaser.sol

constructor(
    address yamAddress_,
    address reserveToken_,
    address uniswap_factory,
    address reservesContract_,
    address public_goods_,
    uint256 public_goods_perc_
)

What is public_goods* do? and what should i pass to it?

Error when running truffle compile

Very new to this space but trying to learn by cloning the repo and running on my local machine.
originally had error about trying to use dockerized solc, so I commented out the docker reference in truffle-config.js in order to get past that error.

But now I get this error below which I don't have any clue bout how to fix.
please advise.

Warning: The "extcodehash" instruction is not supported by the VM version "byzantium" you are currently compiling for. It will be interpreted as an invalid instruction on this VM.
assembly { codehash := extcodehash(account) }

In essence all I did is clone the repo, then run truffle compile; which is what the ReadMe seems to suggest.

Or, did I miss a vital step?

Many thanks

Test fails [first_rebase:test_proposal_scenario]

Run separate test case test_proposal_scenario from ./contracts/tests/other/first_rebase.t.sol:YAMv3RebaserTest

Result:

Running 1 tests for ./contracts/tests/other/first_rebase.t.sol:YAMv3RebaserTest
[BAIL] test_proposal_scenario()

Failure: test_proposal_scenario
  ./contracts/tests/other/first_rebase.t.sol:YAMv3RebaserTest
   ├╴constructor
   ├╴setUp()
   └╴test_proposal_scenario()
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::propose([0x1fb361f274f316d383b94d761832ab68099a7b00], [0], ["addSyncPairs(address[],address[])"], [0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e2aab7232a9545f29112f9e6441661fd6eeb0a5d0000000000000000000000000000000000000000000000000000000000000000], "Have rebaser sync() uniswap YAM/ETH pair") (./contracts/tests/other/first_rebase.t.sol:98)
      │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430929) <no source map>
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe1000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de840000000000000000000000000000000000000000000000000000000000ae6c11) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430929) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (60642944685264100400612457652)
      │  │  │  └╴← (0x0000000000000000000000000000000000000000c3f2ab0aaf1fe87a3a1f3cb4)
      │  │  └╴← (60642944685264100400612457652)
      │  ├╴ProposalCreated(3, 0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, [0x1fb361f274f316d383b94d761832ab68099a7b00], [0], ["addSyncPairs(address[],address[])"], [0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e2aab7232a9545f29112f9e6441661fd6eeb0a5d0000000000000000000000000000000000000000000000000000000000000000], 11430931, 11443276, "Have rebaser sync() uniswap YAM/ETH pair") <no source map>
      │  └╴← (3)
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::latestProposalIds(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/first_rebase.t.sol:106)
      │  └╴← (3)
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::getActions(3) (./contracts/tests/other/first_rebase.t.sol:113)
      │  └╴← ([0x1fb361f274f316d383b94d761832ab68099a7b00], [0], ["addSyncPairs(address[],address[])"], [0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e2aab7232a9545f29112f9e6441661fd6eeb0a5d0000000000000000000000000000000000000000000000000000000000000000])
      ├╴Logger(0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e2aab7232a9545f29112f9e6441661fd6eeb0a5d0000000000000000000000000000000000000000000000000000000000000000) (./contracts/tests/other/first_rebase.t.sol:116)
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::latestProposalIds(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84) (./contracts/tests/other/first_rebase.t.sol:138)
      │  └╴← (3)
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::castVote(3, True) (./contracts/tests/other/first_rebase.t.sol:139)
      │  ├╴call YAMDelegator::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430931) <no source map>
      │  │  ├╴call YAMDelegator::delegateToImplementation(bytes)(0x782d6fe1000000000000000000000000683a78ba1f6b25e29fbbc9cd1bfa29a51520de840000000000000000000000000000000000000000000000000000000000ae6c13) (./contracts/token/YAMDelegator.sol:443)
      │  │  │  ├╴delegatecall YAMDelegate3::getPriorVotes(address,uint256)(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 11430931) (./contracts/token/YAMDelegator.sol:406)
      │  │  │  │  └╴← (60642944685264100400612457652)
      │  │  │  └╴← (0x0000000000000000000000000000000000000000c3f2ab0aaf1fe87a3a1f3cb4)
      │  │  └╴← (60642944685264100400612457652)
      │  ├╴VoteCast(0x683a78ba1f6b25e29fbbc9cd1bfa29a51520de84, 3, True, 60642944685264100400612457652) <no source map>
      │  └╴← 0x
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::state(3) (./contracts/tests/other/first_rebase.t.sol:123)
      │  └╴← (3)
      ├╴log_bytes32(«Assertion failed») (./contracts/lib/test.sol:55)
      ├╴call 0x62702387C2a26C903985e9D078d18C45ACaE0908::queue(3) (./contracts/tests/other/first_rebase.t.sol:126)
      │  └╴error Revert ("GovernorAlpha::queue: proposal can only be queued if it is succeeded") <no source map>
      └╴error Revert ("GovernorAlpha::queue: proposal can only be queued if it is succeeded") <source not found>
  
  «Assertion failed»

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.