UNPKG

diamante-base

Version:

Low-level support library for the Diamante network.

44 lines (43 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extendFootprintTtl = extendFootprintTtl; var _xdr = _interopRequireDefault(require("../xdr")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } /** * Builds an operation to bump the time-to-live of a footprint (read and written * ledger keys). Its only parameter is the new, absolute ledger sequence number * at which the entry will expire. * * The footprint itself is derived from the transaction (see * {@link TransactionBuilder}'s `opts.sorobanData` parameter, which is a * {@link xdr.SorobanTransactionData} instance that contains fee data & resource * usage as part of {@link xdr.SorobanResources}). * * @function * @alias Operation.extendFootprintTtl * * @param {object} opts - object holding operation parameters * @param {number} opts.extendTo - the absolute ledger sequence number at which * the transaction's ledger keys will now expire * @param {string} [opts.source] - an optional source account * * @returns {xdr.Operation} an Extend Footprint TTL operation * (xdr.ExtendFootprintTTLOp) */ function extendFootprintTtl(opts) { var _opts$extendTo; if (((_opts$extendTo = opts.extendTo) !== null && _opts$extendTo !== void 0 ? _opts$extendTo : -1) <= 0) { throw new RangeError("extendTo isn't a ledger quantity (uint32)"); } var extendFootprintOp = new _xdr["default"].ExtendFootprintTtlOp({ ext: new _xdr["default"].ExtensionPoint(0), extendTo: opts.extendTo }); var opAttributes = { body: _xdr["default"].OperationBody.extendFootprintTtl(extendFootprintOp) }; this.setSourceAccount(opAttributes, opts); return new _xdr["default"].Operation(opAttributes); }