sigexpression evaluates to
trueif the signature provided with the transaction is valid and produced by the private key that corresponds to the above public key. The address (checksummed hash in base32) corresponding to this definition is A2WWHN7755YZVMXCBLMFWRSLKSZJN3FU.
trueif the author supplies a preimage of the hash specified in the address definition.
or. For example, this is a definition that requires two signatures:
cosigned by, and
in merklecannot be negated.
in data feedclause can be used to make queries about data previously stored on Obyte:
trueif there is at least one previous message stored in Obyte database that has “data feed name” equal to “expected value”. Instead of
=, you can also use
!=The data feed must be posted to Obyte decentralized database by one of the oracles whose addresses are “ADDRESS1”, “ADDRESS2”, … Since oracles post to the common database, we call them on-chain oracles.
in merkleclause below for a more practical way to achieve the same result.
in merkleis a more economical way to query the presence of a particular data entry in a large data set. Instead of posting every data entry in a
data_feedmessage, only the merkle root of the large data set is posted as a
data_feed, and the signer has to provide the data entry and its merkle path:
trueif the specified address was seen as author in at least one past unit included in the last stable unit.
trueif there was an input or output in the past (before last stable unit) that satisfies the specified condition. The syntax for the search condition is the same as for
trueif there was a definition change of the specified address and the c-hash (checksummed hash) of the new definition is equal to the specified value.
trueif the age of all inputs spent from this address satisfies the specified condition. The age is the difference between last ball mci and the input’s mci.
trueif the specified address is attested by one of the listed attestors. The address can also be “this address”.
hasclause evaluates to
trueif the transaction has at least one input or output that satisfies all the set conditions:
asset: ID of asset (44-character string) or
type: for inputs only,
issue. If specified, it searches only transfers or only issues
amount: amount must be at least, at most, or exactly equal to the specified value
address: address where the output is sent to or the input is spent from, can be literal address or “this address” or “other address”
has onehas exactly the same syntax but evaluates to true if there is exactly one input or output that satisfies the search conditions.
trueif there is at least one pair of inputs or outputs that satisfy the search criteria and the fields specified in
equal_fieldsare equal. The first element of the pair is searched by the first set of filters, the second by the second, and the syntax for the search conditions is the same as in
has one equalrequires that there is exactly one such pair.
trueif the sum of inputs or outputs that satisfy the filter is equal, at least, or at most the target value.
trueif the unit has a definition change of the specified address and the c-hash (checksummed hash) of the new definition is equal to the specified value.
last_ball_mciof the current unit is greater than (other possible comparisons:
=) than the specified value. It can be useful to make the address spendable only after some point in the future and not rely on any timestamp oracles.
trueIf the time is longer than the specified time. You can also use
"=", "<", ">=", "<=", "!=". This example returns true 2 hours after the deployment.