Coding Guide
A coding overview to XChainJS.
General
The foundation of xchainjs is defined in the xchain-util package
Address
: a crypto address as a string.BaseAmount
: a bigNumber in 1e8 format. E.g. 1 BTC = 100,000,000 in BaseAmountAssetAmount
: a BaseAmount*10^8. E.g. 1 BTC = 1 in Asset Amount.Asset
: Asset details {Chain, symbol, ticker, isSynth}
All Assets
must conform to the Asset NotationassetFromString()
is used to quickly create assets and will assign chain and synth.
CryptoAmount:
is a class that has:
All crypto should use the CryptoAmount
object with the understanding they are in BaseAmount format. An example to switch between them:
Query
Major data types for the mayarchain-query package.
EstimateSwapParams
The input Type for estimateSwap
. This is designed to be created by interfaces and passed into EstimateSwap. Also see Swap Memo for more information.
Variable | Data Type | Comments |
input | CryptoAmount | inbound asset and amount |
destinationAsset | Asset | outbound asset |
destinationAddress | String | outbound asset address |
slipLimit | BigNumber | Optional: Used to set LIM |
affiliateFeePercent | number | Optional: 0-0.1 allowed |
affiliateAddress | Address | Optional: thor address |
interfaceID | string | Optional: assigned interface ID |
SwapEstimate
The internal return type is used within estimateSwap after the calculation is done.
Variable | Data Type | Comments |
totalFees | TotalFees | All fees for swap |
slipPercentage | BigNumber | Actual slip of the swap |
netOutput | CryptoAmount | input - totalFees |
waitTimeSeconds | number | Estimated time for the swap |
canSwap | boolean | false if there is an issue |
errors | string array | contains info if canSwap is false |
TxDetails
Return type of estimateSwap
. This is designed to be used by interfaces to give them all the information they need to display to the user.
Variable | Data Type | Comments |
txEstimate | SwapEstimate | swap details |
memo | string | constructed memo MAYAChain will understand |
expiry | DateTime | when the SwapEstimate information will no longer be valid. |
toAddress | string | current Asgard Vault address From inbound_address |
Do not use toAddress
after expiry
as the Asgard vault rotates
AMM
Major data types for the thorchain-query package.
Package description
Code examples
Install procedures
ExecuteSwap
Input Type for doSwap where a swap will be actually conducted. Based on EstimateSwapParams.
TxSubmitted
Variable | Text | Text |
hash | string | inbound Tx Hash |
url | string | Block exploer url |
waitTimeSeconds | number | Estimated time for the swap |
Last updated