Construct a burn contract. Note that some of
the inputs are required.
The burn contract requires inputs including the dappIdentifier
,
the asset
, the amount
and a proof
, refer to the above
parameters description for more details.
The inputs that are used during execution ("arguments").
(Optional) The contract version number (defaults to 1
).
(Optional) The network parameters ("connection").
This method should return an ObjectLiteral that consists of
the body of the contract, e.g. in the Burn contract
the body contains a date.
In the burn contract, we always include the date
field.
Note that by modifying the required fields of a contract's
body, you must also update the version of the contract
to prevent inconsistencies in operations.
An object that consists of custom fields related to the scope of the contract.
This getter method transforms the provided dappIdentifier
input into a slug. The characters set for valid slugs
includes: lowercase alpha-numerical characters, underscores
and hyphens. Additionally, multiple hyphens in a series are
replaced for single hyphens.
This method is used internally to determine a dapp identifier
that is compliant to a strict characters set.
A slugified dApp identifier as present on-chain.
This getter method prepares the contract header. The
header consists of the contract signature and version
of the contract.
The contract header is always attached to contracts
using the toJSON method.
An object that consists of the contract signature and version.
This method should return a string
that is used as the
identifier of the contract being executed.
This identifier will be concatenated with the dApp identifier
to form the contract signature.
This method should return an identifier that is unique
across one dApp, i.e. it is OK to re-define an burn
contract in a different dApp than elevate.
A contract identifier as present on-chain in the contract signature.
This getter method returns the contract payload
as it is attached inside transfer transaction messages.
This method is used internally to determine a contract
payload that is used to produce JSON in toJSON.
A full contract payload (with "contract" and "version").
This getter method returns the contract signature
as it is attached inside contracts' JSON payloads.
This method is used internally to determine a contract
signature that is included in the contract header.
A contract signature, e.g. "elevate:auth".
This method should return an array of Mosaic
instances as
defined in @dhealth/sdk
. The transaction assets consists
of a set of assets that are attached to a transaction
on dHealth Network.
Note that the Burn contract does not attach any
mosaics to the transfer transaction - rather, the burn event
happens in a MosaicSupplyChange
transaction that is attached
to this contract using the proof
parameter.
An array of assets and amounts thereof that are attached to a transfer transaction.
Helper method that creates an Address
instance out of transaction
parameters. Parameters may include a recipientPublicKey
or a
recipientAddress
. If both are provided, the recipientAddress
takes precedence.
Note that in the case of providing a `recipientPublicKey, this method
uses the internal Contract.parameters to determine the network
identifier.
A configuration object that is passed to the creation process of the dHealth Network Transaction.
A dHealth Network Account Address from @dhealth/sdk
.
This method creates a JSON payload using the contract
header and the custom body fields, as defined in child
classes.
Note that the resulting string
is attached as is to
the transfer transaction on dHealth Network.
A JSON payload that can be attached to transfer transactions.
This method should return a prepared Transaction
object from
@dhealth/sdk
. This transaction will not be broadcast or
signed yet and this method can be called without requiring
an internet connection ("off-line").
Note that by modifying the transaction that is created when
executing a contract, you must also update the version
of the contract to prevent inconsistencies in operations.
A configuration object that is passed to the creation process of the dHealth Network Transaction.
A prepared (but unsigned) dHealth Network Transaction.
This method uses a Transaction
child class from which it
reads the contract JSON payload.
Invalid JSON errors will trigger the InvalidContractError
exception to be thrown.
This method is used internally to transform a Transaction
object into an ObjectLiteral by making sure that the
JSON payload uses valid JSON formatting rules and lives
inside either of: the transfer transaction message or the
aggregate bundle's first transfer transaction's message.
A transaction object that contains the full definition of the executed contract.
A parsed contract consists of an object
of type ObjectLiteral.
Generated using TypeDoc
This class contains the implementation of the burn contract which is used to discover operations of burn in the dApp.
Use this class whenever you are interpreting an operation of burn for your dApp. Also, an instance of this class is created using Factory.createFromJSON given a contract signature that matches:
/:burn$/
(ends with).Parameters
Following inputs apply to the Burn contract class:
dappIdentifier
string
asset
string
amount
number
1
.proof
string
MosaicSupplyChange
transaction that contains an on-chain burn event.Using the
Burn
contract classOther links
BurnParameters | Contract | Factory
v0.3.0