Duration is a delta of time. You can add it to a BlockInfo or Expiration to move that further in the future. Note that an height-based Duration and a time-based Expiration cannot be combined
Expiration represents a point in time when some event happens. It can compare with a BlockInfo and will return is_expired() == true once the condition is hit (and for every block in the future)
Scheduled represents a point in time when an event happens. It can compare with a BlockInfo and will return is_triggered() == true once the condition is hit (and for every block in the future)
This defines the different ways tallies can happen.
This defines the different ways tallies can happen. Every contract should support a subset of these, ideally all.
This defines a set of attributes which should be added to
This function not only validates that the right contract and version can be migrated, but also updates the contract version from the original (stored) version to the new version. It returns the original version for the convenience of doing external checks.
Similar to must_pay, but it any payment is optional. Returns an error if a different denom was sent. Otherwise, returns the amount of
denomsent, or 0 if nothing sent.
Requires exactly one denom sent, which matches the requested denom. Returns the amount if only one denom and non-zero amount. Errors otherwise.
returns an error if any coins were sent
If exactly one coin was sent, returns it regardless of denom. Returns error if 0 or 2+ coins were sent