Transaction Types
Activation
Description: Sets up and activates various functionalities within the TradeLayer ecosystem.There are multiple activations, each enabling a specific set of transactions. Once the finite activations are expended this transaction loses all power.
Parameters:
txTypeToActivate
: The transaction type to be activated.block
: The block at which the activation takes place.
Send
- Description: Allows users to send tokens from one address to another.
- Parameters:
sendAll
: Boolean indicating if all tokens should be sent.senderAddress
: The address initiating the transaction.recipientAddresses
: Array of recipient addresses.propertyIds
: Array of token property IDs to be sent.amounts
: Array of amounts to be sent for each property.block
: The block in which the transaction occurs. --- ### Token Issue- Description: Issues a new token, which can be managed, fixed, or non-fungible.
- Parameters:
sender
: The address of the token issuer.initialAmount
: The total amount of the token at issuance.ticker
: The symbol of the token.url
: URL related to the token (optional).whitelistId
: The whitelist ID associated with the token.isManaged
: Boolean indicating if the token is managed.backupAddress
: An alternate address for token management.isNFT
: Boolean indicating if the token is non-fungible.block
: The block in which the transaction occurs.
Trade Token for UTXO
- Description: Facilitates trading of a token in exchange for UTXOs.
- Parameters:
senderAddress
: The address sending the token.satsPaymentAddress
: The address receiving the Litecoin.propertyId
: The ID of the token being traded.amount
: The amount of tokens to be traded.columnA
: Boolean indicating which column is involved in the trade.satsExpected
: The expected amount in satoshis.tokenDeliveryAddress
: The address receiving the tokens.satsReceived
: The actual amount received in satoshis.price
: Price per token.paymentPercent
: The percentage of the payment.block
: The block number of the transaction.txid
: Transaction ID for reference.
Commit Token
- Description: Commits tokens to a specific purpose, such as creating a reserve.
- Parameters:
senderAddress
: The address committing the tokens.channelAddress
: The address of the channel where tokens are committed.propertyId
: The ID of the property/token being committed.amount
: The amount being committed.
On-Chain Token-to-Token Trade
- Description: Executes a token-to-token trade directly on-chain.
- Parameters:
fromAddress
: The address initiating the trade.offeredPropertyId
: The property ID being offered.desiredPropertyId
: The property ID desired in exchange.amountOffered
: The amount of the offered property.amountExpected
: The amount expected in return.stop
: Boolean indicating if this is a stop order.post
: Boolean indicating if this is a post-only order.
Cancel Order
- Description: Cancels an existing order in the order book.
- Parameters:
fromAddress
: The address requesting the cancellation.isContract
: Boolean indicating if the order is for a contract.offeredPropertyId
: The offered property ID.desiredPropertyId
: The desired property ID.cancelAll
: Boolean indicating if all orders should be canceled.cancelParams
: Parameters for specific order cancellation.
Create Clear List
- Description: Creates a new clear list with specific criteria.
- Parameters:
adminAddress
: The address of the admin managing the clear list.name
: The name of the clear list.-url
: URL associated with the clear list.description
: Description of the clear list.backupAddress
: Backup admin address.
Update Admin
- Description: Updates the admin address for tokens, oracles, or other entities.
- Parameters:
whitelist
: Boolean for updating a whitelist admin.token
: Boolean for updating a token admin.oracle
: Boolean for updating an oracle admin.id
: The ID of the entity to update.newAddress
: The new admin address.updateBackup
: Boolean indicating if the backup admin should also be updated.
Issue or Revoke Attestation
- Description: Issues or revokes an attestation for an address.
- Parameters:
clearlistId
: The clear list ID.targetAddress
: The address for the attestation.clearlistRegistry
: The clear list registry.metaData
: Metadata for the attestation.revoke
: Boolean indicating if this is a revocation.
AMM Pool -
Description: Handles AMM (Automated Market Maker) pool actions like adding or redeeming capital.
- Parameters:
sender
: The sender's address.block
: The block number.isRedeem
: Boolean indicating if it's a redeem action.isContract
: Boolean indicating if the transaction involves a contract.id
: ID of the property or contract involved.amount
: Amount for the transaction.id2
: Secondary ID for pairs (optional).amount2
: Secondary amount (optional).
Grant Managed Token
- Description: Grants managed tokens to a recipient.
- Parameters:
propertyId
: ID of the token property.amount
: The amount to grant.recipientAddress
: The recipient's address.propertyManager
: The property manager instance.
Redeem Managed Token
- Description: Redeems managed tokens from an address.
- Parameters: -
propertyId
: The property ID. amount
: Amount to redeem.address
: The address initiating the redemption.
Create Oracle
- Description: Creates a new oracle with specific parameters.
- Parameters:
adminAddress
: Admin address for the oracle.ticker
: Ticker symbol for the oracle.-url
: URL for the oracle.backupAddress
: Backup admin address.clearlists
: Clearlists associated with the oracle.lag
: Oracle data lag time.oracleRegistry
: Registry for oracles.
Publish Oracle Data
- Description: Publishes data to an existing oracle.
- Parameters:
oracleId
: The ID of the oracle to publish data to.price
: The price data to publish.high
: The high value for the data period.low
: The low value for the data period.close
: The close value for the data period.
Close Oracle
- Description: Closes an existing oracle, stopping further data publishing.
- Parameters:
oracleId
: The ID of the oracle to close.
Create Contract Series
- Description: Creates a new futures contract series with parameters like leverage, collateral, and expiry.
- Parameters:
sender
: Address creating the series.native
: Boolean indicating if the contract is native.underlyingOracleId
: The ID of the underlying oracle for the contract.onChainData
: Data required for on-chain execution.notionalPropertyId
: Property ID for notional value.notionalValue
: The value for notional amount.collateralPropertyId
: Collateral property ID.leverage
: Leverage factor for the contract.expiryPeriod
: Expiry period of the contract.series
: Series identifier.inverse
: Boolean indicating if the contract is inverse.fee
: The transaction fee for the series.block
: The block when the series is created.whitelist
: Whitelist associated with the series.
Exercise Derivative
- Description: Exercises an existing derivative contract.
- Parameters:
contractId
: The ID of the contract to exercise.amount
: The amount to exercise.contractsRegistry
: Registry instance for contracts.
Trade Contract On-Chain
- Description: Executes an on-chain trade for a futures contract.
- Parameters:
contractId
: The ID of the contract being traded.price
: The price for the contract.amount
: The amount of the contract.sell
: Boolean indicating if the trade is a sell order.insurance
: Insurance details for the trade.blockTime
: Block timestamp.txid
: Transaction ID.sender
: Address executing the trade.reduce
: Boolean indicating if this is a reduce-only order.post
: Boolean indicating if this is a post-only order.stop
: Boolean indicating if this is a stop order.
Trade Contract Channel
- Description: Executes a trade for a contract within a specified channel.
- Parameters:
contractId
: The ID of the contract being traded.price
: The price at which the contract is traded.amount
: The amount being traded.columnAIsSeller
: Boolean indicating if Column A is the seller.expiryBlock
: Expiry block for the contract.insurance
: Insurance details for the contract.channelAddress
: Address of the trading channel.
Trade Tokens Channel
- Description: Facilitates token-to-token trade within a specific channel.
- Parameters:
offeredPropertyId
: The ID of the token being offered.desiredPropertyId
: The ID of the token being requested.amountOffered
: Amount of the offered token.amountDesired
: Amount of the desired token.expiryBlock
: Expiry block for the trade.columnAIsOfferer
: Boolean indicating if Column A is the offerer.channelAddress
: The address of the trading channel.
Withdrawal
- Description: Withdraws a specified amount of tokens from a channel.
- Parameters:
withdrawAll
: Boolean indicating if all tokens should be withdrawn.channelAddress
: Address of the channel.propertyId
: The property ID for the tokens being withdrawn.amount
: The amount to withdraw.sender
: The address initiating the withdrawal.block
: The block number when the withdrawal occurs.columnIsB
: Boolean indicating if Column B is involved in the withdrawal.
Transfer
- Description: Transfers tokens from one channel to another.
- Parameters:
fromChannelAddress
: The channel address initiating the transfer.toChannelAddress
: The destination channel address.propertyId
: The ID of the property being transferred.amount
: The amount to transfer.isColumnA
: Boolean indicating if Column A is the source column.block
: The block number when the transfer occurs.
Settle Channel PNL
- Description: Settles profit and loss for a specific trading channel.
- Parameters:
- propertyId
- amount
- keepingTrade (boolean)
- txId negated (base 94 encoded)
- txId negated (if keepingTrade is false)
- mark price (if keepingTrade is true)
Mint Synthetic
- Description: Mints new synthetic tokens based on an existing property and contract.
- Parameters:
address
: Address to receive the synthetic tokens.propertyId
: The collateral property ID.contractId
: The contract ID.amount
: Amount of synthetic tokens to mint.grossRequired
: Gross amount required as collateral.contracts
: Number of contracts.margin
: Margin required for the transaction.
Redeem Synthetic
- Description: Redeems synthetic tokens for the underlying collateral.
- Parameters:
address
: Address initiating the redemption.propertyId
: The ID of the synthetic token.contractId
: The associated contract ID.amount
: The amount to redeem.
Pay To Tokens
- Description: Distributes one type of token to holders of another.
- Parameters:
propertyIdTarget
: ID of the target property.propertyIdUsed
: ID of the property used for payment.amount
: The total amount for distribution.address
: Address initiating the distribution.
Create Option Chain
- Description: Creates an options chain with specified strike intervals and style.
- Parameters:
seriesId
: ID of the options series.strikePercentInterval
: Interval for strike prices.expiryNumber
: number of contracts in the seriesexpiryInterval
: blocks between expirations for contracts in the seriesisEuropeanStyle
: Boolean indicating if the options are European style.
Trade Bai Urbun
- Description: Facilitates an Islamic Bai Urbun trade within a channel.
- Parameters:
channelAddress
: Address of the trading channel.propertyIdDownPayment
: Property ID for the down payment.propertyIdToBeSold
: Property ID for the item to be sold.downPaymentPercent
: Down payment percentage.amount
: Total amount for the trade.expiryBlock
: Expiry block for the trade.tradeExpiryBlock
: Trade expiry block.
Trade Murabaha
- Description: Executes a Murabaha trade where the cost and profit margin are predefined.
- Parameters:
channelAddress
: Address of the trading channel.buyerAddress
: Address of the buyer.sellerAddress
: Address of the seller.propertyId
: Property ID for the trade.costPrice
: Cost price for the goods.profitMargin
: Profit margin for the seller.paymentBlockHeight
: Block height for payment.
Issue Invoice
- Description: Issues an invoice for a specified amount and due date.
- Parameters:
propertyManager
: The property manager instance.invoiceRegistry
: Registry instance for invoices.propertyIdToReceivePayment
: Property ID to receive payment.amount
: Amount for the invoice.dueDateBlock
: Due date block.propertyIdCollateral
: Collateral property ID (optional).receivesPayToToken
: Boolean for pay-to-token collateral.issuerNonce
: Nonce for the issuer.
Batch Move ZK Rollup
- Description: Processes a batch of transactions using zero-knowledge rollups.
- Parameters:
zkVerifier
: Verifier for zero-knowledge proofs.rollupData
: Data for the rollup batch.zkProof
: Zero-knowledge proof for the rollup batch.
Publish New Tx
- Description: Publishes a new transaction type with accompanying code.
- Parameters:
ordinalRevealJSON
: JSON data for the ordinal reveal.jsCode
: JavaScript code associated with the transaction.
Bind Smart Contract
- Description: Tags the sender address as having keys controlled by
- Parameters:
contractHash
: identifier for the contract address on the foreign chaincontrolledKeys
: number of keys on the address controlled by the contractthresholdKeys
: number of signatures needed to sign a tx from this address (if multisig)maximumKeys
: maximum number of keys on the address (if multisig)ordinalRevealCode
: Code for the contract can be found in the witness data
Register and Redeem OP_CTV Covenant
- Description: Registers or redeems an OP_CTV Covenant transaction.
- Parameters: To be defined based on specific use case requirements.
Mint Colored Coin
- Description: Mints a new colored coin with specific properties.
- Parameters: To be defined based on specific use case requirements.
Last updated: [1082024]