@newcoin-foundation/newcoin-sdk
Version:
SDK for Newcoin blockchain
192 lines • 8.26 kB
JavaScript
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
import { CreateActionName, AuctionType, } from "../types";
import { getNameForTransaction, priceForCurrency } from "../utils";
import { getTransferTokensActions } from "./atomicassets";
export var getCreateAuctionActions = function (params) {
var _a;
var accountName = params.accountName, collection = params.collection, assetIds = params.assetIds, minPrice = params.minPrice, priceToken = params.priceToken, precision = params.precision, startDateMs = params.startDateMs, endDateMs = params.endDateMs, buyNowPrice = params.buyNowPrice, marketplace = params.marketplace, discountInterval = params.discountInterval, discountRate = params.discountRate, neftymarketContract = params.neftymarketContract, atomicassetsContract = params.atomicassetsContract;
var requestPermission = (_a = params.requestPermission) !== null && _a !== void 0 ? _a : "active";
var createAuctionData = {
seller: getNameForTransaction(accountName),
collection_name: getNameForTransaction(collection),
asset_ids: assetIds,
min_price: priceForCurrency(minPrice, priceToken, precision),
start_time: Math.floor(startDateMs / 1000),
end_time: Math.floor(endDateMs / 1000),
buy_now_price: priceForCurrency(buyNowPrice || 0, priceToken, precision),
security_id: 0,
marketplace: marketplace !== null && marketplace !== void 0 ? marketplace : "",
};
if (params.auctionType === AuctionType.dutch) {
createAuctionData["discount_rate"] = (discountRate !== null && discountRate !== void 0 ? discountRate : 0) / 100;
createAuctionData["discount_interval"] = discountInterval !== null && discountInterval !== void 0 ? discountInterval : 0;
}
return [
{
account: neftymarketContract,
name: "openinv",
authorization: [
{
actor: params.accountName,
permission: requestPermission,
},
],
data: {
owner: params.accountName,
count: params.assetIds.length,
},
},
{
account: atomicassetsContract,
name: "transfer",
authorization: [
{
actor: params.accountName,
permission: requestPermission,
},
],
data: {
from: params.accountName,
to: neftymarketContract,
asset_ids: params.assetIds || [],
memo: "deposit",
},
},
{
account: neftymarketContract,
name: params.auctionType === AuctionType.dutch
? CreateActionName.dutch
: CreateActionName.standard,
authorization: [
{
actor: params.accountName,
permission: requestPermission,
},
],
data: createAuctionData,
},
];
};
export var getPlaceBidActions = function (params) {
var accountName = params.accountName, _a = params.requestPermission, requestPermission = _a === void 0 ? "active" : _a, decimals = params.decimals, symbol = params.symbol, amount = params.amount, auctionId = params.auctionId, marketplace = params.marketplace, neftymarketContract = params.neftymarketContract, atomicassetsContract = params.atomicassetsContract;
return __spreadArray(__spreadArray([
{
account: neftymarketContract,
name: "openbal",
authorization: [
{
actor: getNameForTransaction(accountName),
permission: requestPermission,
},
],
data: {
owner: getNameForTransaction(accountName),
token_symbol: "".concat(decimals, ",").concat(symbol),
},
}
], getTransferTokensActions({
amount: amount,
to: neftymarketContract,
contract: atomicassetsContract,
currency: symbol,
decimals: decimals,
accountName: accountName,
requestPermission: requestPermission,
memo: "deposit",
atomicassetsContract: atomicassetsContract,
neftymarketContract: neftymarketContract,
}), true), [
{
account: neftymarketContract,
name: "bid",
authorization: [
{
actor: getNameForTransaction(accountName),
permission: requestPermission,
},
],
data: {
bidder: getNameForTransaction(accountName),
auction_id: auctionId,
bid_amount: priceForCurrency(amount, symbol, decimals),
marketplace: marketplace !== null && marketplace !== void 0 ? marketplace : "",
},
},
], false);
};
export var getClaimNftsActions = function (params) {
var accountName = params.accountName, _a = params.requestPermission, requestPermission = _a === void 0 ? "active" : _a, auctionId = params.auctionId, neftymarketContract = params.neftymarketContract;
return [
{
account: neftymarketContract,
name: "claimassets",
authorization: [
{
actor: getNameForTransaction(accountName),
permission: requestPermission,
},
],
data: {
auction_id: getNameForTransaction(auctionId),
},
},
];
};
export var getClaimWinBidActions = function (params) {
var accountName = params.accountName, _a = params.requestPermission, requestPermission = _a === void 0 ? "active" : _a, auctionId = params.auctionId, neftymarketContract = params.neftymarketContract;
return [
{
account: neftymarketContract,
name: "claimwinbid",
authorization: [
{
actor: getNameForTransaction(accountName),
permission: requestPermission,
},
],
data: {
auction_id: getNameForTransaction(auctionId),
},
},
];
};
export var getEraseAuctionActions = function (params) {
var accountName = params.accountName, _a = params.requestPermission, requestPermission = _a === void 0 ? "active" : _a, auctionId = params.auctionId, neftymarketContract = params.neftymarketContract;
return [
{
account: neftymarketContract,
name: "eraseauct",
authorization: [
{
actor: getNameForTransaction(accountName),
permission: requestPermission,
},
],
data: {
auction_id: getNameForTransaction(auctionId),
},
},
];
};
export var getEditAuctionActions = function (params) {
var accountName = params.accountName, requestPermission = params.requestPermission, auctionId = params.auctionId, neftymarketContract = params.neftymarketContract, atomicassetsContract = params.atomicassetsContract;
if (!auctionId) {
throw new Error("Missing required params");
}
return __spreadArray(__spreadArray([], getEraseAuctionActions({
auctionId: auctionId,
accountName: accountName,
requestPermission: requestPermission,
neftymarketContract: neftymarketContract,
atomicassetsContract: atomicassetsContract,
}), true), getCreateAuctionActions(params), true);
};
//# sourceMappingURL=auctions.js.map