UNPKG

@taquito/taquito

Version:

High level functionality that builds upon the other packages in the Tezos Typescript Library Suite.

295 lines 12 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TezosToolkit = exports.PollingSubscribeProvider = exports.OpKind = exports.TezosPreapplyFailureError = exports.TezosOperationError = exports.RpcForger = exports.CompositeForger = exports.UnitValue = exports.MichelsonMap = void 0; var rpc_1 = require("@taquito/rpc"); var context_1 = require("./context"); var rpc_forger_1 = require("./forger/rpc-forger"); var format_1 = require("./format"); var noop_1 = require("./signer/noop"); var polling_provider_1 = require("./subscribe/polling-provider"); var wallet_1 = require("./wallet"); var michelson_encoder_1 = require("@taquito/michelson-encoder"); Object.defineProperty(exports, "MichelsonMap", { enumerable: true, get: function () { return michelson_encoder_1.MichelsonMap; } }); Object.defineProperty(exports, "UnitValue", { enumerable: true, get: function () { return michelson_encoder_1.UnitValue; } }); __exportStar(require("./constants"), exports); __exportStar(require("./context"), exports); __exportStar(require("./contract"), exports); __exportStar(require("./contract/big-map"), exports); var composite_forger_1 = require("./forger/composite-forger"); Object.defineProperty(exports, "CompositeForger", { enumerable: true, get: function () { return composite_forger_1.CompositeForger; } }); __exportStar(require("./forger/interface"), exports); var rpc_forger_2 = require("./forger/rpc-forger"); Object.defineProperty(exports, "RpcForger", { enumerable: true, get: function () { return rpc_forger_2.RpcForger; } }); var operation_errors_1 = require("./operations/operation-errors"); Object.defineProperty(exports, "TezosOperationError", { enumerable: true, get: function () { return operation_errors_1.TezosOperationError; } }); Object.defineProperty(exports, "TezosPreapplyFailureError", { enumerable: true, get: function () { return operation_errors_1.TezosPreapplyFailureError; } }); var types_1 = require("./operations/types"); Object.defineProperty(exports, "OpKind", { enumerable: true, get: function () { return types_1.OpKind; } }); __exportStar(require("./signer/interface"), exports); __exportStar(require("./subscribe/interface"), exports); var polling_provider_2 = require("./subscribe/polling-provider"); Object.defineProperty(exports, "PollingSubscribeProvider", { enumerable: true, get: function () { return polling_provider_2.PollingSubscribeProvider; } }); __exportStar(require("./tz/interface"), exports); __exportStar(require("./wallet"), exports); __exportStar(require("./parser/interface"), exports); __exportStar(require("./parser/michel-codec-parser"), exports); __exportStar(require("./parser/noop-parser"), exports); /** * @description Facade class that surfaces all of the libraries capability and allow it's configuration * * @param _rpc The RPC server to use */ var TezosToolkit = /** @class */ (function () { function TezosToolkit(_rpc) { this._rpc = _rpc; this._options = {}; this.format = format_1.format; if (typeof this._rpc === 'string') { this._rpcClient = new rpc_1.RpcClient(this._rpc); } else { this._rpcClient = this._rpc; } this._context = new context_1.Context(_rpc); this._wallet = new wallet_1.Wallet(this._context); this.setProvider({ rpc: this._rpcClient }); this.batch = this._context.batch.batch.bind(this._context.batch); } /** * @description Sets configuration on the Tezos Taquito instance. Allows user to choose which signer, rpc client, rpc url, forger and so forth * * @param options rpc url or rpcClient to use to interact with the Tezos network * * @example Tezos.setProvider({rpc: 'https://api.tez.ie/rpc/mainnet', signer: new InMemorySigner.fromSecretKey(“edsk...”)}) * @example Tezos.setProvider({ config: { confirmationPollingTimeoutSecond: 300 }}) * */ TezosToolkit.prototype.setProvider = function (_a) { var rpc = _a.rpc, stream = _a.stream, signer = _a.signer, protocol = _a.protocol, config = _a.config, forger = _a.forger, wallet = _a.wallet; this.setRpcProvider(rpc); this.setStreamProvider(stream); this.setSignerProvider(signer); this.setForgerProvider(forger); this.setWalletProvider(wallet); this._context.proto = protocol; this._context.config = config; }; /** * @description Sets signer provider on the Tezos Taquito instance. * * @param options signer to use to interact with the Tezos network * * @example Tezos.setSignerProvider(new InMemorySigner.fromSecretKey('edsk...')) * */ TezosToolkit.prototype.setSignerProvider = function (signer) { if (!this._options.signer && typeof signer === 'undefined') { this._context.signer = new noop_1.NoopSigner(); this._options.signer = signer; } else if (typeof signer !== 'undefined') { this._context.signer = signer; this._options.signer = signer; } }; /** * @description Sets rpc provider on the Tezos Taquito instance * * @param options rpc url or rpcClient to use to interact with the Tezos network * * @example Tezos.setRpcProvider('https://api.tez.ie/rpc/mainnet') * */ TezosToolkit.prototype.setRpcProvider = function (rpc) { if (typeof rpc === 'string') { this._rpcClient = new rpc_1.RpcClient(rpc); } else if (rpc instanceof rpc_1.RpcClient) { this._rpcClient = rpc; } /* else if (this._options.rpc === undefined) { this._rpcClient = new RpcClient(); } */ this._options.rpc = this._rpcClient; this._context.rpc = this._rpcClient; }; /** * @description Sets forger provider on the Tezos Taquito instance * * @param options forger to use to interact with the Tezos network * * @example Tezos.setForgerProvider(localForger) * */ TezosToolkit.prototype.setForgerProvider = function (forger) { var f = typeof forger === 'undefined' ? this.getFactory(rpc_forger_1.RpcForger)() : forger; this._options.forger = f; this._context.forger = f; }; /** * @description Sets stream provider on the Tezos Taquito instance * * @param options stream to use to interact with the Tezos network * * @example Tezos.setStreamProvider(...) * */ TezosToolkit.prototype.setStreamProvider = function (stream) { if (typeof stream === 'string') { this._stream = new polling_provider_1.PollingSubscribeProvider(new context_1.Context(new rpc_1.RpcClient(stream))); } else if (typeof stream !== 'undefined') { this._stream = stream; } else if (this._options.stream === undefined) { this._stream = this.getFactory(polling_provider_1.PollingSubscribeProvider)(); } this._options.stream = stream; }; /** * @description Sets wallet provider on the Tezos Taquito instance * * @param options wallet to use to interact with the Tezos network * * @example Tezos.setWalletProvider(...) * */ TezosToolkit.prototype.setWalletProvider = function (wallet) { if (!this._options.wallet && typeof wallet === 'undefined') { var w = this.getFactory(wallet_1.LegacyWalletProvider)(); this._options.wallet = w; this._context.walletProvider = w; } else if (typeof wallet !== 'undefined') { this._options.wallet = wallet; this._context.walletProvider = wallet; } }; Object.defineProperty(TezosToolkit.prototype, "tz", { /** * @description Provide access to tezos account management */ get: function () { return this._context.tz; }, enumerable: false, configurable: true }); Object.defineProperty(TezosToolkit.prototype, "contract", { /** * @description Provide access to smart contract utilities */ get: function () { return this._context.contract; }, enumerable: false, configurable: true }); Object.defineProperty(TezosToolkit.prototype, "wallet", { get: function () { return this._wallet; }, enumerable: false, configurable: true }); Object.defineProperty(TezosToolkit.prototype, "operation", { get: function () { return this._context.operationFactory; }, enumerable: false, configurable: true }); Object.defineProperty(TezosToolkit.prototype, "estimate", { /** * @description Provide access to operation estimation utilities */ get: function () { return this._context.estimate; }, enumerable: false, configurable: true }); Object.defineProperty(TezosToolkit.prototype, "stream", { /** * @description Provide access to streaming utilities backed by an streamer implementation */ get: function () { return this._stream; }, enumerable: false, configurable: true }); Object.defineProperty(TezosToolkit.prototype, "rpc", { /** * @description Provide access to the currently used rpc client */ get: function () { return this._context.rpc; }, enumerable: false, configurable: true }); Object.defineProperty(TezosToolkit.prototype, "signer", { /** * @description Provide access to the currently used signer */ get: function () { return this._context.signer; }, enumerable: false, configurable: true }); /** * @description Allow to add a module to the TezosToolkit instance. This method adds the appropriate Providers(s) required by the module to the internal context. * * @param module extension to add to the TezosToolkit instance * * @example Tezos.addExtension(new Tzip16Module()); */ TezosToolkit.prototype.addExtension = function (module) { module.configureContext(this._context); }; TezosToolkit.prototype.getFactory = function (ctor) { var _this = this; return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return new (ctor.bind.apply(ctor, __spread([void 0, _this._context], args)))(); }; }; return TezosToolkit; }()); exports.TezosToolkit = TezosToolkit; //# sourceMappingURL=taquito.js.map