@dbricks/dbricks-ts
Version:
## Introduction
57 lines (56 loc) • 1.76 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const winston_1 = __importDefault(require("winston"));
const util_1 = require("./util");
const src_1 = require("../src");
require('dotenv').config();
const ownerKp = (0, util_1.loadKeypairSync)(process.env.KEYPAIR_PATH);
async function sign(tx) {
tx.sign(ownerKp);
winston_1.default.debug('Transaction signed!');
return tx;
}
async function play() {
const builder = new src_1.Builder({
ownerPubkey: ownerKp.publicKey,
connectionUrl: 'https://solana-api.projectserum.com',
committment: 'processed',
});
builder.addBrick({
protocol: src_1.Protocol.Serum,
action: src_1.Action.Serum.PlaceOrder,
args: {
marketPubkey: '3d4rzwpy9iGdCZvgxcu7B1YocYffVLsQXPXkBZKt2zLc',
side: 'buy',
price: '0.5',
size: '1',
orderType: 'limit',
},
});
builder.addBrick({
protocol: src_1.Protocol.Serum,
action: src_1.Action.Serum.PlaceOrder,
args: {
marketPubkey: '3d4rzwpy9iGdCZvgxcu7B1YocYffVLsQXPXkBZKt2zLc',
side: 'buy',
price: '0.1',
size: '1',
orderType: 'ioc',
},
});
builder.addBrick({
protocol: src_1.Protocol.Serum,
action: src_1.Action.Serum.SettleMarket,
args: {
marketPubkey: '3d4rzwpy9iGdCZvgxcu7B1YocYffVLsQXPXkBZKt2zLc',
},
});
await builder.build({
signCallback: sign,
});
winston_1.default.info('All done (using callback).');
}
play();