Exemple #1
0
    def setup_method(self):
        self.web3 = web3()
        self.our_address = our_address(self.web3)
        self.keeper_address = keeper_address(self.web3)
        self.other_address = other_address(self.web3)
        self.gal_address = gal_address(self.web3)
        self.mcd = mcd(self.web3)
        self.flopper = self.mcd.flopper
        self.flopper.approve(
            self.mcd.vat.address,
            approval_function=hope_directly(from_address=self.keeper_address))
        self.flopper.approve(
            self.mcd.vat.address,
            approval_function=hope_directly(from_address=self.other_address))

        self.keeper = AuctionKeeper(args=args(
            f"--eth-from {self.keeper_address} "
            f"--type flop "
            f"--from-block 1 "
            f"--bid-check-interval 0.05 "
            f"--model ./bogus-model.sh"),
                                    web3=self.web3)
        self.keeper.approve()

        reserve_dai(self.mcd, self.mcd.collaterals['ETH-C'],
                    self.keeper_address, Wad.from_number(200.00000))
        reserve_dai(self.mcd, self.mcd.collaterals['ETH-C'],
                    self.other_address, Wad.from_number(200.00000))

        self.sump = self.mcd.vow.sump()  # Rad
    def setup_method(self):
        self.web3 = web3()
        self.our_address = our_address(self.web3)
        self.keeper_address = keeper_address(self.web3)
        self.other_address = other_address(self.web3)
        self.gal_address = gal_address(self.web3)
        self.mcd = mcd(self.web3)
        self.flopper = self.mcd.flopper
        self.flopper.approve(
            self.mcd.vat.address,
            approval_function=hope_directly(from_address=self.keeper_address))
        self.flopper.approve(
            self.mcd.vat.address,
            approval_function=hope_directly(from_address=self.other_address))

        self.keeper = AuctionKeeper(args=args(
            f"--eth-from {self.keeper_address} "
            f"--type flop "
            f"--from-block 1 "
            f"--model ./bogus-model.sh"),
                                    web3=self.web3)
        self.keeper.approve()

        assert isinstance(self.keeper.gas_price, DynamicGasPrice)
        self.default_gas_price = self.keeper.gas_price.get_gas_price(0)

        reserve_dai(self.mcd, self.mcd.collaterals['ETH-C'],
                    self.keeper_address, Wad.from_number(200.00000))
        reserve_dai(self.mcd, self.mcd.collaterals['ETH-C'],
                    self.other_address, Wad.from_number(200.00000))

        self.sump = self.mcd.vow.sump()  # Rad
Exemple #3
0
    def setup_method(self):
        self.web3 = web3()
        self.our_address = our_address(self.web3)
        self.keeper_address = keeper_address(self.web3)
        self.other_address = other_address(self.web3)
        self.gal_address = gal_address(self.web3)
        self.mcd = mcd(self.web3)
        self.flapper = self.mcd.flapper
        self.flapper.approve(self.mcd.mkr.address,
                             directly(from_address=self.other_address))

        self.keeper = AuctionKeeper(args=args(
            f"--eth-from {self.keeper_address} "
            f"--type flap "
            f"--from-block 1 "
            f"--model ./bogus-model.sh"),
                                    web3=self.web3)
        self.keeper.approve()

        mint_mkr(self.mcd.mkr, self.keeper_address, Wad.from_number(50000))
        mint_mkr(self.mcd.mkr, self.other_address, Wad.from_number(50000))

        assert isinstance(self.keeper.gas_price, DynamicGasPrice)
        # Since no args were assigned, gas strategy should return a GeometricGasPrice starting at 10 Gwei
        self.default_gas_price = 10 * DynamicGasPrice.GWEI
Exemple #4
0
 def setup_class(cls):
     cls.web3 = web3()
     cls.mcd = mcd(cls.web3)
     cls.collateral = collateral_clip(cls.mcd)
     cls.dai_collateral = cls.mcd.collaterals['ETH-C']
     cls.clipper = cls.collateral.clipper
     cls.keeper_address = keeper_address(cls.web3)
     cls.gal_address = gal_address(cls.web3)
     cls.other_address = other_address(cls.web3)
Exemple #5
0
 def setup_class(cls):
     cls.web3 = web3()
     cls.our_address = our_address(cls.web3)
     cls.gal_address = gal_address(cls.web3)
     cls.keeper_address = keeper_address(cls.web3)
     cls.other_address = other_address(cls.web3)
     cls.mcd = mcd(cls.web3)
     cls.flopper = cls.mcd.flopper
     cls.flopper.approve(
         cls.mcd.vat.address,
         approval_function=hope_directly(from_address=cls.keeper_address))
     cls.flopper.approve(
         cls.mcd.vat.address,
         approval_function=hope_directly(from_address=cls.other_address))
Exemple #6
0
    def setup_method(self):
        self.web3 = web3()
        self.our_address = our_address(self.web3)
        self.keeper_address = keeper_address(self.web3)
        self.other_address = other_address(self.web3)
        self.gal_address = gal_address(self.web3)
        self.mcd = mcd(self.web3)
        self.flapper = self.mcd.flapper
        self.flapper.approve(self.mcd.mkr.address, directly(from_address=self.other_address))

        self.keeper = AuctionKeeper(args=args(f"--eth-from {self.keeper_address} "
                                              f"--type flap "
                                              f"--from-block 1 "
                                              f"--model ./bogus-model.sh"), web3=self.web3)
        self.keeper.approve()

        mint_mkr(self.mcd.mkr, self.keeper_address, Wad.from_number(50000))
        mint_mkr(self.mcd.mkr, self.other_address, Wad.from_number(50000))
Exemple #7
0
                    default=False,
                    help="Print surplus and debt balances in the Vow")
parser.add_argument('--auctions',
                    dest='auctions',
                    action='store_true',
                    default=False,
                    help="Dump auction details")
parser.add_argument('--missed-flops',
                    dest='missed_flops',
                    action='store_true',
                    default=False,
                    help="List flops which were not bid upon")
arguments = parser.parse_args(sys.argv[1:])

mcd = mcd(web3())
address = gal_address(web3())


def print_balances():
    joy = mcd.vat.dai(mcd.vow.address)
    awe = mcd.vat.sin(mcd.vow.address)
    woe = (awe - mcd.vow.sin()) - mcd.vow.ash()
    print(f"joy={str(joy)[:6]}, awe={str(awe)[:9]}, woe={str(woe)[:9]}, "
          f"Sin={str(mcd.vow.sin())[:9]}, Ash={str(mcd.vow.ash())[:9]}, "
          f"debt={str(mcd.vat.debt())[:9]}, vice={str(mcd.vat.vice())[:9]}")
    #f"bump={str(mcd.vow.bump())[:9]}, sump={str(mcd.vow.sump())[:9]}")


def print_auctions():
    pprint(mcd.active_auctions())
Exemple #8
0
 def teardown_class(cls):
     cls.mcd = mcd(web3())
     if not repay_urn(cls.mcd, c(cls.mcd), gal_address(web3())):
         liquidate_urn(cls.mcd, c(cls.mcd), gal_address(web3()), keeper_address(web3()))
     kill_other_threads()
Exemple #9
0
 def teardown_class(cls):
     cls.mcd = mcd(web3())
     cls.liquidate_urn(web3(), cls.mcd, c(cls.mcd), gal_address(web3()),
                       our_address(web3()))