A transaction order is an order to transfer assets or request an operation on the ledger. In the simplest case, it relates to the transfer of a native cryptocurrency; in more advanced cases, it can apply to the execution of smart contract methods and other on-ledger features.
Transaction orders may differ from one ledger protocol to another, but they at least define the account origin, and normally have an amount and a destination address; for some protocols, a single transaction may include multiple destinations and amounts, possibly denominated in various currencies.
Transaction orders rely on property parameters to define ledger-specific transaction order parameters.
We present below the transaction order parameters for Bitcoin:
outputs: sequence of pairs of destination and amount;feeStrategy: fee calculation strategy, which may beLow,MediumorHigh; the actual fee amount corresponding to the selected strategy is automatically set by the system at execution time based on a network metrics;maximumFee: maximum fee the user is willing to pay to execute the transaction; in rare occasions, Harmonize may decide to rebroadcast a transaction with higher fees to ensure inclusion within the ledger, as long asmaximumFeehas not been reached.
For an exhaustive list corresponding to each respective ledger protocol, we refer to the reference manual.
Harmonize supports multiple types of destinations for transaction orders:
- ledger address: a ledger address is a protocol-level address, whose format may differ from one ledger protocol to another;
- account: an account destination is an account
id, which is guaranteed to implicitly resolve to an address of the account; for protocols supporting multiple addresses per account, no guarantee is provided over which account address the resolution leads to; - endpoint: an endpoint destination is an endpoint
id, which is guaranteed to implicitly resolve to the address of the endpoint.
Once a transaction order is fully approved the order becomes executable. The corresponding vault may capture the pending transaction order and build and sign a corresponding ledger transaction.
Transactions are incoming or outgoing ledger transactions that have been detected on the ledger or shall be broadcast. Transfers are the financial representation of their corresponding transactions.
- Mock serverhttps://docs.ripple.com/_mock/pt-br/products/custody/devbox/v1/domains/{domainId}/transactions/orders
curl -i -X GET \
'https://docs.ripple.com/_mock/pt-br/products/custody/devbox/v1/domains/{domainId}/transactions/orders?limit=1&startingAfter=497f6eca-6276-4993-bfeb-53cbbbba6f08&sortBy=id&sortOrder=ASC&accountId=8e92eb53-40e7-4809-bb52-7e7b3b41a4be%2Cfdeeeb4b-f987-4ec4-9880-1eb280581d49&ledgerId=ledgerId1%2CledgerId2&intentId=90c4cf2f-ebe0-4bf7-91cd-4c45cd02277b¶meters.type=XRPL&metadata.createdBy=fdeeeb4b-f987-4ec4-9880-1eb280581d49&metadata.lastModifiedBy=90c4cf2f-ebe0-4bf7-91cd-4c45cd02277b&metadata.createdAt.lt=2022-11-22T14%3A06%3A00.0000000%2B00%3A00&metadata.createdAt.gt=2022-11-22T14%3A06%3A00.0000000%2B00%3A00&metadata.lastModifiedAt.lt=2022-11-22T14%3A06%3A00.0000000%2B00%3A00&metadata.lastModifiedAt.gt=2022-11-22T14%3A06%3A00.0000000%2B00%3A00&metadata.description=description1&metadata.customProperties=key1%3Avalue1%2Ckey2%3Avalue2' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "items": [ { … } ], "count": 0, "currentStartingAfter": "string", "nextStartingAfter": "string" }