@firefly-exchange/library-sui
Version:
Sui library housing helper methods, classes to interact with Bluefin protocol(s) deployed on Sui
33 lines (32 loc) • 1.32 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Trader = void 0;
const bignumber_js_1 = __importDefault(require("bignumber.js"));
class Trader {
static async setupNormalTrade(orderSigner, maker, taker, makerOrder, options) {
const takerAddress = await taker.getPublicKey().toSuiAddress();
const takerOrder = options?.takerOrder || {
...makerOrder,
maker: takerAddress,
isBuy: !makerOrder.isBuy,
postOnly: false
};
const makerSigPK = await orderSigner.signOrder(makerOrder, maker);
const takerSigPK = await orderSigner.signOrder(takerOrder, taker);
return {
makerOrder,
makerSignature: makerSigPK.signature,
makerPublicKey: makerSigPK.publicKey,
takerOrder,
takerSignature: takerSigPK.signature,
takerPublicKey: takerSigPK.publicKey,
fillQuantity: options?.quantity ||
bignumber_js_1.default.min(makerOrder.quantity, takerOrder.quantity),
fillPrice: options?.price || makerOrder.price
};
}
}
exports.Trader = Trader;
;