deepu-test-algorand-dex-client
v0.0.29
Published
Dex implementation on algorand blockchain- client side library
Downloads
30
Readme
Dex-client
This client side library will help you implement a decentralized exchange in Algorand blockchain.
Install
npm i deepu-test-algorand-dex-client
Usage
const DexClient = require('deepu-test-algorand-dex-client')
// Set up configuration
const options = {
algodServer: "https://testnet-algorand.api.purestake.io/ps2",
algodToken: {
'X-API-Key': "Cg6qehffpc37kn9VLLf0eqjRK0R0WGt7giDFIfo5"
},
algodPort: "",
indexerServer: "https://testnet-algorand.api.purestake.io/idx2",
indexerToken: {
'X-API-key': 'Cg6qehffpc37kn9VLLf0eqjRK0R0WGt7giDFIfo5',
},
indexerPort: "",
appId: "",
serverUrl: "",
}
const dexClient = new DexClient(options);
let mn1 = "menu rapid mystery pole tuition strong health success always blood apart bunker aspect library install lava order vault april explain twin hill change absent crane";
let openAccount = algosdk.mnemonicToSecretKey(mn1);
let mn2 = "clip can elephant flower win remove situate suggest wasp february sibling shift token oxygen expire settle seminar multiply toy put avoid excuse pencil ability ahead"
let executeAccount = algosdk.mnemonicToSecretKey(mn2);
Methods
optInApp (account)
//function to opt into the application
account = openAccount
dexClient.optInApp(account)
optOutApp (account)
//function to opt out of the application
account : openAccount
dexClient.optOutApp(account)
openOrder (account, min, max, token_to_buy, token_to_pay, N, D)
//function to open a new order
account = openAccount // order placing account
min = 1 //integer value - minimum amount of token_to_buy
max = 5 //integer value - maximum amount of token_to_buy
token_to_buy = 14495917 //Asset ID of ASA to be spent
token_to_pay = 14495938 //Asset ID of ASA to be received
N = 1
D = 2 //N:D - the exchange ratio tokrn_to_buy:token_to_pay
dexClient.openOrder(account, min, max, token_to_buy, token_to_pay, N, D)
getOrders ()
//returns a list of current open orders
dexClient.getOrders()
executeOrder (fileName, account, amount, assetAmount)
//function to execute an open order
fileName = "MP56E56XMH3BM47KYDPNZ5T522TBUOT3CKRGMA2NACSL25XSPYWSSMIYEY-1-2-1-5-14495917-14495938"
//Name of the file in server that stores lsig of this order
account = executeAccount //account that executes the order
amount = 1 // Number of token_to_buy asset requested by order executer
assetAmount = 2 //Number of token_to_pay asset sent by order executer
dexClient.executeOrder(fileName, account, amount, assetAmount)
closeOrder (account, fileName)
//function to cancel an open order
account = openAccount //account that opened the order
fileName = "MP56E56XMH3BM47KYDPNZ5T522TBUOT3CKRGMA2NACSL25XSPYWSSMIYEY-1-2-1-5-14495917-14495938"
//Name of the file in server that stores lsig of this order
dexClient.executeOrder(account, fileName)