How to swap by market price?
Tokens will be swapped by the current pool price
Both token balances should be opened
import {
SwapActionGenerator,
SwapTransactionGenerator,
} from "@a-dex/a-dex-sdk";
import { ExtendedAsset, Name, Asset } from "eos-common";
const actionsGen = new SwapActionGenerator("swap.adex");
const trxGen = new SwapTransactionGenerator(
[
{
actor: "trader.adex",
permission: "active",
},
],
actionsGen
);
const trx = await trxGen.swapByMarketPrice(
new Name("tester"),
new ExtendedAsset(new Asset("1.0000 EOS"), new Name("eosio.token")),
new ExtendedAsset(new Asset("4.0000 USDT"), new Name("tethertether")),
"1"
);
cleos -u https://eos.greymass.com push transaction '{
"delay_sec": 0,
"max_cpu_usage_ms": 0,
"actions": [
{
"account": "eosio.token",
"name": "transfer",
"data": {
"from": "trader.adex",
"to": "swap.adex",
"quantity": "1.0000 EOS",
"memo": "swap:1"
},
"authorization": [
{
"actor": "trader.adex",
"permission": "active"
}
]
}
]
}'
const result = await api.transact({
actions: [{
account: 'eosio.token',
name: 'transfer',
authorization: [{
actor: 'trader.adex',
permission: 'active',
}],
data: {
from: 'trader.adex',
to: 'swap.adex',
quantity: '1.0000 EOS',
memo: 'swap:1'
},
}]
}, {
blocksBehind: 3,
expireSeconds: 30,
});
Last updated