diff --git a/src/cat.sol b/src/cat.sol index 904f32c6..0614f361 100644 --- a/src/cat.sol +++ b/src/cat.sol @@ -118,7 +118,7 @@ contract Cat is DSNote { VatLike.Urn memory u = vat.urns(ilk, urn); require(live == 1); - require(mul(u.ink, i.spot) < mul(u.art, i.rate)); + require(i.spot > 0 && mul(u.ink, i.spot) < mul(u.art, i.rate)); uint lot = min(u.ink, ilks[ilk].lump); uint art = min(u.art, mul(lot, u.art) / u.ink); diff --git a/src/spot.sol b/src/spot.sol index 7e34def9..0371095c 100644 --- a/src/spot.sol +++ b/src/spot.sol @@ -83,11 +83,9 @@ contract Spotter is DSNote { // --- Update value --- function poke(bytes32 ilk) external { - (bytes32 val, bool zzz) = ilks[ilk].pip.peek(); - if (zzz) { - uint256 spot = rdiv(rdiv(mul(uint(val), 10 ** 9), par), ilks[ilk].mat); - vat.file(ilk, "spot", spot); - emit Poke(ilk, val, spot); - } + (bytes32 val, bool has) = ilks[ilk].pip.peek(); + uint256 spot = has ? rdiv(rdiv(mul(uint(val), 10 ** 9), par), ilks[ilk].mat) : 0; + vat.file(ilk, "spot", spot); + emit Poke(ilk, val, spot); } }