From 196b7bd3c1929eb5ad7b983104bfc549d904e150 Mon Sep 17 00:00:00 2001 From: Keefer Taylor Date: Wed, 22 Feb 2023 22:49:11 -0800 Subject: [PATCH] uplift e2e tests --- smart_contracts/end-to-end-tests.py | 128 ++++++++++++++++++++++------ 1 file changed, 101 insertions(+), 27 deletions(-) diff --git a/smart_contracts/end-to-end-tests.py b/smart_contracts/end-to-end-tests.py index 7824fedf..e0fe24aa 100644 --- a/smart_contracts/end-to-end-tests.py +++ b/smart_contracts/end-to-end-tests.py @@ -61,7 +61,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setMinterContract(minter.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -73,8 +79,8 @@ def test(): # AND alice has an oven. aliceOven = Oven.OvenContract(owner = alice.address, ovenProxyContractAddress = ovenProxy.address) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # VERIFY alice can deposit into the oven. currentTime = currentTime.add_seconds(1) @@ -134,7 +140,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setMinterContract(minter.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -146,8 +158,8 @@ def test(): # AND alice has an oven. aliceOven = Oven.OvenContract(owner = alice.address, ovenProxyContractAddress = ovenProxy.address) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # VERIFY alice can deposit into the oven and then mint tokens currentTime = currentTime.add_seconds(1) @@ -216,7 +228,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setMinterContract(minter.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -228,8 +246,8 @@ def test(): # AND alice has an oven. aliceOven = Oven.OvenContract(owner = alice.address, ovenProxyContractAddress = ovenProxy.address) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # VERIFY alice can withdraw partial amounts of collateral after repaying # Alice deposits $20 of XTZ and mints $10 of kUSD @@ -289,6 +307,8 @@ def test(): devFundSplit = sp.nat(100000000000000000) # 10% liquidationFeePercent = sp.nat(100000000000000000) # 10% administrator = Dummy.DummyContract() + scenario += administrator + developerFund = DevFund.DevFundContract( administratorContractAddress = administrator.address ) @@ -307,7 +327,6 @@ def test(): ovenRegistry = OvenRegistry.OvenRegistryContract() token = Token.FA12() - scenario += administrator scenario += developerFund scenario += stabilityFund scenario += minter @@ -323,7 +342,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setMinterContract(minter.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -335,8 +360,8 @@ def test(): # AND alice has an oven. aliceOven = Oven.OvenContract(owner = alice.address, ovenProxyContractAddress = ovenProxy.address) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # VERIFY the StabilityFund can liquidate an oven. # Alice deposits $20 of XTZ and mints $10 of kUSD @@ -402,6 +427,8 @@ def test(): devFundSplit = sp.nat(100000000000000000) # 10% liquidationFeePercent = sp.nat(100000000000000000) # 10% administrator = Dummy.DummyContract() + scenario += administrator + developerFund = DevFund.DevFundContract( administratorContractAddress = administrator.address ) @@ -422,7 +449,6 @@ def test(): liquidationFeePercent = liquidationFeePercent, ) - scenario += administrator scenario += developerFund scenario += stabilityFund scenario += minter @@ -443,7 +469,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setLiquidityPoolContract(liquidityPool.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -456,8 +488,8 @@ def test(): # AND alice has an oven. aliceOven = Oven.OvenContract(owner = alice.address, ovenProxyContractAddress = ovenProxy.address) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # VERIFY the StabilityFund can liquidate an oven. # Alice deposits $40 of XTZ and mints $12 of kUSD @@ -535,7 +567,10 @@ def test(): # AND a universe of Stablecoin contracts devFundSplit = sp.nat(100000000000000000) # 10% liquidationFeePercent = sp.nat(100000000000000000) # 10% + administrator = Dummy.DummyContract() + scenario += administrator + developerFund = DevFund.DevFundContract( administratorContractAddress = administrator.address ) @@ -556,7 +591,6 @@ def test(): liquidationFeePercent = liquidationFeePercent, ) - scenario += administrator scenario += developerFund scenario += stabilityFund scenario += minter @@ -577,7 +611,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setLiquidityPoolContract(liquidityPool.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -590,8 +630,8 @@ def test(): # AND alice has an oven. aliceOven = Oven.OvenContract(owner = alice.address, ovenProxyContractAddress = ovenProxy.address) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # VERIFY the StabilityFund can liquidate an oven. # Alice deposits $40 of XTZ and mints $11 of kUSD @@ -642,7 +682,10 @@ def test(): # AND a universe of Stablecoin contracts devFundSplit = sp.nat(100000000000000000) # 10% liquidationFeePercent = sp.nat(100000000000000000) # 10% + administrator = Dummy.DummyContract() + scenario += administrator + developerFund = DevFund.DevFundContract( administratorContractAddress = administrator.address ) @@ -663,7 +706,6 @@ def test(): liquidationFeePercent = liquidationFeePercent, ) - scenario += administrator scenario += developerFund scenario += stabilityFund scenario += minter @@ -680,7 +722,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setLiquidityPoolContract(liquidityPool.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -693,8 +741,8 @@ def test(): # AND alice has an oven. aliceOven = Oven.OvenContract(owner = alice.address, ovenProxyContractAddress = ovenProxy.address) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # VERIFY the StabilityFund can liquidate an oven. # Alice deposits $40 of XTZ and mints $11 of kUSD @@ -772,7 +820,10 @@ def test(): # AND a universe of Stablecoin contracts devFundSplit = sp.nat(100000000000000000) # 10% liquidationFeePercent = sp.nat(100000000000000000) # 10% + administrator = Dummy.DummyContract() + scenario += administrator + developerFund = DevFund.DevFundContract( administratorContractAddress = administrator.address ) @@ -793,7 +844,6 @@ def test(): liquidationFeePercent = liquidationFeePercent, ) - scenario += administrator scenario += developerFund scenario += stabilityFund scenario += minter @@ -810,7 +860,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setLiquidityPoolContract(liquidityPool.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -823,8 +879,8 @@ def test(): # AND alice has an oven. aliceOven = Oven.OvenContract(owner = alice.address, ovenProxyContractAddress = ovenProxy.address) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # VERIFY the StabilityFund can liquidate an oven. # Alice deposits $40 of XTZ and mints $11 of kUSD @@ -923,7 +979,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setMinterContract(minter.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -943,8 +1005,8 @@ def test(): ovenProxyContractAddress = ovenProxy.address, interestIndex = sp.to_int(initialInterestIndex) ) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # WHEN alice deposits 1 XTZ at compound period = 2 currentTime = sp.timestamp(Constants.SECONDS_PER_COMPOUND * 2) @@ -1032,7 +1094,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setMinterContract(minter.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -1052,8 +1120,8 @@ def test(): ovenProxyContractAddress = ovenProxy.address, interestIndex = sp.to_int(Constants.PRECISION) ) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # WHEN alice deposits 1 XTZ at compound period = 2 currentTime = sp.timestamp(Constants.SECONDS_PER_COMPOUND * 2) @@ -1126,7 +1194,13 @@ def test(): # AND the contracts are wired together scenario += stabilityFund.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) - scenario += minter.updateContracts((Addresses.GOVERNOR_ADDRESS, (token.address, (ovenProxy.address, (stabilityFund.address, developerFund.address))))).run(sender = Addresses.GOVERNOR_ADDRESS) + + scenario += minter.setGovernorContract(Addresses.GOVERNOR_ADDRESS).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setTokenContract(token.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setStabilityFundContract(stabilityFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += minter.setDeveloperFundContract(developerFund.address).run(sender = Addresses.GOVERNOR_ADDRESS) + scenario += ovenFactory.setOvenRegistryContract(ovenRegistry.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setOvenProxyContract(ovenProxy.address).run(sender = Addresses.GOVERNOR_ADDRESS) scenario += ovenFactory.setMinterContract(minter.address).run(sender = Addresses.GOVERNOR_ADDRESS) @@ -1146,8 +1220,8 @@ def test(): ovenProxyContractAddress = ovenProxy.address, interestIndex = sp.to_int(initialInterestIndex) ) - scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) scenario += aliceOven + scenario += ovenRegistry.addOven((aliceOven.address, alice.address)).run(sender = ovenFactory.address) # WHEN alice deposits 1 XTZ at compound period = 3 currentTime = sp.timestamp(Constants.SECONDS_PER_COMPOUND * 3)