<p>In a way, you are (but aren't) correct since auctionSeller and auctionBuyer could be used to arbitrarily declare params. However, these functions don't run on-chain, they are client-side code for preparing the structure to be submitted for placing a bid.</p>
<p>The on-chain validation is in the &quot;auctionTransition&quot; function which accepts the bid, or payout. Both these inputs don't even accept a deadline or token type value so it isn't possible for them to change the state in that way. Otherwise, the token and deadline are immutable, so they cannot be changed.</p>

CC BY-SA 4.0
2022-01-14T03:30:51.730Z
Well as you said it is off-chain. If you feed it incorrect information, all you do is allow yourself to build an order which will be denied by the on-chain component, or disallow yourself from building otherwise correct information.
micahkendall
CC BY-SA 4.0
2022-01-14T04:48:43.267Z
Welcome to Cardano SE! As a new user be sure to take the [Tour].
gRebel
CC BY-SA 4.0
2022-01-13T14:46:49.767Z
2022-01-13T14:46:49.767Z
micahkendall
<p>Regarding plutus-apps Auction use-case <a href="https://github.com/input-output-hk/plutus-apps/blob/7f53f18dfc788bf6aa929f47d840efa1247e11fd/plutus-use-cases/src/Plutus/Contracts/Auction.hs" rel="nofollow noreferrer">plutus-use-cases/src/Plutus/Contracts/Auction.hs</a> , both <a href="https://github.com/input-output-hk/plutus-apps/blob/7f53f18dfc788bf6aa929f47d840efa1247e11fd/plutus-use-cases/src/Plutus/Contracts/Auction.hs#L215" rel="nofollow noreferrer">auctionSeller</a> and <a href="https://github.com/input-output-hk/plutus-apps/blob/7f53f18dfc788bf6aa929f47d840efa1247e11fd/plutus-use-cases/src/Plutus/Contracts/Auction.hs#L346" rel="nofollow noreferrer">auctionBuyer</a> need to specify the same exact params, or else each buyer could change the auction deadline!  What exactly stops the buyer contract from doing so?</p>

<plutus>
Plutus Auction use-case
# Plutus Auction use-case

(Asked by: username_0 on 2022-01-12)

Regarding plutus-apps Auction use-case [plutus-use-cases/src/Plutus/Contracts/Auction.hs](https://github.com/input-output-hk/plutus-apps/blob/7f53f18dfc788bf6aa929f47d840efa1247e11fd/plutus-use-cases/src/Plutus/Contracts/Auction.hs) , both [auctionSeller](https://github.com/input-output-hk/plutus-apps/blob/7f53f18dfc788bf6aa929f47d840efa1247e11fd/plutus-use-cases/src/Plutus/Contracts/Auction.hs#L215) and [auctionBuyer](https://github.com/input-output-hk/plutus-apps/blob/7f53f18dfc788bf6aa929f47d840efa1247e11fd/plutus-use-cases/src/Plutus/Contracts/Auction.hs#L346) need to specify the same exact params, or else each buyer could change the auction deadline! What exactly stops the buyer contract from doing so?

**Tags:** plutus

---

## 1 answers

### Answer by username_1 on 2022-01-13. Score: 1

In a way, you are (but aren't) correct since auctionSeller and auctionBuyer could be used to arbitrarily declare params. However, these functions don't run on-chain, they are client-side code for preparing the structure to be submitted for placing a bid.

The on-chain validation is in the "auctionTransition" function which accepts the bid, or payout. Both these inputs don't even accept a deadline or token type value so it isn't possible for them to change the state in that way. Otherwise, the token and deadline are immutable, so they cannot be changed.

> **Comments:**
> **username_1**: Well as you said it is off-chain. If you feed it incorrect information, all you do is allow yourself to build an order which will be denied by the on-chain component, or disallow yourself from building otherwise correct information.  
> **username_2**: Welcome to Cardano SE! As a new user be sure to take the [Tour].  

---

