UNPKG

@newcoin-foundation/newcoin-sdk

Version:
192 lines 8.26 kB
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