Skip to content

Latest commit

 

History

History
200 lines (116 loc) · 4.3 KB

keywords.md

File metadata and controls

200 lines (116 loc) · 4.3 KB

Keywords

block-height​

Introduced in: Clarity 1

output: uint

description:

Returns the current block height of the Stacks blockchain as an uint

example:

(> block-height 1000) ;; returns true if the current block-height has passed 1000 blocks.

burn-block-height​

Introduced in: Clarity 1

output: uint

description:

Returns the current block height of the underlying burn blockchain as a uint

example:

(> burn-block-height 1000) ;; returns true if the current height of the underlying burn blockchain has passed 1000 blocks.

chain-id​

Introduced in: Clarity 2

output: uint

description:

Returns the 32-bit chain ID of the blockchain running this transaction

example:

(print chain-id) ;; Will print 'u1' if the code is running on mainnet, and 'u2147483648' on testnet, and other values on different chains.

contract-caller​

Introduced in: Clarity 1

output: principal

description:

Returns the caller of the current contract context. If this contract is the first one called by a signed transaction, the caller will be equal to the signing principal. If contract-call? was used to invoke a function from a new contract, contract-caller changes to the calling contract's principal. If as-contract is used to change the tx-sender context, contract-caller also changes to the same contract principal.

example:

(print contract-caller) ;; Will print out a Stacks address of the transaction sender

false​

Introduced in: Clarity 1

output: bool

description:

Boolean false constant.

example:

(and true false) ;; Evaluates to false
(or false true)  ;; Evaluates to true

is-in-mainnet​

Introduced in: Clarity 2

output: bool

description:

Returns a boolean indicating whether or not the code is running on the mainnet

example:

(print is-in-mainnet) ;; Will print 'true' if the code is running on the mainnet

is-in-regtest​

Introduced in: Clarity 1

output: bool

description:

Returns whether or not the code is running in a regression test

example:

(print is-in-regtest) ;; Will print 'true' if the code is running in a regression test

none​

Introduced in: Clarity 1

output: (optional ?)

description:

Represents the none option indicating no value for a given optional (analogous to a null value).

example:

(define-public (only-if-positive (a int))
  (if (> a 0)
      (some a)
      none))
(only-if-positive 4) ;; Returns (some 4)
(only-if-positive (- 3)) ;; Returns none

stx-liquid-supply​

Introduced in: Clarity 1

output: uint

description:

Returns the total number of micro-STX (uSTX) that are liquid in the system as of this block.

example:

(print stx-liquid-supply) ;; Will print out the total number of liquid uSTX

true​

Introduced in: Clarity 1

output: bool

description:

Boolean true constant.

example:

(and true false) ;; Evaluates to false
(or false true)  ;; Evaluates to true

tx-sender​

Introduced in: Clarity 1

output: principal

description:

Returns the original sender of the current transaction, or if as-contract was called to modify the sending context, it returns that contract principal.

example:

(print tx-sender) ;; Will print out a Stacks address of the transaction sender

tx-sponsor?​

Introduced in: Clarity 2

output: optional principal

description:

Returns the sponsor of the current transaction if there is a sponsor, otherwise returns None.

example:

(print tx-sponsor?) ;; Will print out an optional value containing the Stacks address of the transaction sponsor