diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..cc6e2129 --- /dev/null +++ b/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@babel/preset-env", "@babel/preset-typescript"], + "plugins": ["@babel/plugin-proposal-class-properties", "@babel/plugin-transform-runtime"] +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6ef4322e..9c95e51d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules .vscode -docs \ No newline at end of file +docs +.idea/ \ No newline at end of file diff --git a/dist/package.json b/dist/package.json index 652c25cf..63946fc6 100644 --- a/dist/package.json +++ b/dist/package.json @@ -58,7 +58,7 @@ "@babel/runtime": "^7.0.0", "@types/mathjs": "^6.0.4", "@types/ws": "^7.2.2", - "axios": "^0.19.0", + "axios": "^0.21.1", "bech32": "^1.1.3", "bip32": "^2.0.4", "bip39": "^3.0.2", diff --git a/dist/src/client.d.ts b/dist/src/client.d.ts index a5093a2e..5a6abbfa 100644 --- a/dist/src/client.d.ts +++ b/dist/src/client.d.ts @@ -26,6 +26,7 @@ export declare class Client { /** Tx module */ tx: modules.Tx; /** Gov module */ + gov: modules.Gov; /** Slashing module */ slashing: modules.Slashing; /** Distribution module */ diff --git a/dist/src/client.js b/dist/src/client.js index b7534bfc..180369e3 100644 --- a/dist/src/client.js +++ b/dist/src/client.js @@ -53,7 +53,6 @@ var Client = /*#__PURE__*/function () { /** Tx module */ /** Gov module */ - // gov: modules.Gov; /** Slashing module */ @@ -89,6 +88,7 @@ var Client = /*#__PURE__*/function () { (0, _defineProperty2["default"])(this, "protobuf", void 0); (0, _defineProperty2["default"])(this, "staking", void 0); (0, _defineProperty2["default"])(this, "tx", void 0); + (0, _defineProperty2["default"])(this, "gov", void 0); (0, _defineProperty2["default"])(this, "slashing", void 0); (0, _defineProperty2["default"])(this, "distribution", void 0); (0, _defineProperty2["default"])(this, "utils", void 0); @@ -121,8 +121,8 @@ var Client = /*#__PURE__*/function () { this.keys = new modules.Keys(this); this.tx = new modules.Tx(this); this.protobuf = new modules.Protobuf(this); - this.staking = new modules.Staking(this); // this.gov = new modules.Gov(this); - + this.staking = new modules.Staking(this); + this.gov = new modules.Gov(this); this.slashing = new modules.Slashing(this); this.distribution = new modules.Distribution(this); // this.service = new modules.Service(this); // this.oracle = new modules.Oracle(this); @@ -303,9 +303,15 @@ var DefaultKeyDAOImpl = /*#__PURE__*/function () { }, { key: "decrypt", value: function decrypt(encrptedPrivKey, password) { - var decrypted = AES.decrypt(encrptedPrivKey, password).toString(ENC); + var decrypted; + + try { + decrypted = AES.decrypt(encrptedPrivKey, password).toString(ENC); - if (!decrypted) { + if (!decrypted) { + throw new _errors.SdkError('Wrong password', _errors.CODES.InvalidPassword); + } + } catch (e) { throw new _errors.SdkError('Wrong password', _errors.CODES.InvalidPassword); } diff --git a/dist/src/errors.d.ts b/dist/src/errors.d.ts index e266e042..09034f7f 100644 --- a/dist/src/errors.d.ts +++ b/dist/src/errors.d.ts @@ -46,9 +46,10 @@ export declare const CODES: { export declare class SdkError extends Error { /** Error code */ code: number; + codespace: string; /** * Initialize SdkError with irishub error msg * @param msg irishub error msg */ - constructor(msg: string, code?: number); + constructor(msg: string, code?: number, space?: string); } diff --git a/dist/src/errors.js b/dist/src/errors.js index c249d365..61d7c506 100644 --- a/dist/src/errors.js +++ b/dist/src/errors.js @@ -94,11 +94,14 @@ var SdkError = /*#__PURE__*/function (_Error) { var _this; var code = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : CODES.InvalidRequest; + var space = arguments.length > 2 ? arguments[2] : undefined; (0, _classCallCheck2["default"])(this, SdkError); _this = _super.call(this, msg); // const mappedCode = errorMap.get(this.codespace + code); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "code", CODES.InvalidRequest); + (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "codespace", 'sdk-js'); _this.code = code; + _this.codespace = space !== null && space !== void 0 ? space : _this.codespace; return _this; } diff --git a/dist/src/helper/txModelCreator.d.ts b/dist/src/helper/txModelCreator.d.ts index a85840ba..4cef94c2 100644 --- a/dist/src/helper/txModelCreator.d.ts +++ b/dist/src/helper/txModelCreator.d.ts @@ -1,8 +1,8 @@ import * as types from '../types'; export declare class TxModelCreator { static createBodyModel(msgs: types.Msg[], memo: string, timeoutHeight: number): any; - static createAuthInfoModel(fee: types.StdFee, sequence?: string, publicKey?: string | types.Pubkey): any; - static createSignerInfoModel(sequence: string, publicKey: string | types.Pubkey): any; + static createAuthInfoModel(fee: types.StdFee, sequence?: number, publicKey?: string | types.Pubkey): any; + static createSignerInfoModel(sequence: number, publicKey: string | types.Pubkey): any; static createPublicKeyModel(publicKey: string | types.Pubkey): { type: string; value: any; diff --git a/dist/src/helper/txModelCreator.js b/dist/src/helper/txModelCreator.js index c50d1837..97ff3ca1 100644 --- a/dist/src/helper/txModelCreator.js +++ b/dist/src/helper/txModelCreator.js @@ -58,7 +58,7 @@ var TxModelCreator = /*#__PURE__*/function () { mode_info.setSingle(single); var signerInfo = new types.tx_tx_pb.SignerInfo(); signerInfo.setModeInfo(mode_info); - signerInfo.setSequence(String(sequence)); + signerInfo.setSequence(sequence); if (publicKey) { var pk = TxModelCreator.createPublicKeyModel(publicKey); diff --git a/dist/src/modules/auth.js b/dist/src/modules/auth.js index 6d1cf483..83a448a5 100644 --- a/dist/src/modules/auth.js +++ b/dist/src/modules/auth.js @@ -79,7 +79,7 @@ var Auth = /*#__PURE__*/function () { msgs: msgs, memo: baseTx.memo || '', stdFee: stdFee, - chain_id: this.client.config.chainId, + chain_id: baseTx.chainId || this.client.config.chainId, account_number: baseTx.account_number || undefined, sequence: baseTx.sequence || undefined }); diff --git a/dist/src/modules/gov.d.ts b/dist/src/modules/gov.d.ts index a2b9d0d8..880be4e0 100644 --- a/dist/src/modules/gov.d.ts +++ b/dist/src/modules/gov.d.ts @@ -1,6 +1,5 @@ import { Client } from '../client'; import * as types from '../types'; -import { CommunityTaxUsageType } from '../types/gov'; /** * This module provides governance functionalities * @@ -15,123 +14,79 @@ export declare class Gov { /** @hidden */ constructor(client: Client); /** - * Query details of a single proposal - * @param proposalID Identity of a proposal + * submit Proposal + * @param proposal_id + * @param option + * @param baseTx { types.BaseTx } * @returns * @since v0.17 */ - queryProposal(proposalID: number): Promise; + submitProposal(content: { + type: types.ProposalType; + value: types.TextProposal | types.CommunityPoolSpendProposal | types.ParameterChangeProposal | types.CancelSoftwareUpgradeProposal | types.SoftwareUpgradeProposal; + }, initial_deposit: types.Coin[], baseTx: types.BaseTx): Promise; /** - * Query proposals by conditions - * @param params + * vote + * @param proposal_id + * @param option + * @param baseTx { types.BaseTx } * @returns * @since v0.17 */ - queryProposals(params?: types.QueryProposalsParams): Promise; + vote(proposal_id: number, option: types.VoteOption, baseTx: types.BaseTx): Promise; /** - * Query a vote - * @param proposalID Identity of a proposal - * @param voter Bech32 voter address + * deposit + * @param proposal_id + * @param amount + * @param baseTx { types.BaseTx } * @returns * @since v0.17 */ - queryVote(proposalID: number, voter: string): Promise; + deposit(proposal_id: number, amount: types.Coin[], baseTx: types.BaseTx): Promise; /** - * Query all votes of a proposal - * @param proposalID Identity of a proposal - * @returns - * @since v0.17 + * Proposal queries proposal details based on ProposalID. + * @param proposal_id defines the unique id of the proposal. */ - queryVotes(proposalID: number): Promise; + queryProposal(proposal_id: number): Promise; /** - * Query a deposit of a proposal - * @param proposalID Identity of a proposal - * @param depositor Bech32 depositor address - * @returns - * @since v0.17 + * Proposals queries all proposals based on given status. + * @param proposal_id defines the unique id of the proposal. */ - queryDeposit(proposalID: number, depositor: string): Promise; + queryProposals(option: { + proposal_status?: types.ProposalStatus; + voter?: string; + depositor?: string; + }, page_number?: number, page_size?: number): Promise; /** - * Query all deposits of a proposal - * @param proposalID Identity of a proposal - * @returns - * @since v0.17 - */ - queryDeposits(proposalID: number): Promise; - /** - * Query the statistics of a proposal - * @param proposalID Identity of a proposal - * @returns - * @since v0.17 + * Vote queries voted information based on proposalID, voterAddr. + * @param proposal_id defines the unique id of the proposal. + * @param voter defines the oter address for the proposals. */ - queryTally(proposalID: number): Promise; + queryVote(proposal_id: number, voter: string): Promise; /** - * Submit a ParameterChangeProposal along with an initial deposit - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * [Read about which parameters can be changed online](https://www.irisnet.org/docs/concepts/gov-params.html) - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param params On-chain Parameter to be changed, eg. `[{"subspace":"mint","key":"Inflation","value":"0.05"}]` - * @param baseTx - * @returns - * @since v0.17 + * Votes queries votes of a given proposal. + * @param proposal_id defines the unique id of the proposal. */ - submitParameterChangeProposal(title: string, description: string, initialDeposit: types.Coin[], params: types.ChangeParameter[], baseTx: types.BaseTx): Promise; + queryVotes(proposal_id: number, page_number?: number, page_size?: number): Promise; /** - * Submit a PlainTextProposal along with an initial deposit - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param baseTx - * @returns - * @since v0.17 + * Params queries all parameters of the gov module. + * @param params_type defines which parameters to query for, can be one of "voting", "tallying" or "deposit". */ - submitPlainTextProposal(title: string, description: string, initialDeposit: types.Coin[], baseTx: types.BaseTx): Promise; + queryParams(params_type: string): Promise; /** - * Submit a CommunityTaxUsageProposal along with an initial deposit - * - * There are three usages, Burn, Distribute and Grant. Burn means burning tokens from community funds. - * Distribute and Grant will transfer tokens to the destination trustee's account from community funds. - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param usage Type of the CommunityTaxUsage - * @param dest_address Bech32 destination address to receive the distributed or granted funds - * @param percent Percentage of the current community pool to be used - * @param baseTx - * @since v0.17 + * Deposit queries single deposit information based proposalID, depositAddr. + * @param proposal_id defines the unique id of the proposal. + * @param depositor defines the deposit addresses from the proposals. */ - submitCommunityTaxUsageProposal(title: string, description: string, initialDeposit: types.Coin[], usage: CommunityTaxUsageType, destAddress: string, percent: number, baseTx: types.BaseTx): Promise; + queryDeposit(proposal_id: number, depositor: string): Promise; /** - * Deposit tokens for an active proposal. - * - * When the total deposit amount exceeds the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level), the proposal will enter the voting procedure. - * - * @param proposalID Identity of a proposal - * @param amount Amount to be deposited - * @param baseTx - * @returns - * @since v0.17 + * Deposits queries all deposits of a single proposal. + * @param proposal_id defines the unique id of the proposal. */ - deposit(proposalID: number, amount: types.Coin[], baseTx: types.BaseTx): Promise; + queryDeposits(proposal_id: number, page_number?: number, page_size?: number): Promise; /** - * Vote for an active proposal, options: Yes/No/NoWithVeto/Abstain. - * Only validators and delegators can vote for proposals in the voting period. - * - * @param proposalID Identity of a proposal - * @param option Vote option - * @param baseTx - * @since v0.17 + * TallyResult queries the tally of a proposal vote. + * @param proposal_id defines the unique id of the proposal. */ - vote(proposalID: number, option: types.VoteOption, baseTx: types.BaseTx): Promise; + queryTallyResult(proposal_id: number): Promise; } diff --git a/dist/src/modules/gov.js b/dist/src/modules/gov.js index 74a5ff77..501f3741 100644 --- a/dist/src/modules/gov.js +++ b/dist/src/modules/gov.js @@ -1,5 +1,7 @@ "use strict"; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { @@ -17,7 +19,11 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); -var _gov = require("../types/gov"); +var types = _interopRequireWildcard(require("../types")); + +var _helper = require("../helper"); + +var _errors = require("../errors"); /** * This module provides governance functionalities @@ -37,158 +43,36 @@ var Gov = /*#__PURE__*/function () { this.client = client; } /** - * Query details of a single proposal - * @param proposalID Identity of a proposal + * submit Proposal + * @param proposal_id + * @param option + * @param baseTx { types.BaseTx } * @returns * @since v0.17 */ (0, _createClass2["default"])(Gov, [{ - key: "queryProposal", - value: function queryProposal(proposalID) { - return this.client.rpcClient.abciQuery('custom/gov/proposal', { - ProposalID: String(proposalID) - }); - } - /** - * Query proposals by conditions - * @param params - * @returns - * @since v0.17 - */ - - }, { - key: "queryProposals", - value: function queryProposals(params) { - var queryParams = {}; - - if (params) { - queryParams = { - Voter: params.voter, - Depositor: params.depositor, - ProposalStatus: params.proposalStatus, - Limit: String(params.limit) - }; - } - - return this.client.rpcClient.abciQuery('custom/gov/proposals', queryParams); - } - /** - * Query a vote - * @param proposalID Identity of a proposal - * @param voter Bech32 voter address - * @returns - * @since v0.17 - */ - - }, { - key: "queryVote", - value: function queryVote(proposalID, voter) { - return this.client.rpcClient.abciQuery('custom/gov/vote', { - ProposalID: String(proposalID), - Voter: voter - }); - } - /** - * Query all votes of a proposal - * @param proposalID Identity of a proposal - * @returns - * @since v0.17 - */ - - }, { - key: "queryVotes", - value: function queryVotes(proposalID) { - return this.client.rpcClient.abciQuery('custom/gov/votes', { - ProposalID: String(proposalID) - }); - } - /** - * Query a deposit of a proposal - * @param proposalID Identity of a proposal - * @param depositor Bech32 depositor address - * @returns - * @since v0.17 - */ - - }, { - key: "queryDeposit", - value: function queryDeposit(proposalID, depositor) { - return this.client.rpcClient.abciQuery('custom/gov/deposit', { - ProposalID: String(proposalID), - Depositor: depositor - }); - } - /** - * Query all deposits of a proposal - * @param proposalID Identity of a proposal - * @returns - * @since v0.17 - */ - - }, { - key: "queryDeposits", - value: function queryDeposits(proposalID) { - return this.client.rpcClient.abciQuery('custom/gov/deposits', { - ProposalID: String(proposalID) - }); - } - /** - * Query the statistics of a proposal - * @param proposalID Identity of a proposal - * @returns - * @since v0.17 - */ - - }, { - key: "queryTally", - value: function queryTally(proposalID) { - return this.client.rpcClient.abciQuery('custom/gov/tally', { - ProposalID: String(proposalID) - }); - } - /** - * Submit a ParameterChangeProposal along with an initial deposit - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * [Read about which parameters can be changed online](https://www.irisnet.org/docs/concepts/gov-params.html) - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param params On-chain Parameter to be changed, eg. `[{"subspace":"mint","key":"Inflation","value":"0.05"}]` - * @param baseTx - * @returns - * @since v0.17 - */ - - }, { - key: "submitParameterChangeProposal", + key: "submitProposal", value: function () { - var _submitParameterChangeProposal = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(title, description, initialDeposit, params, baseTx) { - var proposer, coins, msgs; + var _submitProposal = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(content, initial_deposit, baseTx) { + var from, msgs; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: - proposer = this.client.keys.show(baseTx.from); - _context.next = 3; - return this.client.utils.toMinCoins(initialDeposit); - - case 3: - coins = _context.sent; - msgs = [new _gov.MsgSubmitParameterChangeProposal({ - title: title, - description: description, - proposer: proposer, - initial_deposit: coins, - params: params - })]; + from = this.client.keys.show(baseTx.from); + msgs = [{ + type: types.TxType.MsgSubmitProposal, + value: { + content: content, + initial_deposit: initial_deposit, + proposer: from + } + }]; return _context.abrupt("return", this.client.tx.buildAndSend(msgs, baseTx)); - case 6: + case 3: case "end": return _context.stop(); } @@ -196,49 +80,42 @@ var Gov = /*#__PURE__*/function () { }, _callee, this); })); - function submitParameterChangeProposal(_x, _x2, _x3, _x4, _x5) { - return _submitParameterChangeProposal.apply(this, arguments); + function submitProposal(_x, _x2, _x3) { + return _submitProposal.apply(this, arguments); } - return submitParameterChangeProposal; + return submitProposal; }() /** - * Submit a PlainTextProposal along with an initial deposit - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param baseTx + * vote + * @param proposal_id + * @param option + * @param baseTx { types.BaseTx } * @returns * @since v0.17 */ }, { - key: "submitPlainTextProposal", + key: "vote", value: function () { - var _submitPlainTextProposal = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(title, description, initialDeposit, baseTx) { - var proposer, coins, msgs; + var _vote = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(proposal_id, option, baseTx) { + var from, msgs; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: - proposer = this.client.keys.show(baseTx.from); - _context2.next = 3; - return this.client.utils.toMinCoins(initialDeposit); - - case 3: - coins = _context2.sent; - msgs = [new _gov.MsgSubmitPlainTextProposal({ - title: title, - description: description, - proposer: proposer, - initial_deposit: coins - })]; + from = this.client.keys.show(baseTx.from); + msgs = [{ + type: types.TxType.MsgVote, + value: { + proposal_id: proposal_id, + voter: from, + option: option + } + }]; return _context2.abrupt("return", this.client.tx.buildAndSend(msgs, baseTx)); - case 6: + case 3: case "end": return _context2.stop(); } @@ -246,57 +123,42 @@ var Gov = /*#__PURE__*/function () { }, _callee2, this); })); - function submitPlainTextProposal(_x6, _x7, _x8, _x9) { - return _submitPlainTextProposal.apply(this, arguments); + function vote(_x4, _x5, _x6) { + return _vote.apply(this, arguments); } - return submitPlainTextProposal; + return vote; }() /** - * Submit a CommunityTaxUsageProposal along with an initial deposit - * - * There are three usages, Burn, Distribute and Grant. Burn means burning tokens from community funds. - * Distribute and Grant will transfer tokens to the destination trustee's account from community funds. - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param usage Type of the CommunityTaxUsage - * @param dest_address Bech32 destination address to receive the distributed or granted funds - * @param percent Percentage of the current community pool to be used - * @param baseTx + * deposit + * @param proposal_id + * @param amount + * @param baseTx { types.BaseTx } + * @returns * @since v0.17 */ }, { - key: "submitCommunityTaxUsageProposal", + key: "deposit", value: function () { - var _submitCommunityTaxUsageProposal = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(title, description, initialDeposit, usage, destAddress, percent, baseTx) { - var proposer, coins, msgs; + var _deposit = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(proposal_id, amount, baseTx) { + var from, msgs; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: - proposer = this.client.keys.show(baseTx.from); - _context3.next = 3; - return this.client.utils.toMinCoins(initialDeposit); - - case 3: - coins = _context3.sent; - msgs = [new _gov.MsgSubmitCommunityTaxUsageProposal({ - title: title, - description: description, - proposer: proposer, - initial_deposit: coins, - usage: _gov.CommunityTaxUsageType[usage], - dest_address: destAddress, - percent: String(percent) - })]; + from = this.client.keys.show(baseTx.from); + msgs = [{ + type: types.TxType.MsgDeposit, + value: { + proposal_id: proposal_id, + depositor: from, + amount: amount + } + }]; return _context3.abrupt("return", this.client.tx.buildAndSend(msgs, baseTx)); - case 6: + case 3: case "end": return _context3.stop(); } @@ -304,97 +166,200 @@ var Gov = /*#__PURE__*/function () { }, _callee3, this); })); - function submitCommunityTaxUsageProposal(_x10, _x11, _x12, _x13, _x14, _x15, _x16) { - return _submitCommunityTaxUsageProposal.apply(this, arguments); + function deposit(_x7, _x8, _x9) { + return _deposit.apply(this, arguments); } - return submitCommunityTaxUsageProposal; + return deposit; }() /** - * Deposit tokens for an active proposal. - * - * When the total deposit amount exceeds the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level), the proposal will enter the voting procedure. - * - * @param proposalID Identity of a proposal - * @param amount Amount to be deposited - * @param baseTx - * @returns - * @since v0.17 + * Proposal queries proposal details based on ProposalID. + * @param proposal_id defines the unique id of the proposal. */ }, { - key: "deposit", - value: function () { - var _deposit = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(proposalID, amount, baseTx) { - var depositor, coins, msgs; - return _regenerator["default"].wrap(function _callee4$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - depositor = this.client.keys.show(baseTx.from); - _context4.next = 3; - return this.client.utils.toMinCoins(amount); + key: "queryProposal", + value: function queryProposal(proposal_id) { + var _this = this; - case 3: - coins = _context4.sent; - msgs = [new _gov.MsgDeposit(String(proposalID), depositor, coins)]; - return _context4.abrupt("return", this.client.tx.buildAndSend(msgs, baseTx)); + if (!proposal_id) { + throw new _errors.SdkError("proposal_id can ont be empty"); + } - case 6: - case "end": - return _context4.stop(); + var request = new types.gov_query_pb.QueryProposalRequest(); + request.setProposalId(proposal_id); + return this.client.rpcClient.protoQuery('/cosmos.gov.v1beta1.Query/Proposal', request, types.gov_query_pb.QueryProposalResponse).then(function (res) { + if (res && res.proposal && res.proposal.content && res.proposal.content.typeUrl && res.proposal.content.value) { + res.proposal.content = _this.client.protobuf.unpackProposalContent(res.proposal.content); + } + + return res; + }); + } + /** + * Proposals queries all proposals based on given status. + * @param proposal_id defines the unique id of the proposal. + */ + + }, { + key: "queryProposals", + value: function queryProposals(option) { + var _this2 = this; + + var page_number = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var page_size = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; + + var pagination = _helper.ModelCreator.createPaginationModel(page_number, page_size, true); + + var request = new types.gov_query_pb.QueryProposalsRequest(); + + if (typeof option.proposal_status != 'undefined') { + request.setProposalStatus(option.proposal_status); + } + + if (option.voter) { + request.setVoter(option.voter); + } + + if (option.depositor) { + request.setDepositor(option.depositor); + } + + request.setPagination(pagination); + return this.client.rpcClient.protoQuery('/cosmos.gov.v1beta1.Query/Proposals', request, types.gov_query_pb.QueryProposalsResponse).then(function (res) { + if (res && res.proposalsList) { + res.proposalsList = res.proposalsList.map(function (item) { + if (item.content && item.content.typeUrl && item.content.value) { + item.content = _this2.client.protobuf.unpackProposalContent(item.content); } - } - }, _callee4, this); - })); - function deposit(_x17, _x18, _x19) { - return _deposit.apply(this, arguments); + return item; + }); + } + + return res; + }); + } + /** + * Vote queries voted information based on proposalID, voterAddr. + * @param proposal_id defines the unique id of the proposal. + * @param voter defines the oter address for the proposals. + */ + + }, { + key: "queryVote", + value: function queryVote(proposal_id, voter) { + if (!proposal_id) { + throw new _errors.SdkError("proposal_id can ont be empty"); } - return deposit; - }() + if (!voter) { + throw new _errors.SdkError("voter can ont be empty"); + } + + var request = new types.gov_query_pb.QueryVoteRequest(); + request.setProposalId(proposal_id); + request.setVoter(voter); + return this.client.rpcClient.protoQuery('/cosmos.gov.v1beta1.Query/Vote', request, types.gov_query_pb.QueryVoteResponse); + } /** - * Vote for an active proposal, options: Yes/No/NoWithVeto/Abstain. - * Only validators and delegators can vote for proposals in the voting period. - * - * @param proposalID Identity of a proposal - * @param option Vote option - * @param baseTx - * @since v0.17 + * Votes queries votes of a given proposal. + * @param proposal_id defines the unique id of the proposal. */ }, { - key: "vote", - value: function () { - var _vote = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(proposalID, option, baseTx) { - var voter, msgs; - return _regenerator["default"].wrap(function _callee5$(_context5) { - while (1) { - switch (_context5.prev = _context5.next) { - case 0: - voter = this.client.keys.show(baseTx.from); - msgs = [new _gov.MsgVote(String(proposalID), voter, option)]; - return _context5.abrupt("return", this.client.tx.buildAndSend(msgs, baseTx)); + key: "queryVotes", + value: function queryVotes(proposal_id) { + var page_number = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var page_size = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; - case 3: - case "end": - return _context5.stop(); - } - } - }, _callee5, this); - })); + if (!proposal_id) { + throw new _errors.SdkError("proposal_id can ont be empty"); + } - function vote(_x20, _x21, _x22) { - return _vote.apply(this, arguments); + var pagination = _helper.ModelCreator.createPaginationModel(page_number, page_size, true); + + var request = new types.gov_query_pb.QueryVotesRequest(); + request.setProposalId(proposal_id); + request.setPagination(pagination); + return this.client.rpcClient.protoQuery('/cosmos.gov.v1beta1.Query/Votes', request, types.gov_query_pb.QueryVotesResponse); + } + /** + * Params queries all parameters of the gov module. + * @param params_type defines which parameters to query for, can be one of "voting", "tallying" or "deposit". + */ + + }, { + key: "queryParams", + value: function queryParams(params_type) { + if (!params_type) { + throw new _errors.SdkError("params_type can be one of 'voting', 'tallying' or 'deposit'"); } - return vote; - }() // =================== NOT SUPPORTED ==================== // - // submitSoftwareUpgradeProposal; // - // submitSystemHaltProposal; // - // =================== NOT SUPPORTED ==================== // + var request = new types.gov_query_pb.QueryParamsRequest(); + request.setParamsType(params_type); + return this.client.rpcClient.protoQuery('/cosmos.gov.v1beta1.Query/Params', request, types.gov_query_pb.QueryParamsResponse); + } + /** + * Deposit queries single deposit information based proposalID, depositAddr. + * @param proposal_id defines the unique id of the proposal. + * @param depositor defines the deposit addresses from the proposals. + */ + }, { + key: "queryDeposit", + value: function queryDeposit(proposal_id, depositor) { + if (!proposal_id) { + throw new _errors.SdkError("proposal_id can ont be empty"); + } + + if (!depositor) { + throw new _errors.SdkError("depositor can ont be empty"); + } + + var request = new types.gov_query_pb.QueryDepositRequest(); + request.setProposalId(proposal_id); + request.setDepositor(depositor); + return this.client.rpcClient.protoQuery('/cosmos.gov.v1beta1.Query/Deposit', request, types.gov_query_pb.QueryDepositResponse); + } + /** + * Deposits queries all deposits of a single proposal. + * @param proposal_id defines the unique id of the proposal. + */ + + }, { + key: "queryDeposits", + value: function queryDeposits(proposal_id) { + var page_number = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var page_size = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; + + if (!proposal_id) { + throw new _errors.SdkError("proposal_id can ont be empty"); + } + + var pagination = _helper.ModelCreator.createPaginationModel(page_number, page_size, true); + + var request = new types.gov_query_pb.QueryDepositsRequest(); + request.setProposalId(proposal_id); + request.setPagination(pagination); + return this.client.rpcClient.protoQuery('/cosmos.gov.v1beta1.Query/Deposits', request, types.gov_query_pb.QueryDepositsResponse); + } + /** + * TallyResult queries the tally of a proposal vote. + * @param proposal_id defines the unique id of the proposal. + */ + + }, { + key: "queryTallyResult", + value: function queryTallyResult(proposal_id) { + if (!proposal_id) { + throw new _errors.SdkError("proposal_id can ont be empty"); + } + + var request = new types.gov_query_pb.QueryTallyResultRequest(); + request.setProposalId(proposal_id); + return this.client.rpcClient.protoQuery('/cosmos.gov.v1beta1.Query/TallyResult', request, types.gov_query_pb.QueryTallyResultResponse); + } }]); return Gov; }(); diff --git a/dist/src/modules/protobuf.d.ts b/dist/src/modules/protobuf.d.ts index ed8bf2d8..2d645abe 100644 --- a/dist/src/modules/protobuf.d.ts +++ b/dist/src/modules/protobuf.d.ts @@ -17,30 +17,41 @@ export declare class Protobuf { * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model * @return {[type]} Tx object */ - deserializeTx(tx: string, returnProtobufModel?: boolean): types.ValidatorSigningInfo | object; + deserializeTx(tx: string, returnProtobufModel?: boolean): object; /** * Unpack protobuffer tx msg * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model + * @param {[type]} msg tx msg of proto any type * @return {[type]} message object */ unpackMsg(msg: { typeUrl: string; value: string; - }, returnProtobufModel?: boolean): types.ValidatorSigningInfo | object | null; + }, returnProtobufModel?: boolean): object | null; + /** + * Unpack protobuffer Proposal Content + * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model + * @param {[type]} content proposal Content of proto any type + * @return {[type]} message object + */ + unpackProposalContent(content: { + typeUrl: string; + value: string; + }, returnProtobufModel?: boolean): object | null; /** * deserialize SignDoc * @param {[type]} signDoc:string base64 string * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model * @return {[type]} signDoc object */ - deserializeSignDoc(signDoc: string, returnProtobufModel?: boolean): types.ValidatorSigningInfo | object; + deserializeSignDoc(signDoc: string, returnProtobufModel?: boolean): object; /** * deserialize txRaw * @param {[type]} txRaw:string base64 string * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model * @return {[type]} txRaw object */ - deserializeTxRaw(txRaw: string, returnProtobufModel?: boolean): types.ValidatorSigningInfo | object; + deserializeTxRaw(txRaw: string, returnProtobufModel?: boolean): object; /** * deserialize Signing Info * @param {[type]} signingInfo:string base64 string @@ -57,5 +68,5 @@ export declare class Protobuf { deserializePubkey(pubKey: { typeUrl: string; value: string; - }, returnProtobufModel?: boolean): types.ValidatorSigningInfo | object; + }, returnProtobufModel?: boolean): object; } diff --git a/dist/src/modules/protobuf.js b/dist/src/modules/protobuf.js index bbc4e007..5085a39a 100644 --- a/dist/src/modules/protobuf.js +++ b/dist/src/modules/protobuf.js @@ -23,15 +23,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } -var slashing_pb = require('../types/proto-types/cosmos/slashing/v1beta1/slashing_pb'); /** * ProtobufModel module allows you to deserialize protobuf serialize string * * @category Modules * @since v0.17 */ - - var Protobuf = /*#__PURE__*/function () { /** @hidden */ @@ -75,6 +72,7 @@ var Protobuf = /*#__PURE__*/function () { /** * Unpack protobuffer tx msg * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model + * @param {[type]} msg tx msg of proto any type * @return {[type]} message object */ @@ -217,6 +215,25 @@ var Protobuf = /*#__PURE__*/function () { messageModelClass = types.MsgBurnNFT.getModelClass(); break; } + //gov + + case types.TxType.MsgSubmitProposal: + { + messageModelClass = types.MsgSubmitProposal.getModelClass(); + break; + } + + case types.TxType.MsgVote: + { + messageModelClass = types.MsgVote.getModelClass(); + break; + } + + case types.TxType.MsgDeposit: + { + messageModelClass = types.MsgDeposit.getModelClass(); + break; + } default: { @@ -232,11 +249,77 @@ var Protobuf = /*#__PURE__*/function () { messageObj.type = typeUrl; } + if (typeUrl == types.TxType.MsgSubmitProposal && messageObj.content && messageObj.content.typeUrl && messageObj.content.value) { + messageObj.content = this.unpackProposalContent(messageObj.content); + } + return messageObj; } else { return null; } } + /** + * Unpack protobuffer Proposal Content + * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model + * @param {[type]} content proposal Content of proto any type + * @return {[type]} message object + */ + + }, { + key: "unpackProposalContent", + value: function unpackProposalContent(content, returnProtobufModel) { + if (!content) { + return null; + } + + var contentModelClass; + var typeUrl = content.typeUrl.replace(/^\//, ''); + + switch (typeUrl) { + case types.ProposalType.Text_Proposal: + { + contentModelClass = types.gov_gov_pb.TextProposal; + break; + } + + case types.ProposalType.Community_Pool_Spend_Proposal: + { + contentModelClass = types.distribution_distribution_pb.CommunityPoolSpendProposal; + break; + } + + case types.ProposalType.Parameter_Change_Proposal: + { + contentModelClass = types.params_params_pb.ParameterChangeProposal; + break; + } + + case types.ProposalType.Software_Upgrade_Proposal: + { + contentModelClass = types.upgrade_upgrade_pb.SoftwareUpgradeProposal; + break; + } + + case types.ProposalType.Cancel_Software_Upgrade_Proposal: + { + contentModelClass = types.upgrade_upgrade_pb.CancelSoftwareUpgradeProposal; + break; + } + } + + if (contentModelClass && contentModelClass.deserializeBinary) { + var contentObj = contentModelClass.deserializeBinary(content.value); + + if (!returnProtobufModel && contentObj && contentObj.toObject) { + contentObj = contentObj.toObject(); + contentObj.type = typeUrl; + } + + return contentObj; + } else { + return null; + } + } /** * deserialize SignDoc * @param {[type]} signDoc:string base64 string @@ -292,9 +375,9 @@ var Protobuf = /*#__PURE__*/function () { } if (returnProtobufModel) { - return slashing_pb.ValidatorSigningInfo.deserializeBinary(signingInfo); + return types.slashing_slashing_pb.ValidatorSigningInfo.deserializeBinary(signingInfo); } else { - return slashing_pb.ValidatorSigningInfo.deserializeBinary(signingInfo).toObject(); + return types.slashing_slashing_pb.ValidatorSigningInfo.deserializeBinary(signingInfo).toObject(); } } /** diff --git a/dist/src/modules/tx.d.ts b/dist/src/modules/tx.d.ts index c48a5492..d878c5b9 100644 --- a/dist/src/modules/tx.d.ts +++ b/dist/src/modules/tx.d.ts @@ -55,7 +55,7 @@ export declare class Tx { * @returns The signed tx * @since v0.17 */ - sign(stdTx: types.ProtoTx, baseTx: types.BaseTx): Promise; + sign(stdTx: types.ProtoTx, baseTx: types.BaseTx, offline?: boolean): Promise; /** * Single sign a transaction with signDoc * diff --git a/dist/src/modules/tx.js b/dist/src/modules/tx.js index 8c41af32..99657da6 100644 --- a/dist/src/modules/tx.js +++ b/dist/src/modules/tx.js @@ -27,6 +27,10 @@ var _errors = require("../errors"); var _utils = require("../utils"); +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + /** * Tx module allows you to sign or broadcast transactions * @@ -147,12 +151,12 @@ var Tx = /*#__PURE__*/function () { case types.BroadcastMode.Sync: return this.broadcastTxSync(txBytes).then(function (response) { - return _this2.newTxResult(response.hash); + return _this2.newTxResult(response); }); default: return this.broadcastTxAsync(txBytes).then(function (response) { - return _this2.newTxResult(response.hash); + return _this2.newTxResult(response); }); } } @@ -169,91 +173,98 @@ var Tx = /*#__PURE__*/function () { key: "sign", value: function () { var _sign = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(stdTx, baseTx) { - var _baseTx$account_numbe; + var _accountNumber; + + var offline, + keyObj, + privKey, + accountNumber, + sequence, + _account$accountNumbe, + _account$sequence, + account, + _sequence, + pubKey, + signature, + _args2 = arguments; - var keyObj, accountNumber, sequence, account, privKey, pubKey, signature; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: + offline = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : false; + if (!is.empty(baseTx.from)) { - _context2.next = 2; + _context2.next = 3; break; } throw new _errors.SdkError("baseTx.from of the key can not be empty"); - case 2: + case 3: if (!is.empty(baseTx.password)) { - _context2.next = 4; + _context2.next = 5; break; } throw new _errors.SdkError("baseTx.password of the key can not be empty"); - case 4: + case 5: if (this.client.config.keyDAO.decrypt) { - _context2.next = 6; + _context2.next = 7; break; } throw new _errors.SdkError("Decrypt method of KeyDAO not implemented", _errors.CODES.Panic); - case 6: + case 7: keyObj = this.client.config.keyDAO.read(baseTx.from); if (keyObj) { - _context2.next = 9; + _context2.next = 10; break; } throw new _errors.SdkError("Key with name '".concat(baseTx.from, "' not found"), _errors.CODES.KeyNotFound); - case 9: - accountNumber = (_baseTx$account_numbe = baseTx.account_number) !== null && _baseTx$account_numbe !== void 0 ? _baseTx$account_numbe : '0'; - sequence = baseTx.sequence || '0'; + case 10: + privKey = this.client.config.keyDAO.decrypt(keyObj.privateKey, baseTx.password); - if (!(!baseTx.account_number || !baseTx.sequence)) { - _context2.next = 17; + if (privKey) { + _context2.next = 13; break; } - _context2.next = 14; - return this.client.auth.queryAccount(keyObj.address); - - case 14: - account = _context2.sent; - - if (account.accountNumber) { - accountNumber = String(account.accountNumber) || '0'; - } - - if (account.sequence) { - sequence = String(account.sequence) || '0'; - } + throw new _errors.SdkError("decrypto the private key error", _errors.CODES.InvalidPassword); - case 17: - // Query account info from block chain - privKey = this.client.config.keyDAO.decrypt(keyObj.privateKey, baseTx.password); + case 13: + accountNumber = baseTx.account_number; + sequence = baseTx.sequence; // Query account info from block chain - if (privKey) { - _context2.next = 20; + if (!((!baseTx.account_number || !baseTx.sequence) && !offline)) { + _context2.next = 21; break; } - throw new _errors.SdkError("decrypto the private key error", _errors.CODES.InvalidPassword); + _context2.next = 18; + return this.client.auth.queryAccount(keyObj.address); + + case 18: + account = _context2.sent; + accountNumber = (_account$accountNumbe = account.accountNumber) !== null && _account$accountNumbe !== void 0 ? _account$accountNumbe : 0; + sequence = (_account$sequence = account.sequence) !== null && _account$sequence !== void 0 ? _account$sequence : 0; - case 20: + case 21: if (!stdTx.hasPubKey()) { pubKey = _utils.Crypto.getPublicKeyFromPrivateKey(privKey, baseTx.pubkeyType); - stdTx.setPubKey(pubKey, sequence || undefined); + stdTx.setPubKey(pubKey, (_sequence = sequence) !== null && _sequence !== void 0 ? _sequence : undefined); } - signature = _utils.Crypto.generateSignature(stdTx.getSignDoc(accountNumber || undefined, this.client.config.chainId).serializeBinary(), privKey, baseTx.pubkeyType); + signature = _utils.Crypto.generateSignature(stdTx.getSignDoc((_accountNumber = accountNumber) !== null && _accountNumber !== void 0 ? _accountNumber : undefined, baseTx.chainId || this.client.config.chainId).serializeBinary(), privKey, baseTx.pubkeyType); stdTx.addSignature(signature); return _context2.abrupt("return", stdTx); - case 24: + case 25: case "end": return _context2.stop(); } @@ -338,35 +349,28 @@ var Tx = /*#__PURE__*/function () { }, { key: "broadcastTxCommit", value: function broadcastTxCommit(txBytes) { + var _this3 = this; + return this.client.rpcClient.request(types.RpcMethods.BroadcastTxCommit, { tx: _utils.Utils.bytesToBase64(txBytes) }).then(function (response) { - var _response$deliver_tx, _response$deliver_tx2, _response$deliver_tx3, _response$deliver_tx4; - // Check tx error if (response.check_tx && response.check_tx.code > 0) { console.error(response.check_tx); - throw new _errors.SdkError(response.check_tx.log, response.check_tx.code); + throw new _errors.SdkError(response.check_tx.log, response.check_tx.code, response.check_tx.codespace); } // Deliver tx error if (response.deliver_tx && response.deliver_tx.code > 0) { console.error(response.deliver_tx); - throw new _errors.SdkError(response.deliver_tx.log, response.deliver_tx.code); + throw new _errors.SdkError(response.deliver_tx.log, response.deliver_tx.code, response.deliver_tx.codespace); } if (response.deliver_tx && response.deliver_tx.tags) { response.deliver_tx.tags = _utils.Utils.decodeTags(response.deliver_tx.tags); } - return { - hash: response.hash, - height: response.height, - gas_wanted: (_response$deliver_tx = response.deliver_tx) === null || _response$deliver_tx === void 0 ? void 0 : _response$deliver_tx.gas_wanted, - gas_used: (_response$deliver_tx2 = response.deliver_tx) === null || _response$deliver_tx2 === void 0 ? void 0 : _response$deliver_tx2.gas_used, - info: (_response$deliver_tx3 = response.deliver_tx) === null || _response$deliver_tx3 === void 0 ? void 0 : _response$deliver_tx3.info, - tags: (_response$deliver_tx4 = response.deliver_tx) === null || _response$deliver_tx4 === void 0 ? void 0 : _response$deliver_tx4.tags - }; + return _this3.newTxResult(response); }); } /** @@ -378,7 +382,9 @@ var Tx = /*#__PURE__*/function () { }, { key: "broadcastTx", - value: function broadcastTx(txBytes, method) { + value: function broadcastTx(txBytes) { + var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : types.RpcMethods.BroadcastTxAsync; + // Only accepts 'broadcast_tx_sync' and 'broadcast_tx_async' if (is.not.inArray(method, [types.RpcMethods.BroadcastTxSync, types.RpcMethods.BroadcastTxAsync])) { throw new _errors.SdkError("Unsupported broadcast method: ".concat(method), _errors.CODES.Internal); @@ -388,7 +394,7 @@ var Tx = /*#__PURE__*/function () { tx: _utils.Utils.bytesToBase64(txBytes) }).then(function (response) { if (response.code && response.code > 0) { - throw new _errors.SdkError(response.log, response.code); + throw new _errors.SdkError(response.log, response.code, response.codespace); } return response; @@ -406,15 +412,30 @@ var Tx = /*#__PURE__*/function () { }, { key: "newTxResult", - value: function newTxResult(hash, height, deliverTx) { - return { - hash: hash, - height: height, - gas_wanted: deliverTx === null || deliverTx === void 0 ? void 0 : deliverTx.gas_wanted, - gas_used: deliverTx === null || deliverTx === void 0 ? void 0 : deliverTx.gas_used, - info: deliverTx === null || deliverTx === void 0 ? void 0 : deliverTx.info, - tags: deliverTx === null || deliverTx === void 0 ? void 0 : deliverTx.tags + value: function newTxResult(response) { + var result = { + hash: response.hash }; + + if (response.height) { + result = _objectSpread(_objectSpread({}, result), {}, { + height: response.height + }); + } + + if (response.deliver_tx) { + var _response$deliver_tx, _response$deliver_tx2, _response$deliver_tx3, _response$deliver_tx4, _response$deliver_tx5; + + result = _objectSpread(_objectSpread({}, result), {}, { + log: ((_response$deliver_tx = response.deliver_tx) === null || _response$deliver_tx === void 0 ? void 0 : _response$deliver_tx.log) || '', + info: ((_response$deliver_tx2 = response.deliver_tx) === null || _response$deliver_tx2 === void 0 ? void 0 : _response$deliver_tx2.info) || '', + gas_wanted: ((_response$deliver_tx3 = response.deliver_tx) === null || _response$deliver_tx3 === void 0 ? void 0 : _response$deliver_tx3.gas_wanted) || 0, + gas_used: ((_response$deliver_tx4 = response.deliver_tx) === null || _response$deliver_tx4 === void 0 ? void 0 : _response$deliver_tx4.gas_used) || 0, + events: ((_response$deliver_tx5 = response.deliver_tx) === null || _response$deliver_tx5 === void 0 ? void 0 : _response$deliver_tx5.events) || [] + }); + } + + return result; } /** * create message @@ -556,6 +577,25 @@ var Tx = /*#__PURE__*/function () { msg = new types.MsgBurnNFT(txMsg.value); break; } + //gov + + case types.TxType.MsgSubmitProposal: + { + msg = new types.MsgSubmitProposal(txMsg.value); + break; + } + + case types.TxType.MsgVote: + { + msg = new types.MsgVote(txMsg.value); + break; + } + + case types.TxType.MsgDeposit: + { + msg = new types.MsgDeposit(txMsg.value); + break; + } default: { diff --git a/dist/src/nets/rpc-client.js b/dist/src/nets/rpc-client.js index b75cb446..86807c0a 100644 --- a/dist/src/nets/rpc-client.js +++ b/dist/src/nets/rpc-client.js @@ -88,7 +88,7 @@ var RpcClient = /*#__PURE__*/function () { if (res.error) { console.error(res.error); - throw new _errors.SdkError(res.error.message, res.error.code); + throw new _errors.SdkError(res.error.message, res.error.code, "rpc_".concat(method)); } return res.result; @@ -129,13 +129,13 @@ var RpcClient = /*#__PURE__*/function () { return response.response.value; } } else if (response.response.code) { - throw new _errors.SdkError(response.response.log, response.response.code); + throw new _errors.SdkError(response.response.log, response.response.code, response.response.codespace); } else { return null; } } - throw new _errors.SdkError("Internal Error from ".concat(path, ":").concat(response.response.log)); + throw new _errors.SdkError("Internal Error from ".concat(path, ":").concat(response.response.log), response.response.code, response.response.codespace); }); } /** @@ -178,13 +178,13 @@ var RpcClient = /*#__PURE__*/function () { // return res; } else if (response.response.code) { - throw new _errors.SdkError(response.response.log, response.response.code); + throw new _errors.SdkError(response.response.log, response.response.code, response.response.codespace); } else { return null; } } - throw new _errors.SdkError("Internal Error from ".concat(path, ":").concat(response.response.log)); + throw new _errors.SdkError("Internal Error from ".concat(path, ":").concat(response.response.log), response.response.code, response.response.codespace); }); } /** diff --git a/dist/src/types/auth.d.ts b/dist/src/types/auth.d.ts index a2f023f9..86e44a7d 100644 --- a/dist/src/types/auth.d.ts +++ b/dist/src/types/auth.d.ts @@ -26,9 +26,11 @@ export interface BaseTx { fee?: Coin | undefined; memo?: string | undefined; /** Account_number required for offline signatures */ - account_number?: string | undefined; + account_number?: number | undefined; /** Sequence required for offline signatures */ - sequence?: string | undefined; + sequence?: number | undefined; + /** chainId required for offline signatures */ + chainId?: string; pubkeyType?: PubkeyType; /** default secp256k1 */ mode?: BroadcastMode | undefined; } diff --git a/dist/src/types/distribution.d.ts b/dist/src/types/distribution.d.ts index 43465fc9..a0088453 100644 --- a/dist/src/types/distribution.d.ts +++ b/dist/src/types/distribution.d.ts @@ -30,17 +30,6 @@ export declare class MsgSetWithdrawAddress extends Msg { */ validate(): boolean; } -/** - * Msg struct for delegation withdraw for all of the delegator's delegations - * @hidden - */ -export declare class MsgWithdrawDelegatorRewardsAll extends Msg { - value: { - delegator_addr: string; - }; - constructor(delegatorAddr: string); - getSignBytes(): object; -} /** * Msg struct for delegation withdraw from a single validator * @hidden diff --git a/dist/src/types/distribution.js b/dist/src/types/distribution.js index 31e65024..fc3f64f4 100644 --- a/dist/src/types/distribution.js +++ b/dist/src/types/distribution.js @@ -7,7 +7,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau Object.defineProperty(exports, "__esModule", { value: true }); -exports.MsgFundCommunityPool = exports.MsgWithdrawValidatorCommission = exports.MsgWithdrawDelegatorReward = exports.MsgWithdrawDelegatorRewardsAll = exports.MsgSetWithdrawAddress = void 0; +exports.MsgFundCommunityPool = exports.MsgWithdrawValidatorCommission = exports.MsgWithdrawDelegatorReward = exports.MsgSetWithdrawAddress = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); @@ -90,61 +90,28 @@ var MsgSetWithdrawAddress = /*#__PURE__*/function (_Msg) { return MsgSetWithdrawAddress; }(_types.Msg); /** - * Msg struct for delegation withdraw for all of the delegator's delegations + * Msg struct for delegation withdraw from a single validator * @hidden */ exports.MsgSetWithdrawAddress = MsgSetWithdrawAddress; -var MsgWithdrawDelegatorRewardsAll = /*#__PURE__*/function (_Msg2) { - (0, _inherits2["default"])(MsgWithdrawDelegatorRewardsAll, _Msg2); +var MsgWithdrawDelegatorReward = /*#__PURE__*/function (_Msg2) { + (0, _inherits2["default"])(MsgWithdrawDelegatorReward, _Msg2); - var _super2 = _createSuper(MsgWithdrawDelegatorRewardsAll); + var _super2 = _createSuper(MsgWithdrawDelegatorReward); - function MsgWithdrawDelegatorRewardsAll(delegatorAddr) { + function MsgWithdrawDelegatorReward(msg) { var _this2; - (0, _classCallCheck2["default"])(this, MsgWithdrawDelegatorRewardsAll); - _this2 = _super2.call(this, 'irishub/distr/MsgWithdrawDelegationRewardsAll'); + (0, _classCallCheck2["default"])(this, MsgWithdrawDelegatorReward); + _this2 = _super2.call(this, _types.TxType.MsgWithdrawDelegatorReward); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "value", void 0); - _this2.value = { - delegator_addr: delegatorAddr - }; + _this2.value = msg; return _this2; } - (0, _createClass2["default"])(MsgWithdrawDelegatorRewardsAll, [{ - key: "getSignBytes", - value: function getSignBytes() { - return this; - } - }]); - return MsgWithdrawDelegatorRewardsAll; -}(_types.Msg); -/** - * Msg struct for delegation withdraw from a single validator - * @hidden - */ - - -exports.MsgWithdrawDelegatorRewardsAll = MsgWithdrawDelegatorRewardsAll; - -var MsgWithdrawDelegatorReward = /*#__PURE__*/function (_Msg3) { - (0, _inherits2["default"])(MsgWithdrawDelegatorReward, _Msg3); - - var _super3 = _createSuper(MsgWithdrawDelegatorReward); - - function MsgWithdrawDelegatorReward(msg) { - var _this3; - - (0, _classCallCheck2["default"])(this, MsgWithdrawDelegatorReward); - _this3 = _super3.call(this, _types.TxType.MsgWithdrawDelegatorReward); - (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "value", void 0); - _this3.value = msg; - return _this3; - } - (0, _createClass2["default"])(MsgWithdrawDelegatorReward, [{ key: "getModel", value: function getModel() { @@ -152,14 +119,14 @@ var MsgWithdrawDelegatorReward = /*#__PURE__*/function (_Msg3) { } }, { key: "validate", - + value: /** * validate necessary params * * @return whether is is validated * @throws `SdkError` if validate failed. */ - value: function validate() { + function validate() { if (is.empty(this.value.delegator_address)) { throw new _errors.SdkError("delegator address can not be empty"); } @@ -186,19 +153,19 @@ var MsgWithdrawDelegatorReward = /*#__PURE__*/function (_Msg3) { exports.MsgWithdrawDelegatorReward = MsgWithdrawDelegatorReward; -var MsgWithdrawValidatorCommission = /*#__PURE__*/function (_Msg4) { - (0, _inherits2["default"])(MsgWithdrawValidatorCommission, _Msg4); +var MsgWithdrawValidatorCommission = /*#__PURE__*/function (_Msg3) { + (0, _inherits2["default"])(MsgWithdrawValidatorCommission, _Msg3); - var _super4 = _createSuper(MsgWithdrawValidatorCommission); + var _super3 = _createSuper(MsgWithdrawValidatorCommission); function MsgWithdrawValidatorCommission(msg) { - var _this4; + var _this3; (0, _classCallCheck2["default"])(this, MsgWithdrawValidatorCommission); - _this4 = _super4.call(this, _types.TxType.MsgWithdrawValidatorCommission); - (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this4), "value", void 0); - _this4.value = msg; - return _this4; + _this3 = _super3.call(this, _types.TxType.MsgWithdrawValidatorCommission); + (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "value", void 0); + _this3.value = msg; + return _this3; } (0, _createClass2["default"])(MsgWithdrawValidatorCommission, [{ @@ -238,19 +205,19 @@ var MsgWithdrawValidatorCommission = /*#__PURE__*/function (_Msg4) { exports.MsgWithdrawValidatorCommission = MsgWithdrawValidatorCommission; -var MsgFundCommunityPool = /*#__PURE__*/function (_Msg5) { - (0, _inherits2["default"])(MsgFundCommunityPool, _Msg5); +var MsgFundCommunityPool = /*#__PURE__*/function (_Msg4) { + (0, _inherits2["default"])(MsgFundCommunityPool, _Msg4); - var _super5 = _createSuper(MsgFundCommunityPool); + var _super4 = _createSuper(MsgFundCommunityPool); function MsgFundCommunityPool(msg) { - var _this5; + var _this4; (0, _classCallCheck2["default"])(this, MsgFundCommunityPool); - _this5 = _super5.call(this, _types.TxType.MsgFundCommunityPool); - (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this5), "value", void 0); - _this5.value = msg; - return _this5; + _this4 = _super4.call(this, _types.TxType.MsgFundCommunityPool); + (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this4), "value", void 0); + _this4.value = msg; + return _this4; } (0, _createClass2["default"])(MsgFundCommunityPool, [{ @@ -290,25 +257,7 @@ var MsgFundCommunityPool = /*#__PURE__*/function (_Msg5) { } }]); return MsgFundCommunityPool; -}(_types.Msg); // /** -// * Msg struct for validator withdraw -// * @hidden -// */ -// export class MsgWithdrawValidatorRewardsAll extends Msg { -// value: { -// validator_addr: string; -// }; -// constructor(validatorAddr: string) { -// super('irishub/distr/MsgWithdrawValidatorRewardsAll') -// this.value = { -// validator_addr: validatorAddr, -// }; -// } -// getSignBytes(): object { -// return this; -// } -// } - +}(_types.Msg); /** Common rewards struct */ diff --git a/dist/src/types/gov.d.ts b/dist/src/types/gov.d.ts index 0cfb032a..94dafcf5 100644 --- a/dist/src/types/gov.d.ts +++ b/dist/src/types/gov.d.ts @@ -1,216 +1,247 @@ import { Coin, Msg } from './types'; /** - * Proposal Types + * param struct for Submit Proposal tx + */ +export interface SubmitProposalTxParam { + content: { + type: string; + value: any; + }; + initial_deposit: Coin[]; + proposer: string; +} +/** + * Msg for Submit Proposal + * * @hidden */ -export declare enum ProposalType { - Parameter = 1, - SoftwareUpgrade = 2, - SystemHalt = 3, - CommunityTaxUsage = 4, - PlainText = 5, - TokenAddition = 6 +export declare class MsgSubmitProposal extends Msg { + value: SubmitProposalTxParam; + constructor(msg: SubmitProposalTxParam); + static getModelClass(): any; + getModel(): any; + validate(): void; } /** - * Types for community tax usage + * param struct for Vote tx */ -export declare enum CommunityTaxUsageType { - Burn = 1, - Distribute = 2, - Grant = 3 +export interface VoteTxParam { + proposal_id: number; + voter: string; + option: VoteOption; } /** - * Vote options + * Msg for Vote + * + * @hidden */ -export declare enum VoteOption { - Empty = 0, - Yes = 1, - Abstain = 2, - No = 3, - NoWithVeto = 4 +export declare class MsgVote extends Msg { + value: VoteTxParam; + constructor(msg: VoteTxParam); + static getModelClass(): any; + getModel(): any; + validate(): void; } /** - * Basic proposal result properties + * param struct for Deposit tx */ -export interface BasicProposalResult { - proposal_id: string; +export interface DepositTxParam { + proposal_id: number; + depositor: string; + amount: Coin[]; +} +/** + * Msg for Deposit + * + * @hidden + */ +export declare class MsgDeposit extends Msg { + value: DepositTxParam; + constructor(msg: DepositTxParam); + static getModelClass(): any; + getModel(): any; + validate(): void; +} +/** + * ProposalStatus enumerates the valid statuses of a proposal. + */ +export declare enum ProposalType { + Text_Proposal = "cosmos.gov.v1beta1.TextProposal", + Community_Pool_Spend_Proposal = "cosmos.distribution.v1beta1.CommunityPoolSpendProposal", + Parameter_Change_Proposal = "cosmos.params.v1beta1.ParameterChangeProposal", + Software_Upgrade_Proposal = "cosmos.upgrade.v1beta1.SoftwareUpgradeProposal", + Cancel_Software_Upgrade_Proposal = "cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal" +} +/** + * param struct for Text Proposal + */ +export interface TextProposal { title: string; description: string; - proposal_type: string; - proposal_status: string; - tally_result: TallyResult; - submit_time: string; - deposit_end_time: string; - total_deposit: Coin[]; - voting_start_time: string; - voting_end_time: string; - proposer: string; } -/** Voting statistics of a proposal */ -export interface TallyResult { - yes: string; - abstain: string; - no: string; - no_with_veto: string; - system_voting_power: string; -} -/** Integrated proposal result properties */ -export interface ProposalResult { - /** Basic properties */ - BasicProposal: BasicProposalResult; - /** Software upgrade properties */ - ProtocolDefinition: { - version: string; - software: string; - height: string; - threshold: string; - }; - /** Parameter change properties */ - Params: { - key: string; - value: string; - }; - /** Community tax usage properties */ - TaxUsage: { - usage: string; - dest_address: string; - percent: string; - }; - /** Token addition properties */ - f_token: { - base_token: { - id: string; - family: string; - source: string; - gateway: string; - symbol: string; - name: string; - decimal: number; - canonical_symbol: string; - min_unit_alias: string; - initial_supply: string; - max_supply: string; - mintable: boolean; - owner: string; - }; - }; +/** + * param struct for Community Pool Spend Proposal + */ +export interface CommunityPoolSpendProposal extends TextProposal { + recipient: string; + amount: Coin[]; } -/** Params for querying proposals */ -export interface QueryProposalsParams { - /** Bech32 voter address */ - voter?: string; - /** Bech32 depositor address */ - depositor?: string; - /** Proposal status: passed / rejected */ - proposalStatus?: string; - /** Limit to the latest [number] of proposals. Default to all proposals */ - limit?: number; -} -/** Voting result */ -export interface VoteResult { - /** Bech32 voter address */ - voter: string; - /** Proposal ID */ - proposal_id: string; - /** Vote option */ - option: string; -} -/** Parameter to change */ -export interface ChangeParameter { - /** Subspace of the parameter, e.g. `mint` is the subspace of `mint/Inflation` */ +/** + * param struct for Param Change + */ +export interface ParamChange { subspace: string; - /** Key of the parameter, e.g. `Inflation` is the key of `mint/Inflation` */ key: string; - /** New value of the parameter */ value: string; } /** - * Base params for submitting a proposal - * @hidden + * param struct for Parameter Change Proposal */ -export interface BaseProposal { - proposal_type?: string; - title: string; - description: string; - proposer: string; - initial_deposit: Coin[]; - params?: ChangeParameter[] | null; +export interface ParameterChangeProposal extends TextProposal { + changes: ParamChange[]; } /** - * Params for submitting a ParameterChangeProposal - * @hidden + * param struct for Cancel Software Upgrade Proposal */ -export interface ParameterChangeProposal extends BaseProposal { +export interface CancelSoftwareUpgradeProposal extends TextProposal { } /** - * Msg struct for submitting a ParameterChangeProposal - * @hidden + * param struct for Plan specifies information about a planned upgrade and when it should occur. */ -export declare class MsgSubmitParameterChangeProposal extends Msg { - value: ParameterChangeProposal; - constructor(params: ParameterChangeProposal); - getSignBytes(): object; - marshal(): Msg; +export interface SoftwareUpgradePlan { + name: string; + time?: timestamp; + height?: number; + info?: string; } /** - * Params for submitting a PlainTextProposal - * @hidden + * param struct for Software Upgrade Proposal */ -export interface PlainTextProposal extends BaseProposal { +export interface SoftwareUpgradeProposal extends TextProposal { + plan: SoftwareUpgradePlan; } /** - * Msg struct for submitting a PlainTextProposal - * @hidden + * Vote options */ -export declare class MsgSubmitPlainTextProposal extends Msg { - value: PlainTextProposal; - constructor(params: PlainTextProposal); - getSignBytes(): object; - marshal(): Msg; +export declare enum VoteOption { + VOTE_OPTION_UNSPECIFIED = 0, + VOTE_OPTION_YES = 1, + VOTE_OPTION_ABSTAIN = 2, + VOTE_OPTION_NO = 3, + VOTE_OPTION_NO_WITH_VETO = 4 } /** - * Params for submitting a CommunityTaxUsageProposal - * @hidden + * ProposalStatus enumerates the valid statuses of a proposal. */ -export interface CommunityTaxUsageProposal extends BaseProposal { - usage: string; - dest_address: string; - percent: string; +export declare enum ProposalStatus { + PROPOSAL_STATUS_UNSPECIFIED = 0, + PROPOSAL_STATUS_DEPOSIT_PERIOD = 1, + PROPOSAL_STATUS_VOTING_PERIOD = 2, + PROPOSAL_STATUS_PASSED = 3, + PROPOSAL_STATUS_REJECTED = 4, + PROPOSAL_STATUS_FAILED = 5 +} +export interface timestamp { + seconds: number; + nanos: number; +} +/************************** ClientState **************************/ +export declare enum HashOp { + NO_HASH = 0, + SHA256 = 1, + SHA512 = 2, + KECCAK = 3, + RIPEMD160 = 4, + BITCOIN = 5 } /** - * Msg struct for submitting a CommunityTaxUsageProposal - * @hidden - */ -export declare class MsgSubmitCommunityTaxUsageProposal extends Msg { - value: CommunityTaxUsageProposal; - constructor(params: CommunityTaxUsageProposal); - getSignBytes(): object; - marshal(): Msg; +LengthOp defines how to process the key and value of the LeafOp +to include length information. After encoding the length with the given +algorithm, the length will be prepended to the key and value bytes. +(Each one with it's own encoded length) +*/ +export declare enum LengthOp { + NO_PREFIX = 0, + VAR_PROTO = 1, + VAR_RLP = 2, + FIXED32_BIG = 3, + FIXED32_LITTLE = 4, + FIXED64_BIG = 5, + FIXED64_LITTLE = 6, + REQUIRE_32_BYTES = 7, + REQUIRE_64_BYTES = 8 +} +export interface InnerSpec { + child_order: number[]; + child_size: number; + min_prefix_length: number; + max_prefix_length: number; + empty_child: Uint8Array; + hash: HashOp; } /** - * Msg struct for depositing to an active proposal in `depositing` period - * @hidden - */ -export declare class MsgDeposit extends Msg { - value: { - proposal_id: string; - depositor: string; - amount: Coin[]; - }; - constructor(proposalID: string, depositor: string, amount: Coin[]); - getSignBytes(): object; +LeafOp represents the raw key-value data we wish to prove, and +must be flexible to represent the internal transformation from +the original key-value pairs into the basis hash, for many existing +merkle trees. + +key and value are passed in. So that the signature of this operation is: + leafOp(key, value) -> output + +To process this, first prehash the keys and values if needed (ANY means no hash in this case): + hkey = prehashKey(key) + hvalue = prehashValue(value) + +Then combine the bytes, and hash it + output = hash(prefix || length(hkey) || hkey || length(hvalue) || hvalue) +*/ +export interface LeafOp { + hash: HashOp; + prehash_key: HashOp; + prehash_value: HashOp; + length: LengthOp; + prefix: Uint8Array; } /** - * Msg struct for voting to an active proposal in `voting` period - * @hidden +ProofSpec defines what the expected parameters are for a given proof type. +This can be stored in the client and used to validate any incoming proofs. + + verify(ProofSpec, Proof) -> Proof | Error + +As demonstrated in tests, if we don't fix the algorithm used to calculate the +LeafHash for a given tree, there are many possible key-value pairs that can +generate a given hash (by interpretting the preimage differently). +We need this for proper security, requires client knows a priori what +tree format server uses. But not in code, rather a configuration object. +*/ +export interface ProofSpec { + leaf_spec: LeafOp; + inner_spec: InnerSpec; + max_depth: number; + min_depth: number; +} +/** + * ClientState from Tendermint tracks the current validator set, latest height, and a possible frozen height. */ -export declare class MsgVote extends Msg { - value: { - proposal_id: string; - voter: string; - option: string; +export interface SoftwareUpgradeProposal { + chain_id: string; + trust_level: { + numerator: number; + denominator: number; + }; + trusting_period: timestamp; + unbonding_period: timestamp; + max_clock_drift: timestamp; + frozen_height: { + revision_number: number; + revision_height: number; + }; + latest_height: { + revision_number: number; + revision_height: number; }; - constructor(proposalID: string, voter: string, option: VoteOption); - getSignBytes(): object; - marshal(): Msg; + proof_specs: ProofSpec[]; + upgrade_path: string[]; + allow_update_after_expiry: boolean; + allow_update_after_misbehaviour: boolean; } diff --git a/dist/src/types/gov.js b/dist/src/types/gov.js index f139e5c1..a1860a96 100644 --- a/dist/src/types/gov.js +++ b/dist/src/types/gov.js @@ -1,11 +1,13 @@ "use strict"; +var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); + var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); -exports.MsgVote = exports.MsgDeposit = exports.MsgSubmitCommunityTaxUsageProposal = exports.MsgSubmitPlainTextProposal = exports.MsgSubmitParameterChangeProposal = exports.VoteOption = exports.CommunityTaxUsageType = exports.ProposalType = void 0; +exports.LengthOp = exports.HashOp = exports.ProposalStatus = exports.VoteOption = exports.ProposalType = exports.MsgDeposit = exports.MsgVote = exports.MsgSubmitProposal = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); @@ -23,288 +25,350 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de var _types = require("./types"); -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - -/** - * Proposal Types - * @hidden - */ -var ProposalType; -/** - * Types for community tax usage - */ - -exports.ProposalType = ProposalType; +var _helper = require("../helper"); -(function (ProposalType) { - ProposalType[ProposalType["Parameter"] = 1] = "Parameter"; - ProposalType[ProposalType["SoftwareUpgrade"] = 2] = "SoftwareUpgrade"; - ProposalType[ProposalType["SystemHalt"] = 3] = "SystemHalt"; - ProposalType[ProposalType["CommunityTaxUsage"] = 4] = "CommunityTaxUsage"; - ProposalType[ProposalType["PlainText"] = 5] = "PlainText"; - ProposalType[ProposalType["TokenAddition"] = 6] = "TokenAddition"; -})(ProposalType || (exports.ProposalType = ProposalType = {})); +var pbs = _interopRequireWildcard(require("./proto")); -var CommunityTaxUsageType; -/** - * Vote options - */ - -exports.CommunityTaxUsageType = CommunityTaxUsageType; - -(function (CommunityTaxUsageType) { - CommunityTaxUsageType[CommunityTaxUsageType["Burn"] = 1] = "Burn"; - CommunityTaxUsageType[CommunityTaxUsageType["Distribute"] = 2] = "Distribute"; - CommunityTaxUsageType[CommunityTaxUsageType["Grant"] = 3] = "Grant"; -})(CommunityTaxUsageType || (exports.CommunityTaxUsageType = CommunityTaxUsageType = {})); +var _errors = require("../errors"); -var VoteOption; -/** - * Basic proposal result properties - */ - -exports.VoteOption = VoteOption; +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } -(function (VoteOption) { - VoteOption[VoteOption["Empty"] = 0] = "Empty"; - VoteOption[VoteOption["Yes"] = 1] = "Yes"; - VoteOption[VoteOption["Abstain"] = 2] = "Abstain"; - VoteOption[VoteOption["No"] = 3] = "No"; - VoteOption[VoteOption["NoWithVeto"] = 4] = "NoWithVeto"; -})(VoteOption || (exports.VoteOption = VoteOption = {})); +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } /** - * Msg struct for submitting a ParameterChangeProposal + * Msg for Submit Proposal + * * @hidden */ -var MsgSubmitParameterChangeProposal = /*#__PURE__*/function (_Msg) { - (0, _inherits2["default"])(MsgSubmitParameterChangeProposal, _Msg); +var MsgSubmitProposal = /*#__PURE__*/function (_Msg) { + (0, _inherits2["default"])(MsgSubmitProposal, _Msg); - var _super = _createSuper(MsgSubmitParameterChangeProposal); + var _super = _createSuper(MsgSubmitProposal); - function MsgSubmitParameterChangeProposal(params) { + function MsgSubmitProposal(msg) { var _this; - (0, _classCallCheck2["default"])(this, MsgSubmitParameterChangeProposal); - _this = _super.call(this, 'irishub/gov/MsgSubmitProposal'); + (0, _classCallCheck2["default"])(this, MsgSubmitProposal); + _this = _super.call(this, _types.TxType.MsgSubmitProposal); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "value", void 0); - params.proposal_type = ProposalType[ProposalType.Parameter]; - _this.value = params; + _this.value = msg; return _this; } - (0, _createClass2["default"])(MsgSubmitParameterChangeProposal, [{ - key: "getSignBytes", - value: function getSignBytes() { - return this.value; + (0, _createClass2["default"])(MsgSubmitProposal, [{ + key: "getModel", + value: function getModel() { + var msg = new (this.constructor.getModelClass())(); + var contentMsg; + + switch (this.value.content.type) { + case ProposalType.Text_Proposal: + contentMsg = new pbs.gov_gov_pb.TextProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + break; + + case ProposalType.Community_Pool_Spend_Proposal: + contentMsg = new pbs.distribution_distribution_pb.CommunityPoolSpendProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + contentMsg.setRecipient(this.value.content.value.recipient); + this.value.content.value.amount.forEach(function (item) { + contentMsg.addAmount(_helper.TxModelCreator.createCoinModel(item.denom, item.amount)); + }); + break; + + case ProposalType.Parameter_Change_Proposal: + contentMsg = new pbs.params_params_pb.ParameterChangeProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + this.value.content.value.changes.forEach(function (item) { + var paramChangeMsg = new pbs.params_params_pb.ParamChange(); + paramChangeMsg.setSubspace(item.subspace); + paramChangeMsg.setKey(item.key); + paramChangeMsg.setValue(item.value); + contentMsg.addChanges(paramChangeMsg); + }); + break; + + case ProposalType.Software_Upgrade_Proposal: + var planMSg = new pbs.upgrade_upgrade_pb.Plan(); + planMSg.setName(this.value.content.value.plan.name); + + if (this.value.content.value.plan.time) { + var timestampMsg = new pbs.google_protobuf_timestamp_pb.Timestamp(); + timestampMsg.setSeconds(parseInt(String(this.value.content.value.plan.time.seconds))); + timestampMsg.setNanos(parseInt(String(this.value.content.value.plan.time.nanos))); + planMSg.setTime(timestampMsg); + } + + if (this.value.content.value.plan.height) { + planMSg.setHeight(this.value.content.value.plan.height); + } + + if (this.value.content.value.plan.info) { + planMSg.setInfo(this.value.content.value.plan.info); + } // if (this.value.content.value.plan.upgraded_client_state) { + // planMSg.setUpgradedClientState(...); + // } + + + contentMsg = new pbs.upgrade_upgrade_pb.SoftwareUpgradeProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + contentMsg.setPlan(planMSg); + break; + + case ProposalType.Cancel_Software_Upgrade_Proposal: + contentMsg = new pbs.upgrade_upgrade_pb.CancelSoftwareUpgradeProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + break; + } + + if (!contentMsg) { + throw new _errors.SdkError("Proposal type not supported"); + } + + msg.setContent(_helper.TxModelCreator.createAnyModel(this.value.content.type, contentMsg.serializeBinary())); + this.value.initial_deposit.forEach(function (item) { + msg.addInitialDeposit(_helper.TxModelCreator.createCoinModel(item.denom, item.amount)); + }); + msg.setProposer(this.value.proposer); + return msg; } }, { - key: "marshal", - value: function marshal() { - return { - type: this.type, - value: { - proposal_type: ProposalType.Parameter, - title: this.value.title, - description: this.value.description, - proposer: this.value.proposer, - initial_deposit: this.value.initial_deposit, - params: this.value.params - } - }; + key: "validate", + value: function validate() { + if (!this.value.content) { + throw new _errors.SdkError("content is empty"); + } + + if (!(this.value.initial_deposit && this.value.initial_deposit.length)) { + throw new _errors.SdkError("initial_deposit is empty"); + } + + if (!this.value.proposer) { + throw new _errors.SdkError("proposer is empty"); + } + } + }], [{ + key: "getModelClass", + value: function getModelClass() { + return pbs.gov_tx_pb.MsgSubmitProposal; } }]); - return MsgSubmitParameterChangeProposal; -}(_types.Msg); // ------------------- PlainTextProposal ------------------------- - -/** - * Params for submitting a PlainTextProposal - * @hidden + return MsgSubmitProposal; +}(_types.Msg); +/** + * param struct for Vote tx */ -exports.MsgSubmitParameterChangeProposal = MsgSubmitParameterChangeProposal; +exports.MsgSubmitProposal = MsgSubmitProposal; /** - * Msg struct for submitting a PlainTextProposal + * Msg for Vote + * * @hidden */ -var MsgSubmitPlainTextProposal = /*#__PURE__*/function (_Msg2) { - (0, _inherits2["default"])(MsgSubmitPlainTextProposal, _Msg2); +var MsgVote = /*#__PURE__*/function (_Msg2) { + (0, _inherits2["default"])(MsgVote, _Msg2); - var _super2 = _createSuper(MsgSubmitPlainTextProposal); + var _super2 = _createSuper(MsgVote); - function MsgSubmitPlainTextProposal(params) { + function MsgVote(msg) { var _this2; - (0, _classCallCheck2["default"])(this, MsgSubmitPlainTextProposal); - _this2 = _super2.call(this, 'irishub/gov/MsgSubmitProposal'); + (0, _classCallCheck2["default"])(this, MsgVote); + _this2 = _super2.call(this, _types.TxType.MsgVote); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "value", void 0); - params.proposal_type = ProposalType[ProposalType.PlainText]; - params.params = null; // TODO: Historical issue: Proposals except `ParameterChange` must specify the `params` to be null - - _this2.value = params; + _this2.value = msg; return _this2; } - (0, _createClass2["default"])(MsgSubmitPlainTextProposal, [{ - key: "getSignBytes", - value: function getSignBytes() { - return this.value; + (0, _createClass2["default"])(MsgVote, [{ + key: "getModel", + value: function getModel() { + var msg = new (this.constructor.getModelClass())(); + msg.setProposalId(this.value.proposal_id); + msg.setVoter(this.value.voter); + msg.setOption(this.value.option); + return msg; } }, { - key: "marshal", - value: function marshal() { - return { - type: this.type, - value: { - proposal_type: ProposalType.PlainText, - title: this.value.title, - description: this.value.description, - proposer: this.value.proposer, - initial_deposit: this.value.initial_deposit - } - }; + key: "validate", + value: function validate() { + if (!this.value.proposal_id) { + throw new _errors.SdkError("proposal_id is empty"); + } + + if (!this.value.voter) { + throw new _errors.SdkError("proposer is empty"); + } + + if (typeof this.value.option == 'undefined') { + throw new _errors.SdkError("proposer is empty"); + } + } + }], [{ + key: "getModelClass", + value: function getModelClass() { + return pbs.gov_tx_pb.MsgVote; } }]); - return MsgSubmitPlainTextProposal; -}(_types.Msg); // ------------------- CommunityTaxUsageProposal ------------------------- - -/** - * Params for submitting a CommunityTaxUsageProposal - * @hidden + return MsgVote; +}(_types.Msg); +/** + * param struct for Deposit tx */ -exports.MsgSubmitPlainTextProposal = MsgSubmitPlainTextProposal; +exports.MsgVote = MsgVote; /** - * Msg struct for submitting a CommunityTaxUsageProposal + * Msg for Deposit + * * @hidden */ -var MsgSubmitCommunityTaxUsageProposal = /*#__PURE__*/function (_Msg3) { - (0, _inherits2["default"])(MsgSubmitCommunityTaxUsageProposal, _Msg3); +var MsgDeposit = /*#__PURE__*/function (_Msg3) { + (0, _inherits2["default"])(MsgDeposit, _Msg3); - var _super3 = _createSuper(MsgSubmitCommunityTaxUsageProposal); + var _super3 = _createSuper(MsgDeposit); - function MsgSubmitCommunityTaxUsageProposal(params) { + function MsgDeposit(msg) { var _this3; - (0, _classCallCheck2["default"])(this, MsgSubmitCommunityTaxUsageProposal); - _this3 = _super3.call(this, 'irishub/gov/MsgSubmitCommunityTaxUsageProposal'); + (0, _classCallCheck2["default"])(this, MsgDeposit); + _this3 = _super3.call(this, _types.TxType.MsgDeposit); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this3), "value", void 0); - params.proposal_type = ProposalType[ProposalType.CommunityTaxUsage]; - params.params = null; // TODO: Historical issue: Proposals except `ParameterChange` must specify the `params` to be null - - _this3.value = params; + _this3.value = msg; return _this3; } - (0, _createClass2["default"])(MsgSubmitCommunityTaxUsageProposal, [{ - key: "getSignBytes", - value: function getSignBytes() { - return this.value; + (0, _createClass2["default"])(MsgDeposit, [{ + key: "getModel", + value: function getModel() { + var msg = new (this.constructor.getModelClass())(); + msg.setProposalId(this.value.proposal_id); + msg.setDepositor(this.value.depositor); + this.value.amount.forEach(function (item) { + msg.addAmount(_helper.TxModelCreator.createCoinModel(item.denom, item.amount)); + }); + return msg; } }, { - key: "marshal", - value: function marshal() { - return { - type: this.type, - value: { - proposal_type: ProposalType.CommunityTaxUsage, - title: this.value.title, - description: this.value.description, - proposer: this.value.proposer, - initial_deposit: this.value.initial_deposit - } - }; + key: "validate", + value: function validate() { + if (!this.value.proposal_id) { + throw new _errors.SdkError("proposal_id is empty"); + } + + if (!this.value.depositor) { + throw new _errors.SdkError("depositor is empty"); + } + + if (!(this.value.amount && this.value.amount.length)) { + throw new _errors.SdkError("amount is empty"); + } } - }]); - return MsgSubmitCommunityTaxUsageProposal; -}(_types.Msg); -/** - * Msg struct for depositing to an active proposal in `depositing` period - * @hidden - */ - - -exports.MsgSubmitCommunityTaxUsageProposal = MsgSubmitCommunityTaxUsageProposal; - -var MsgDeposit = /*#__PURE__*/function (_Msg4) { - (0, _inherits2["default"])(MsgDeposit, _Msg4); - - var _super4 = _createSuper(MsgDeposit); - - function MsgDeposit(proposalID, depositor, amount) { - var _this4; - - (0, _classCallCheck2["default"])(this, MsgDeposit); - _this4 = _super4.call(this, 'irishub/gov/MsgDeposit'); - (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this4), "value", void 0); - _this4.value = { - proposal_id: proposalID, - depositor: depositor, - amount: amount - }; - return _this4; - } - - (0, _createClass2["default"])(MsgDeposit, [{ - key: "getSignBytes", - value: function getSignBytes() { - return this.value; + }], [{ + key: "getModelClass", + value: function getModelClass() { + return pbs.gov_tx_pb.MsgDeposit; } }]); return MsgDeposit; }(_types.Msg); /** - * Msg struct for voting to an active proposal in `voting` period - * @hidden + * ProposalStatus enumerates the valid statuses of a proposal. */ exports.MsgDeposit = MsgDeposit; +var ProposalType; +exports.ProposalType = ProposalType; -var MsgVote = /*#__PURE__*/function (_Msg5) { - (0, _inherits2["default"])(MsgVote, _Msg5); +(function (ProposalType) { + ProposalType["Text_Proposal"] = "cosmos.gov.v1beta1.TextProposal"; + ProposalType["Community_Pool_Spend_Proposal"] = "cosmos.distribution.v1beta1.CommunityPoolSpendProposal"; + ProposalType["Parameter_Change_Proposal"] = "cosmos.params.v1beta1.ParameterChangeProposal"; + ProposalType["Software_Upgrade_Proposal"] = "cosmos.upgrade.v1beta1.SoftwareUpgradeProposal"; + ProposalType["Cancel_Software_Upgrade_Proposal"] = "cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal"; +})(ProposalType || (exports.ProposalType = ProposalType = {})); - var _super5 = _createSuper(MsgVote); +/** + * Vote options + */ +var VoteOption; +/** + * ProposalStatus enumerates the valid statuses of a proposal. + */ - function MsgVote(proposalID, voter, option) { - var _this5; +exports.VoteOption = VoteOption; - (0, _classCallCheck2["default"])(this, MsgVote); - _this5 = _super5.call(this, 'irishub/gov/MsgVote'); - (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this5), "value", void 0); - _this5.value = { - proposal_id: proposalID, - voter: voter, - option: VoteOption[option] - }; - return _this5; - } +(function (VoteOption) { + VoteOption[VoteOption["VOTE_OPTION_UNSPECIFIED"] = 0] = "VOTE_OPTION_UNSPECIFIED"; + VoteOption[VoteOption["VOTE_OPTION_YES"] = 1] = "VOTE_OPTION_YES"; + VoteOption[VoteOption["VOTE_OPTION_ABSTAIN"] = 2] = "VOTE_OPTION_ABSTAIN"; + VoteOption[VoteOption["VOTE_OPTION_NO"] = 3] = "VOTE_OPTION_NO"; + VoteOption[VoteOption["VOTE_OPTION_NO_WITH_VETO"] = 4] = "VOTE_OPTION_NO_WITH_VETO"; +})(VoteOption || (exports.VoteOption = VoteOption = {})); - (0, _createClass2["default"])(MsgVote, [{ - key: "getSignBytes", - value: function getSignBytes() { - return this.value; - } - }, { - key: "marshal", - value: function marshal() { - return { - type: this.type, - value: { - proposal_id: this.value.proposal_id, - voter: this.value.voter, - option: VoteOption[this.value.option] - } - }; - } - }]); - return MsgVote; -}(_types.Msg); +var ProposalStatus; +exports.ProposalStatus = ProposalStatus; -exports.MsgVote = MsgVote; \ No newline at end of file +(function (ProposalStatus) { + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_UNSPECIFIED"] = 0] = "PROPOSAL_STATUS_UNSPECIFIED"; + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_DEPOSIT_PERIOD"] = 1] = "PROPOSAL_STATUS_DEPOSIT_PERIOD"; + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_VOTING_PERIOD"] = 2] = "PROPOSAL_STATUS_VOTING_PERIOD"; + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_PASSED"] = 3] = "PROPOSAL_STATUS_PASSED"; + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_REJECTED"] = 4] = "PROPOSAL_STATUS_REJECTED"; + ProposalStatus[ProposalStatus["PROPOSAL_STATUS_FAILED"] = 5] = "PROPOSAL_STATUS_FAILED"; +})(ProposalStatus || (exports.ProposalStatus = ProposalStatus = {})); + +/************************** ClientState **************************/ +var HashOp; +/** +LengthOp defines how to process the key and value of the LeafOp +to include length information. After encoding the length with the given +algorithm, the length will be prepended to the key and value bytes. +(Each one with it's own encoded length) +*/ + +exports.HashOp = HashOp; + +(function (HashOp) { + HashOp[HashOp["NO_HASH"] = 0] = "NO_HASH"; + HashOp[HashOp["SHA256"] = 1] = "SHA256"; + HashOp[HashOp["SHA512"] = 2] = "SHA512"; + HashOp[HashOp["KECCAK"] = 3] = "KECCAK"; + HashOp[HashOp["RIPEMD160"] = 4] = "RIPEMD160"; + HashOp[HashOp["BITCOIN"] = 5] = "BITCOIN"; +})(HashOp || (exports.HashOp = HashOp = {})); + +var LengthOp; +/* +InnerSpec contains all store-specific structure info to determine if two proofs from a +given store are neighbors. + +This enables: + + isLeftMost(spec: InnerSpec, op: InnerOp) + isRightMost(spec: InnerSpec, op: InnerOp) + isLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp) +*/ + +exports.LengthOp = LengthOp; + +(function (LengthOp) { + LengthOp[LengthOp["NO_PREFIX"] = 0] = "NO_PREFIX"; + LengthOp[LengthOp["VAR_PROTO"] = 1] = "VAR_PROTO"; + LengthOp[LengthOp["VAR_RLP"] = 2] = "VAR_RLP"; + LengthOp[LengthOp["FIXED32_BIG"] = 3] = "FIXED32_BIG"; + LengthOp[LengthOp["FIXED32_LITTLE"] = 4] = "FIXED32_LITTLE"; + LengthOp[LengthOp["FIXED64_BIG"] = 5] = "FIXED64_BIG"; + LengthOp[LengthOp["FIXED64_LITTLE"] = 6] = "FIXED64_LITTLE"; + LengthOp[LengthOp["REQUIRE_32_BYTES"] = 7] = "REQUIRE_32_BYTES"; + LengthOp[LengthOp["REQUIRE_64_BYTES"] = 8] = "REQUIRE_64_BYTES"; +})(LengthOp || (exports.LengthOp = LengthOp = {})); \ No newline at end of file diff --git a/dist/src/types/proto.d.ts b/dist/src/types/proto.d.ts index 276c07b8..5cb96dc0 100644 --- a/dist/src/types/proto.d.ts +++ b/dist/src/types/proto.d.ts @@ -43,5 +43,14 @@ export declare const crypto_ed25519_keys_pb: any; export declare const crypto_sm2_keys_pb: any; export declare const base_coin_pb: any; export declare const signing_signing_pb: any; +export declare const gov_gov_pb: any; +export declare const distribution_distribution_pb: any; +export declare const params_params_pb: any; +export declare const upgrade_upgrade_pb: any; +export declare const slashing_slashing_pb: any; +export declare const lightclients_tendermint_tendermint_pb: any; +export declare const confio_proofs_pb: any; +export declare const google_protobuf_timestamp_pb: any; +export declare const google_protobuf_duration_pb: any; export declare const token_token_pb: any; export declare const any_pb: any; diff --git a/dist/src/types/proto.js b/dist/src/types/proto.js index 9b1eea34..71e53c83 100644 --- a/dist/src/types/proto.js +++ b/dist/src/types/proto.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.any_pb = exports.token_token_pb = exports.signing_signing_pb = exports.base_coin_pb = exports.crypto_sm2_keys_pb = exports.crypto_ed25519_keys_pb = exports.crypto_secp256k1_keys_pb = exports.auth_auth_pb = exports.token_query_pb = exports.service_query_pb = exports.record_query_pb = exports.random_query_pb = exports.oracle_query_pb = exports.nft_query_pb = exports.htlc_query_pb = exports.coinswap_query_pb = exports.upgrade_query_pb = exports.staking_query_pb = exports.slashing_query_pb = exports.params_query_pb = exports.mint_query_pb = exports.gov_query_pb = exports.evidence_query_pb = exports.distribution_query_pb = exports.bank_query_pb = exports.auth_query_pb = exports.base_query_pagination_pb = exports.token_tx_pb = exports.service_tx_pb = exports.record_tx_pb = exports.random_tx_pb = exports.oracle_tx_pb = exports.nft_tx_pb = exports.htlc_tx_pb = exports.coinswap_tx_pb = exports.vesting_tx_pb = exports.tx_tx_pb = exports.staking_tx_pb = exports.slashing_tx_pb = exports.gov_tx_pb = exports.evidence_tx_pb = exports.distribution_tx_pb = exports.crisis_tx_pb = exports.bank_tx_pb = void 0; +exports.any_pb = exports.token_token_pb = exports.google_protobuf_duration_pb = exports.google_protobuf_timestamp_pb = exports.confio_proofs_pb = exports.lightclients_tendermint_tendermint_pb = exports.slashing_slashing_pb = exports.upgrade_upgrade_pb = exports.params_params_pb = exports.distribution_distribution_pb = exports.gov_gov_pb = exports.signing_signing_pb = exports.base_coin_pb = exports.crypto_sm2_keys_pb = exports.crypto_ed25519_keys_pb = exports.crypto_secp256k1_keys_pb = exports.auth_auth_pb = exports.token_query_pb = exports.service_query_pb = exports.record_query_pb = exports.random_query_pb = exports.oracle_query_pb = exports.nft_query_pb = exports.htlc_query_pb = exports.coinswap_query_pb = exports.upgrade_query_pb = exports.staking_query_pb = exports.slashing_query_pb = exports.params_query_pb = exports.mint_query_pb = exports.gov_query_pb = exports.evidence_query_pb = exports.distribution_query_pb = exports.bank_query_pb = exports.auth_query_pb = exports.base_query_pagination_pb = exports.token_tx_pb = exports.service_tx_pb = exports.record_tx_pb = exports.random_tx_pb = exports.oracle_tx_pb = exports.nft_tx_pb = exports.htlc_tx_pb = exports.coinswap_tx_pb = exports.vesting_tx_pb = exports.tx_tx_pb = exports.staking_tx_pb = exports.slashing_tx_pb = exports.gov_tx_pb = exports.evidence_tx_pb = exports.distribution_tx_pb = exports.crisis_tx_pb = exports.bank_tx_pb = void 0; /***************TX*****************/ //cosmos tx @@ -179,11 +179,50 @@ var base_coin_pb = require('./proto-types/cosmos/base/v1beta1/coin_pb'); exports.base_coin_pb = base_coin_pb; -var signing_signing_pb = require('./proto-types/cosmos/tx/signing/v1beta1/signing_pb'); //irimod module - +var signing_signing_pb = require('./proto-types/cosmos/tx/signing/v1beta1/signing_pb'); exports.signing_signing_pb = signing_signing_pb; +var gov_gov_pb = require('./proto-types/cosmos/gov/v1beta1/gov_pb'); + +exports.gov_gov_pb = gov_gov_pb; + +var distribution_distribution_pb = require('./proto-types/cosmos/distribution/v1beta1/distribution_pb'); + +exports.distribution_distribution_pb = distribution_distribution_pb; + +var params_params_pb = require('./proto-types/cosmos/params/v1beta1/params_pb'); + +exports.params_params_pb = params_params_pb; + +var upgrade_upgrade_pb = require('./proto-types/cosmos/upgrade/v1beta1/upgrade_pb'); + +exports.upgrade_upgrade_pb = upgrade_upgrade_pb; + +var slashing_slashing_pb = require('./proto-types/cosmos/slashing/v1beta1/slashing_pb'); //ibc module + + +exports.slashing_slashing_pb = slashing_slashing_pb; + +var lightclients_tendermint_tendermint_pb = require('./proto-types/ibc/lightclients/tendermint/v1/tendermint_pb'); //confio module + + +exports.lightclients_tendermint_tendermint_pb = lightclients_tendermint_tendermint_pb; + +var confio_proofs_pb = require('./proto-types/confio/proofs_pb'); // google module + + +exports.confio_proofs_pb = confio_proofs_pb; + +var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js'); + +exports.google_protobuf_timestamp_pb = google_protobuf_timestamp_pb; + +var google_protobuf_duration_pb = require('google-protobuf/google/protobuf/duration_pb.js'); //irimod module + + +exports.google_protobuf_duration_pb = google_protobuf_duration_pb; + var token_token_pb = require('./proto-types/irismod/token/token_pb'); //any diff --git a/dist/src/types/protoTx.d.ts b/dist/src/types/protoTx.d.ts index e3ea93f2..29123fab 100644 --- a/dist/src/types/protoTx.d.ts +++ b/dist/src/types/protoTx.d.ts @@ -9,8 +9,8 @@ export declare class ProtoTx { memo: string; stdFee: types.StdFee; chain_id: string; - account_number?: string; - sequence?: string; + account_number?: number; + sequence?: number; publicKey?: string | types.Pubkey; }, protoTxModel?: any); static newStdTxFromProtoTxModel(protoTxModel: any): types.ProtoTx; @@ -24,12 +24,12 @@ export declare class ProtoTx { * @param {[string]} bech32/hex or object. if string, default Secp256k1 * @param {optional [number]} sequence */ - setPubKey(pubkey: string | types.Pubkey, sequence?: string): void; + setPubKey(pubkey: string | types.Pubkey, sequence?: number): void; /** * Get SignDoc for signature * @returns SignDoc protobuf.Tx.SignDoc */ - getSignDoc(account_number?: string, chain_id?: string): any; + getSignDoc(account_number?: number, chain_id?: string): any; /** * TxRaw is a variant of Tx that pins the signer's exact binary representation of body and auth_info. This is used for signing, broadcasting and diff --git a/dist/src/types/protoTx.js b/dist/src/types/protoTx.js index d80043f8..63d7d0a5 100644 --- a/dist/src/types/protoTx.js +++ b/dist/src/types/protoTx.js @@ -60,12 +60,12 @@ var ProtoTx = /*#__PURE__*/function () { (0, _createClass2["default"])(ProtoTx, [{ key: "addSignature", - + value: /** * add signature * @param {[string]} signature base64 */ - value: function addSignature(signature) { + function addSignature(signature) { if (!signature || !signature.length) { throw new _errors.SdkError("signature is empty", _errors.CODES.NoSignatures); } @@ -81,9 +81,11 @@ var ProtoTx = /*#__PURE__*/function () { }, { key: "setPubKey", value: function setPubKey(pubkey, sequence) { - sequence = sequence || this.txData.sequence; + var _sequence; + + sequence = (_sequence = sequence) !== null && _sequence !== void 0 ? _sequence : this.txData.sequence; - if (!sequence) { + if (typeof sequence == 'undefined') { throw new _errors.SdkError("sequence is empty", _errors.CODES.InvalidSequence); } @@ -103,7 +105,7 @@ var ProtoTx = /*#__PURE__*/function () { throw new _errors.SdkError("please set pubKey", _errors.CODES.InvalidPubkey); } - if (!account_number && !this.txData.account_number) { + if (typeof account_number == 'undefined' && typeof this.txData.account_number == 'undefined') { throw new _errors.SdkError("account_number is empty", _errors.CODES.IncorrectAccountSequence); } @@ -114,7 +116,7 @@ var ProtoTx = /*#__PURE__*/function () { var signDoc = new types.tx_tx_pb.SignDoc(); signDoc.setBodyBytes(this.body.serializeBinary()); signDoc.setAuthInfoBytes(this.authInfo.serializeBinary()); - signDoc.setAccountNumber(String(account_number || this.txData.account_number)); + signDoc.setAccountNumber(account_number !== null && account_number !== void 0 ? account_number : this.txData.account_number); signDoc.setChainId(chain_id || this.txData.chain_id); return signDoc; } diff --git a/dist/src/types/query-builder.js b/dist/src/types/query-builder.js index eca3334b..42ecab56 100644 --- a/dist/src/types/query-builder.js +++ b/dist/src/types/query-builder.js @@ -94,14 +94,14 @@ var EventQueryBuilder = /*#__PURE__*/function () { (0, _createClass2["default"])(EventQueryBuilder, [{ key: "addCondition", - + value: /** * Add a query condition * @param eventKey * @param value * @returns The builder itself */ - value: function addCondition(condition) { + function addCondition(condition) { this.conditions.push(condition); return this; } diff --git a/dist/src/types/tx.d.ts b/dist/src/types/tx.d.ts index e53c12bf..bfd19014 100644 --- a/dist/src/types/tx.d.ts +++ b/dist/src/types/tx.d.ts @@ -6,15 +6,17 @@ export interface ResultBroadcastTxAsync { data: string; log: string; hash: string; + codespace: string; } /** SDK Tx Result */ export interface TxResult { hash: string; height?: number; - gas_used?: number; - gas_wanted?: number; + log?: string; info?: string; - tags?: Tag[]; + gas_wanted?: number; + gas_used?: number; + events?: object[][]; } /** BroadcastTx Result */ export interface ResultBroadcastTx { @@ -32,6 +34,8 @@ export interface ResultTx { gas_wanted: number; info: string; tags: Tag[]; + codespace: string; + events: any[]; } /** Tx query result */ export interface QueryTxResult { diff --git a/dist/src/types/types.d.ts b/dist/src/types/types.d.ts index 54291799..03097eb9 100644 --- a/dist/src/types/types.d.ts +++ b/dist/src/types/types.d.ts @@ -37,7 +37,10 @@ export declare enum TxType { MsgIssueToken = "irismod.token.MsgIssueToken", MsgEditToken = "irismod.token.MsgEditToken", MsgMintToken = "irismod.token.MsgMintToken", - MsgTransferTokenOwner = "irismod.token.MsgTransferTokenOwner" + MsgTransferTokenOwner = "irismod.token.MsgTransferTokenOwner", + MsgSubmitProposal = "cosmos.gov.v1beta1.MsgSubmitProposal", + MsgVote = "cosmos.gov.v1beta1.MsgVote", + MsgDeposit = "cosmos.gov.v1beta1.MsgDeposit" } /** * Base Tx @@ -67,6 +70,7 @@ export interface JSONRPCResponse { id: string; error: JsonRpcError; result: T; + codespace?: string; } /** * JsonRpc Error @@ -75,6 +79,7 @@ export interface JsonRpcError { code: number; message: string; data: string; + codespace?: string; } /** * Base Pubkey diff --git a/dist/src/types/types.js b/dist/src/types/types.js index 78d6b48c..ab494944 100644 --- a/dist/src/types/types.js +++ b/dist/src/types/types.js @@ -101,6 +101,9 @@ exports.TxType = TxType; TxType["MsgEditToken"] = "irismod.token.MsgEditToken"; TxType["MsgMintToken"] = "irismod.token.MsgMintToken"; TxType["MsgTransferTokenOwner"] = "irismod.token.MsgTransferTokenOwner"; + TxType["MsgSubmitProposal"] = "cosmos.gov.v1beta1.MsgSubmitProposal"; + TxType["MsgVote"] = "cosmos.gov.v1beta1.MsgVote"; + TxType["MsgDeposit"] = "cosmos.gov.v1beta1.MsgDeposit"; })(TxType || (exports.TxType = TxType = {})); /** diff --git a/dist/src/utils/address.js b/dist/src/utils/address.js index 21f341a4..49461863 100644 --- a/dist/src/utils/address.js +++ b/dist/src/utils/address.js @@ -25,13 +25,13 @@ var AddressUtils = /*#__PURE__*/function () { (0, _createClass2["default"])(AddressUtils, null, [{ key: "getAddrHexFromBech32", - + value: /** * Convert bech32 address to hex string * @param addr Bech32 address * @returns Hex address */ - value: function getAddrHexFromBech32(addr) { + function getAddrHexFromBech32(addr) { return _utils.Utils.ab2hexstring(_crypto.Crypto.decodeAddress(addr)); } }]); diff --git a/dist/src/utils/crypto.js b/dist/src/utils/crypto.js index 1e93d592..11f044b9 100644 --- a/dist/src/utils/crypto.js +++ b/dist/src/utils/crypto.js @@ -57,7 +57,7 @@ var Crypto = /*#__PURE__*/function () { (0, _createClass2["default"])(Crypto, null, [{ key: "decodeAddress", - // secp256k1 privkey is 32 bytes + value: // secp256k1 privkey is 32 bytes //hdpath /** @@ -65,7 +65,7 @@ var Crypto = /*#__PURE__*/function () { * @param address The bech32 address to decode * @returns The decoded address buffer */ - value: function decodeAddress(address) { + function decodeAddress(address) { var decodeAddress = bech32.decode(address); return Buffer.from(bech32.fromWords(decodeAddress.words)); } @@ -504,7 +504,7 @@ var Crypto = /*#__PURE__*/function () { }, { key: "getPrivateKeyFromMnemonic", - + value: /** * Gets a private key from mnemonic words. * @param mnemonic The mnemonic phrase words @@ -513,7 +513,7 @@ var Crypto = /*#__PURE__*/function () { * @param password A passphrase for generating the salt, according to bip39 * @returns hexstring */ - value: function getPrivateKeyFromMnemonic(mnemonic) { + function getPrivateKeyFromMnemonic(mnemonic) { var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var derive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; var password = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ''; diff --git a/dist/src/utils/store-keys.js b/dist/src/utils/store-keys.js index 3aa18127..3e1a5847 100644 --- a/dist/src/utils/store-keys.js +++ b/dist/src/utils/store-keys.js @@ -27,13 +27,13 @@ var StoreKeys = /*#__PURE__*/function () { (0, _createClass2["default"])(StoreKeys, null, [{ key: "getAccountStoreKey", - + value: /** * Turn an address to key used to get it from the account store * @param address Bech32 address * @returns Base64 encoded byte array */ - value: function getAccountStoreKey(address) { + function getAccountStoreKey(address) { var bytes = _crypto.Crypto.decodeAndConvert(address); return Uint8Array.from(StoreKeys.addressStoreKeyPrefix.concat(bytes)); diff --git a/dist/src/utils/utils.js b/dist/src/utils/utils.js index 93de9604..fd5984ff 100644 --- a/dist/src/utils/utils.js +++ b/dist/src/utils/utils.js @@ -38,13 +38,13 @@ var Utils = /*#__PURE__*/function () { (0, _createClass2["default"])(Utils, null, [{ key: "str2ab", - + value: /** * String to ArrayBuffer * @param str ASCII string * @returns Uint8Array */ - value: function str2ab(str) { + function str2ab(str) { if (typeof str !== 'string') { throw new _errors.SdkError('str2ab expects a string', _errors.CODES.Internal); } diff --git a/src/client.ts b/src/client.ts index bb0c79f0..51380219 100644 --- a/src/client.ts +++ b/src/client.ts @@ -42,7 +42,7 @@ export class Client { tx: modules.Tx; /** Gov module */ - // gov: modules.Gov; + gov: modules.Gov; /** Slashing module */ slashing: modules.Slashing; @@ -107,7 +107,7 @@ export class Client { this.tx = new modules.Tx(this); this.protobuf = new modules.Protobuf(this); this.staking = new modules.Staking(this); - // this.gov = new modules.Gov(this); + this.gov = new modules.Gov(this); this.slashing = new modules.Slashing(this); this.distribution = new modules.Distribution(this); // this.service = new modules.Service(this); @@ -341,8 +341,13 @@ export class DefaultKeyDAOImpl implements KeyDAO { } decrypt(encrptedPrivKey: string, password: string): string { - const decrypted = AES.decrypt(encrptedPrivKey, password).toString(ENC); - if (!decrypted) { + let decrypted:string; + try{ + decrypted = AES.decrypt(encrptedPrivKey, password).toString(ENC); + if (!decrypted) { + throw new SdkError('Wrong password',CODES.InvalidPassword); + } + }catch(e){ throw new SdkError('Wrong password',CODES.InvalidPassword); } return decrypted; diff --git a/src/errors.ts b/src/errors.ts index 5459339d..b8bb78ca 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -54,14 +54,16 @@ export class SdkError extends Error { // codespace = CODESPACE_ROOT; /** Error code */ code = CODES.InvalidRequest; + codespace: string = 'sdk-js'; /** * Initialize SdkError with irishub error msg * @param msg irishub error msg */ - constructor(msg: string, code = CODES.InvalidRequest) { + constructor(msg: string, code = CODES.InvalidRequest, space?:string) { super(msg); // const mappedCode = errorMap.get(this.codespace + code); this.code = code; + this.codespace = space??this.codespace; } } diff --git a/src/helper/txModelCreator.ts b/src/helper/txModelCreator.ts index a1ed7c30..1c959056 100644 --- a/src/helper/txModelCreator.ts +++ b/src/helper/txModelCreator.ts @@ -16,7 +16,7 @@ export class TxModelCreator { static createAuthInfoModel( fee:types.StdFee, - sequence?:string, + sequence?:number, publicKey?:string|types.Pubkey):any { let authInfo = new types.tx_tx_pb.AuthInfo(); @@ -31,7 +31,7 @@ export class TxModelCreator { return authInfo; } - static createSignerInfoModel(sequence:string, publicKey:string|types.Pubkey):any{ + static createSignerInfoModel(sequence:number, publicKey:string|types.Pubkey):any{ let single = new types.tx_tx_pb.ModeInfo.Single(); single.setMode(types.signing_signing_pb.SignMode.SIGN_MODE_DIRECT); @@ -40,7 +40,7 @@ export class TxModelCreator { let signerInfo = new types.tx_tx_pb.SignerInfo(); signerInfo.setModeInfo(mode_info); - signerInfo.setSequence(String(sequence)); + signerInfo.setSequence(sequence); if (publicKey) { let pk = TxModelCreator.createPublicKeyModel(publicKey); diff --git a/src/modules/auth.ts b/src/modules/auth.ts index 39792d14..65961f76 100644 --- a/src/modules/auth.ts +++ b/src/modules/auth.ts @@ -55,7 +55,7 @@ export class Auth { msgs, memo:baseTx.memo||'', stdFee, - chain_id:this.client.config.chainId, + chain_id:baseTx.chainId || this.client.config.chainId, account_number:baseTx.account_number || undefined, sequence:baseTx.sequence || undefined }); diff --git a/src/modules/bank.ts b/src/modules/bank.ts index e8717622..d83647be 100644 --- a/src/modules/bank.ts +++ b/src/modules/bank.ts @@ -2,7 +2,6 @@ import { Client } from '../client'; import { Crypto } from '../utils/crypto'; import * as types from '../types'; import { SdkError, CODES } from '../errors'; -import { EventQueryBuilder, EventKey, EventAction } from '../types'; /** * This module is mainly used to transfer coins between accounts, diff --git a/src/modules/gov.ts b/src/modules/gov.ts index dead7d32..c2250c25 100644 --- a/src/modules/gov.ts +++ b/src/modules/gov.ts @@ -1,14 +1,7 @@ import { Client } from '../client'; import * as types from '../types'; +import { ModelCreator } from '../helper'; import { SdkError, CODES } from '../errors'; -import { - MsgSubmitParameterChangeProposal, - MsgSubmitPlainTextProposal, - CommunityTaxUsageType, - MsgSubmitCommunityTaxUsageProposal, - MsgDeposit, - MsgVote, -} from '../types/gov'; /** * This module provides governance functionalities @@ -27,287 +20,287 @@ export class Gov { } /** - * Query details of a single proposal - * @param proposalID Identity of a proposal + * submit Proposal + * @param proposal_id + * @param option + * @param baseTx { types.BaseTx } * @returns * @since v0.17 */ - queryProposal(proposalID: number): Promise { - return this.client.rpcClient.abciQuery( - 'custom/gov/proposal', + async submitProposal( + content: { + type: types.ProposalType, + value: types.TextProposal | types.CommunityPoolSpendProposal | types.ParameterChangeProposal | types.CancelSoftwareUpgradeProposal | types.SoftwareUpgradeProposal + }, + initial_deposit:types.Coin[], + baseTx: types.BaseTx + ): Promise { + const from = this.client.keys.show(baseTx.from); + const msgs: any[] = [ { - ProposalID: String(proposalID), + type:types.TxType.MsgSubmitProposal, + value:{ + content: content, + initial_deposit: initial_deposit, + proposer: from + } } - ); - } - - /** - * Query proposals by conditions - * @param params - * @returns - * @since v0.17 - */ - queryProposals( - params?: types.QueryProposalsParams - ): Promise { - let queryParams = {}; - if (params) { - queryParams = { - Voter: params.voter, - Depositor: params.depositor, - ProposalStatus: params.proposalStatus, - Limit: String(params.limit), - }; - } - return this.client.rpcClient.abciQuery( - 'custom/gov/proposals', - queryParams - ); + ]; + return this.client.tx.buildAndSend(msgs, baseTx); } /** - * Query a vote - * @param proposalID Identity of a proposal - * @param voter Bech32 voter address + * vote + * @param proposal_id + * @param option + * @param baseTx { types.BaseTx } * @returns * @since v0.17 */ - queryVote(proposalID: number, voter: string): Promise { - return this.client.rpcClient.abciQuery( - 'custom/gov/vote', + async vote( + proposal_id: number, + option: types.VoteOption, + baseTx: types.BaseTx + ): Promise { + const from = this.client.keys.show(baseTx.from); + const msgs: any[] = [ { - ProposalID: String(proposalID), - Voter: voter, + type:types.TxType.MsgVote, + value:{ + proposal_id: proposal_id, + voter: from, + option: option, + } } - ); + ]; + return this.client.tx.buildAndSend(msgs, baseTx); } /** - * Query all votes of a proposal - * @param proposalID Identity of a proposal + * deposit + * @param proposal_id + * @param amount + * @param baseTx { types.BaseTx } * @returns * @since v0.17 */ - queryVotes(proposalID: number): Promise { - return this.client.rpcClient.abciQuery( - 'custom/gov/votes', + async deposit( + proposal_id: number, + amount: types.Coin[], + baseTx: types.BaseTx + ): Promise { + const from = this.client.keys.show(baseTx.from); + const msgs: any[] = [ { - ProposalID: String(proposalID), + type:types.TxType.MsgDeposit, + value:{ + proposal_id: proposal_id, + depositor: from, + amount: amount, + } } - ); + ]; + return this.client.tx.buildAndSend(msgs, baseTx); } /** - * Query a deposit of a proposal - * @param proposalID Identity of a proposal - * @param depositor Bech32 depositor address - * @returns - * @since v0.17 + * Proposal queries proposal details based on ProposalID. + * @param proposal_id defines the unique id of the proposal. */ - queryDeposit( - proposalID: number, - depositor: string - ): Promise { - return this.client.rpcClient.abciQuery( - 'custom/gov/deposit', - { - ProposalID: String(proposalID), - Depositor: depositor, + queryProposal(proposal_id:number): Promise { + if (!proposal_id) { + throw new SdkError("proposal_id can ont be empty"); + } + const request = new types.gov_query_pb.QueryProposalRequest(); + request.setProposalId(proposal_id); + return this.client.rpcClient.protoQuery( + '/cosmos.gov.v1beta1.Query/Proposal', + request, + types.gov_query_pb.QueryProposalResponse + ).then((res)=>{ + if ( + res && + res.proposal && + res.proposal.content && + res.proposal.content.typeUrl && + res.proposal.content.value + ) { + res.proposal.content = this.client.protobuf.unpackProposalContent(res.proposal.content); } - ); + return res; + }); } /** - * Query all deposits of a proposal - * @param proposalID Identity of a proposal - * @returns - * @since v0.17 + * Proposals queries all proposals based on given status. + * @param proposal_id defines the unique id of the proposal. */ - queryDeposits(proposalID: number): Promise { - return this.client.rpcClient.abciQuery( - 'custom/gov/deposits', - { - ProposalID: String(proposalID), + queryProposals( + option:{ + proposal_status?:types.ProposalStatus, + voter?:string, + depositor?:string + }, + page_number:number = 1, + page_size:number = 10 + ): Promise { + const pagination = ModelCreator.createPaginationModel(page_number, page_size, true) + const request = new types.gov_query_pb.QueryProposalsRequest(); + if (typeof option.proposal_status != 'undefined') { + request.setProposalStatus(option.proposal_status); + } + if (option.voter) { + request.setVoter(option.voter); + } + if (option.depositor) { + request.setDepositor(option.depositor); + } + request.setPagination(pagination); + + return this.client.rpcClient.protoQuery( + '/cosmos.gov.v1beta1.Query/Proposals', + request, + types.gov_query_pb.QueryProposalsResponse + ).then((res)=>{ + if (res && res.proposalsList) { + res.proposalsList = res.proposalsList.map((item:any)=>{ + if (item.content && item.content.typeUrl && item.content.value) { + item.content = this.client.protobuf.unpackProposalContent(item.content); + } + return item; + }); } - ); + return res; + }); } /** - * Query the statistics of a proposal - * @param proposalID Identity of a proposal - * @returns - * @since v0.17 + * Vote queries voted information based on proposalID, voterAddr. + * @param proposal_id defines the unique id of the proposal. + * @param voter defines the oter address for the proposals. */ - queryTally(proposalID: number): Promise { - return this.client.rpcClient.abciQuery( - 'custom/gov/tally', - { - ProposalID: String(proposalID), - } + queryVote(proposal_id:number,voter:string): Promise { + if (!proposal_id) { + throw new SdkError("proposal_id can ont be empty"); + } + if (!voter) { + throw new SdkError("voter can ont be empty"); + } + const request = new types.gov_query_pb.QueryVoteRequest(); + request.setProposalId(proposal_id); + request.setVoter(voter); + + return this.client.rpcClient.protoQuery( + '/cosmos.gov.v1beta1.Query/Vote', + request, + types.gov_query_pb.QueryVoteResponse ); } /** - * Submit a ParameterChangeProposal along with an initial deposit - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * [Read about which parameters can be changed online](https://www.irisnet.org/docs/concepts/gov-params.html) - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param params On-chain Parameter to be changed, eg. `[{"subspace":"mint","key":"Inflation","value":"0.05"}]` - * @param baseTx - * @returns - * @since v0.17 + * Votes queries votes of a given proposal. + * @param proposal_id defines the unique id of the proposal. */ - async submitParameterChangeProposal( - title: string, - description: string, - initialDeposit: types.Coin[], - params: types.ChangeParameter[], - baseTx: types.BaseTx - ): Promise { - const proposer = this.client.keys.show(baseTx.from); - const coins = await this.client.utils.toMinCoins(initialDeposit); - const msgs: types.Msg[] = [ - new MsgSubmitParameterChangeProposal({ - title, - description, - proposer, - initial_deposit: coins, - params, - }), - ]; + queryVotes( + proposal_id:number, + page_number:number = 1, + page_size:number = 10 + ): Promise { + if (!proposal_id) { + throw new SdkError("proposal_id can ont be empty"); + } + const pagination = ModelCreator.createPaginationModel(page_number, page_size, true) + const request = new types.gov_query_pb.QueryVotesRequest(); + request.setProposalId(proposal_id); + request.setPagination(pagination); - return this.client.tx.buildAndSend(msgs, baseTx); + return this.client.rpcClient.protoQuery( + '/cosmos.gov.v1beta1.Query/Votes', + request, + types.gov_query_pb.QueryVotesResponse + ); } /** - * Submit a PlainTextProposal along with an initial deposit - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param baseTx - * @returns - * @since v0.17 + * Params queries all parameters of the gov module. + * @param params_type defines which parameters to query for, can be one of "voting", "tallying" or "deposit". */ - async submitPlainTextProposal( - title: string, - description: string, - initialDeposit: types.Coin[], - baseTx: types.BaseTx - ): Promise { - const proposer = this.client.keys.show(baseTx.from); - const coins = await this.client.utils.toMinCoins(initialDeposit); - const msgs: types.Msg[] = [ - new MsgSubmitPlainTextProposal({ - title, - description, - proposer, - initial_deposit: coins, - }), - ]; + queryParams(params_type:string): Promise { + if (!params_type) { + throw new SdkError("params_type can be one of 'voting', 'tallying' or 'deposit'"); + } + const request = new types.gov_query_pb.QueryParamsRequest(); + request.setParamsType(params_type); - return this.client.tx.buildAndSend(msgs, baseTx); + return this.client.rpcClient.protoQuery( + '/cosmos.gov.v1beta1.Query/Params', + request, + types.gov_query_pb.QueryParamsResponse + ); } /** - * Submit a CommunityTaxUsageProposal along with an initial deposit - * - * There are three usages, Burn, Distribute and Grant. Burn means burning tokens from community funds. - * Distribute and Grant will transfer tokens to the destination trustee's account from community funds. - * - * The proposer must deposit at least 30% of the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level) to submit a proposal. - * - * @param title Title of the proposal - * @param description Description of the proposal - * @param initialDeposit Initial deposit of the proposal(at least 30% of minDeposit) - * @param usage Type of the CommunityTaxUsage - * @param dest_address Bech32 destination address to receive the distributed or granted funds - * @param percent Percentage of the current community pool to be used - * @param baseTx - * @since v0.17 + * Deposit queries single deposit information based proposalID, depositAddr. + * @param proposal_id defines the unique id of the proposal. + * @param depositor defines the deposit addresses from the proposals. */ - async submitCommunityTaxUsageProposal( - title: string, - description: string, - initialDeposit: types.Coin[], - usage: CommunityTaxUsageType, - destAddress: string, - percent: number, - baseTx: types.BaseTx - ): Promise { - const proposer = this.client.keys.show(baseTx.from); - - const coins = await this.client.utils.toMinCoins(initialDeposit); - const msgs: types.Msg[] = [ - new MsgSubmitCommunityTaxUsageProposal({ - title, - description, - proposer, - initial_deposit: coins, - usage: CommunityTaxUsageType[usage], - dest_address: destAddress, - percent: String(percent), - }), - ]; + queryDeposit(proposal_id:number, depositor:string): Promise { + if (!proposal_id) { + throw new SdkError("proposal_id can ont be empty"); + } + if (!depositor) { + throw new SdkError("depositor can ont be empty"); + } + const request = new types.gov_query_pb.QueryDepositRequest(); + request.setProposalId(proposal_id); + request.setDepositor(depositor); - return this.client.tx.buildAndSend(msgs, baseTx); + return this.client.rpcClient.protoQuery( + '/cosmos.gov.v1beta1.Query/Deposit', + request, + types.gov_query_pb.QueryDepositResponse + ); } /** - * Deposit tokens for an active proposal. - * - * When the total deposit amount exceeds the [MinDeposit](https://www.irisnet.org/docs/features/governance.html#proposal-level), the proposal will enter the voting procedure. - * - * @param proposalID Identity of a proposal - * @param amount Amount to be deposited - * @param baseTx - * @returns - * @since v0.17 + * Deposits queries all deposits of a single proposal. + * @param proposal_id defines the unique id of the proposal. */ - async deposit( - proposalID: number, - amount: types.Coin[], - baseTx: types.BaseTx - ): Promise { - const depositor = this.client.keys.show(baseTx.from); - - const coins = await this.client.utils.toMinCoins(amount); - const msgs: types.Msg[] = [ - new MsgDeposit(String(proposalID), depositor, coins), - ]; + queryDeposits( + proposal_id:number, + page_number:number = 1, + page_size:number = 10 + ): Promise { + if (!proposal_id) { + throw new SdkError("proposal_id can ont be empty"); + } + const pagination = ModelCreator.createPaginationModel(page_number, page_size, true) + const request = new types.gov_query_pb.QueryDepositsRequest(); + request.setProposalId(proposal_id); + request.setPagination(pagination); - return this.client.tx.buildAndSend(msgs, baseTx); + return this.client.rpcClient.protoQuery( + '/cosmos.gov.v1beta1.Query/Deposits', + request, + types.gov_query_pb.QueryDepositsResponse + ); } /** - * Vote for an active proposal, options: Yes/No/NoWithVeto/Abstain. - * Only validators and delegators can vote for proposals in the voting period. - * - * @param proposalID Identity of a proposal - * @param option Vote option - * @param baseTx - * @since v0.17 + * TallyResult queries the tally of a proposal vote. + * @param proposal_id defines the unique id of the proposal. */ - async vote( - proposalID: number, - option: types.VoteOption, - baseTx: types.BaseTx - ): Promise { - const voter = this.client.keys.show(baseTx.from); - const msgs: types.Msg[] = [new MsgVote(String(proposalID), voter, option)]; + queryTallyResult(proposal_id:number): Promise { + if (!proposal_id) { + throw new SdkError("proposal_id can ont be empty"); + } + const request = new types.gov_query_pb.QueryTallyResultRequest(); + request.setProposalId(proposal_id); - return this.client.tx.buildAndSend(msgs, baseTx); + return this.client.rpcClient.protoQuery( + '/cosmos.gov.v1beta1.Query/TallyResult', + request, + types.gov_query_pb.QueryTallyResultResponse + ); } - - // =================== NOT SUPPORTED ==================== // - // submitSoftwareUpgradeProposal; // - // submitSystemHaltProposal; // - // =================== NOT SUPPORTED ==================== // } diff --git a/src/modules/index.ts b/src/modules/index.ts index 6326518d..e9839b78 100644 --- a/src/modules/index.ts +++ b/src/modules/index.ts @@ -15,4 +15,4 @@ export * from './utils'; export * from './tendermint'; export * from './coinswap'; export * from './protobuf'; -export * from './nft'; +export * from './nft'; \ No newline at end of file diff --git a/src/modules/protobuf.ts b/src/modules/protobuf.ts index d07c564b..a20563d7 100644 --- a/src/modules/protobuf.ts +++ b/src/modules/protobuf.ts @@ -2,8 +2,6 @@ import { Client } from '../client'; import * as types from '../types'; import { SdkError, CODES } from '../errors'; -const slashing_pb = require('../types/proto-types/cosmos/slashing/v1beta1/slashing_pb'); - /** * ProtobufModel module allows you to deserialize protobuf serialize string * @@ -24,7 +22,7 @@ export class Protobuf { * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model * @return {[type]} Tx object */ - deserializeTx(tx:string, returnProtobufModel?:boolean):types.ValidatorSigningInfo|object{ + deserializeTx(tx:string, returnProtobufModel?:boolean):object{ if (!tx) { throw new SdkError('tx can not be empty'); } @@ -44,9 +42,10 @@ export class Protobuf { /** * Unpack protobuffer tx msg * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model + * @param {[type]} msg tx msg of proto any type * @return {[type]} message object */ - unpackMsg(msg:{typeUrl:string,value:string}, returnProtobufModel?:boolean):types.ValidatorSigningInfo|object|null{ + unpackMsg(msg:{typeUrl:string,value:string}, returnProtobufModel?:boolean):object|null{ if (!msg) { throw new SdkError('message can not be empty'); } @@ -144,6 +143,19 @@ export class Protobuf { messageModelClass = types.MsgBurnNFT.getModelClass(); break; } + //gov + case types.TxType.MsgSubmitProposal: { + messageModelClass = types.MsgSubmitProposal.getModelClass(); + break; + } + case types.TxType.MsgVote: { + messageModelClass = types.MsgVote.getModelClass(); + break; + } + case types.TxType.MsgDeposit: { + messageModelClass = types.MsgDeposit.getModelClass(); + break; + } default: { throw new SdkError("not exist tx type",CODES.InvalidType); } @@ -154,19 +166,68 @@ export class Protobuf { messageObj = messageObj.toObject(); messageObj.type = typeUrl; } + if (typeUrl == types.TxType.MsgSubmitProposal && messageObj.content && messageObj.content.typeUrl && messageObj.content.value) { + messageObj.content = this.unpackProposalContent(messageObj.content); + } return messageObj; }else{ return null; } } + /** + * Unpack protobuffer Proposal Content + * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model + * @param {[type]} content proposal Content of proto any type + * @return {[type]} message object + */ + unpackProposalContent(content:{typeUrl:string,value:string}, returnProtobufModel?:boolean):object|null{ + if (!content) { + return null; + } + let contentModelClass:any; + let typeUrl = content.typeUrl.replace(/^\//,''); + switch (typeUrl) { + case types.ProposalType.Text_Proposal: { + contentModelClass = types.gov_gov_pb.TextProposal; + break; + } + case types.ProposalType.Community_Pool_Spend_Proposal: { + contentModelClass = types.distribution_distribution_pb.CommunityPoolSpendProposal; + break; + } + case types.ProposalType.Parameter_Change_Proposal: { + contentModelClass = types.params_params_pb.ParameterChangeProposal; + break; + } + case types.ProposalType.Software_Upgrade_Proposal: { + contentModelClass = types.upgrade_upgrade_pb.SoftwareUpgradeProposal; + break; + } + case types.ProposalType.Cancel_Software_Upgrade_Proposal: { + contentModelClass = types.upgrade_upgrade_pb.CancelSoftwareUpgradeProposal; + break; + } + } + if (contentModelClass && contentModelClass.deserializeBinary) { + let contentObj = contentModelClass.deserializeBinary(content.value); + if (!returnProtobufModel && contentObj && contentObj.toObject) { + contentObj = contentObj.toObject(); + contentObj.type = typeUrl; + } + return contentObj; + }else{ + return null; + } + } + /** * deserialize SignDoc * @param {[type]} signDoc:string base64 string * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model * @return {[type]} signDoc object */ - deserializeSignDoc(signDoc:string, returnProtobufModel?:boolean):types.ValidatorSigningInfo|object{ + deserializeSignDoc(signDoc:string, returnProtobufModel?:boolean):object{ if (!signDoc) { throw new SdkError('signDoc can not be empty'); } @@ -183,7 +244,7 @@ export class Protobuf { * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model * @return {[type]} txRaw object */ - deserializeTxRaw(txRaw:string, returnProtobufModel?:boolean):types.ValidatorSigningInfo|object{ + deserializeTxRaw(txRaw:string, returnProtobufModel?:boolean):object{ if (!txRaw) { throw new SdkError('txRaw can not be empty'); } @@ -205,9 +266,9 @@ export class Protobuf { throw new SdkError('signing info can not be empty'); } if (returnProtobufModel) { - return slashing_pb.ValidatorSigningInfo.deserializeBinary(signingInfo); + return types.slashing_slashing_pb.ValidatorSigningInfo.deserializeBinary(signingInfo); }else{ - return slashing_pb.ValidatorSigningInfo.deserializeBinary(signingInfo).toObject(); + return types.slashing_slashing_pb.ValidatorSigningInfo.deserializeBinary(signingInfo).toObject(); } } @@ -217,7 +278,7 @@ export class Protobuf { * @param {[type]} returnProtobufModel:bool If true, return the Protobuf model * @return {[type]} pubKey object */ - deserializePubkey(pubKey:{typeUrl:string, value:string}, returnProtobufModel?:boolean):types.ValidatorSigningInfo|object{ + deserializePubkey(pubKey:{typeUrl:string, value:string}, returnProtobufModel?:boolean):object{ if (!pubKey) { throw new SdkError('pubKey can not be empty'); } diff --git a/src/modules/tx.ts b/src/modules/tx.ts index df15c473..89b340dd 100644 --- a/src/modules/tx.ts +++ b/src/modules/tx.ts @@ -94,11 +94,11 @@ export class Tx { return this.broadcastTxCommit(txBytes); case types.BroadcastMode.Sync: return this.broadcastTxSync(txBytes).then(response => { - return this.newTxResult(response.hash); + return this.newTxResult(response); }); default: return this.broadcastTxAsync(txBytes).then(response => { - return this.newTxResult(response.hash); + return this.newTxResult(response); }); } } @@ -114,6 +114,7 @@ export class Tx { async sign( stdTx: types.ProtoTx, baseTx: types.BaseTx, + offline:boolean = false ): Promise { if (is.empty(baseTx.from)) { throw new SdkError(`baseTx.from of the key can not be empty`); @@ -130,24 +131,25 @@ export class Tx { throw new SdkError(`Key with name '${baseTx.from}' not found`,CODES.KeyNotFound); } - let accountNumber = baseTx.account_number??'0'; - let sequence = baseTx.sequence || '0'; - - if (!baseTx.account_number || !baseTx.sequence) { - const account = await this.client.auth.queryAccount(keyObj.address); - if ( account.accountNumber ) { accountNumber = String(account.accountNumber) || '0' } - if ( account.sequence ) { sequence = String(account.sequence) || '0' } - } - // Query account info from block chain const privKey = this.client.config.keyDAO.decrypt(keyObj.privateKey, baseTx.password); if (!privKey) { throw new SdkError(`decrypto the private key error`,CODES.InvalidPassword); } + + let accountNumber = baseTx.account_number; + let sequence = baseTx.sequence; + // Query account info from block chain + if ((!baseTx.account_number || !baseTx.sequence) && !offline) { + const account = await this.client.auth.queryAccount(keyObj.address); + accountNumber = account.accountNumber??0; + sequence = account.sequence??0; + } + if (!stdTx.hasPubKey()) { const pubKey = Crypto.getPublicKeyFromPrivateKey(privKey, baseTx.pubkeyType); - stdTx.setPubKey(pubKey, sequence || undefined); + stdTx.setPubKey(pubKey, sequence??undefined); } - const signature = Crypto.generateSignature(stdTx.getSignDoc(accountNumber || undefined, this.client.config.chainId).serializeBinary(), privKey, baseTx.pubkeyType); + const signature = Crypto.generateSignature(stdTx.getSignDoc(accountNumber??undefined, baseTx.chainId || this.client.config.chainId).serializeBinary(), privKey, baseTx.pubkeyType); stdTx.addSignature(signature); return stdTx; } @@ -224,26 +226,19 @@ export class Tx { // Check tx error if (response.check_tx && response.check_tx.code > 0) { console.error(response.check_tx); - throw new SdkError(response.check_tx.log, response.check_tx.code); + throw new SdkError(response.check_tx.log, response.check_tx.code, response.check_tx.codespace); } // Deliver tx error if (response.deliver_tx && response.deliver_tx.code > 0) { console.error(response.deliver_tx); - throw new SdkError(response.deliver_tx.log, response.deliver_tx.code); + throw new SdkError(response.deliver_tx.log, response.deliver_tx.code, response.deliver_tx.codespace); } if (response.deliver_tx && response.deliver_tx.tags) { response.deliver_tx.tags = Utils.decodeTags(response.deliver_tx.tags); } - return { - hash: response.hash, - height: response.height, - gas_wanted: response.deliver_tx?.gas_wanted, - gas_used: response.deliver_tx?.gas_used, - info: response.deliver_tx?.info, - tags: response.deliver_tx?.tags, - }; + return this.newTxResult(response); }); } @@ -255,7 +250,7 @@ export class Tx { */ private broadcastTx( txBytes: Uint8Array, - method: string + method: string = types.RpcMethods.BroadcastTxAsync ): Promise { // Only accepts 'broadcast_tx_sync' and 'broadcast_tx_async' if ( @@ -273,9 +268,8 @@ export class Tx { }) .then(response => { if (response.code && response.code > 0) { - throw new SdkError(response.log, response.code); + throw new SdkError(response.log, response.code, response.codespace); } - return response; }); } @@ -291,19 +285,22 @@ export class Tx { // return copyStdTx; // } - private newTxResult( - hash: string, - height?: number, - deliverTx?: types.ResultTx - ): types.TxResult { - return { - hash, - height, - gas_wanted: deliverTx?.gas_wanted, - gas_used: deliverTx?.gas_used, - info: deliverTx?.info, - tags: deliverTx?.tags, - }; + private newTxResult(response:any): types.TxResult { + let result:types.TxResult = { hash:response.hash }; + if (response.height) { + result = { ...result, height:response.height }; + } + if (response.deliver_tx) { + result = { + ...result, + log: response.deliver_tx?.log || '', + info: response.deliver_tx?.info || '', + gas_wanted: response.deliver_tx?.gas_wanted || 0, + gas_used: response.deliver_tx?.gas_used || 0, + events: response.deliver_tx?.events || [], + } + } + return result; } /** @@ -404,6 +401,19 @@ export class Tx { msg = new types.MsgBurnNFT(txMsg.value) break; } + //gov + case types.TxType.MsgSubmitProposal: { + msg = new types.MsgSubmitProposal(txMsg.value) + break; + } + case types.TxType.MsgVote: { + msg = new types.MsgVote(txMsg.value) + break; + } + case types.TxType.MsgDeposit: { + msg = new types.MsgDeposit(txMsg.value) + break; + } default: { throw new SdkError("not exist tx type",CODES.InvalidType); } diff --git a/src/nets/rpc-client.ts b/src/nets/rpc-client.ts index 7c0555c0..702a49ab 100644 --- a/src/nets/rpc-client.ts +++ b/src/nets/rpc-client.ts @@ -60,7 +60,7 @@ export class RpcClient { // Internal error if (res.error) { console.error(res.error); - throw new SdkError(res.error.message, res.error.code); + throw new SdkError(res.error.message, res.error.code, `rpc_${method}`); } return res.result; @@ -100,12 +100,12 @@ export class RpcClient { return response.response.value; } } else if (response.response.code) { - throw new SdkError(response.response.log, response.response.code); + throw new SdkError(response.response.log, response.response.code, response.response.codespace); } else{ return null; } } - throw new SdkError(`Internal Error from ${path}:${response.response.log}`); + throw new SdkError(`Internal Error from ${path}:${response.response.log}`,response.response.code, response.response.codespace); }); } @@ -149,12 +149,12 @@ export class RpcClient { // if (res.type && res.value) return res.value; // return res; } else if (response.response.code) { - throw new SdkError(response.response.log, response.response.code); + throw new SdkError(response.response.log, response.response.code, response.response.codespace); } else{ return null; } } - throw new SdkError(`Internal Error from ${path}:${response.response.log}`); + throw new SdkError(`Internal Error from ${path}:${response.response.log}`, response.response.code, response.response.codespace); }); } diff --git a/src/types/auth.ts b/src/types/auth.ts index 24fdc80c..1818eb3d 100644 --- a/src/types/auth.ts +++ b/src/types/auth.ts @@ -35,9 +35,11 @@ export interface BaseTx { fee?: Coin | undefined; memo?: string | undefined; /** Account_number required for offline signatures */ - account_number?: string | undefined; + account_number?: number | undefined; /** Sequence required for offline signatures */ - sequence?: string | undefined; + sequence?: number | undefined; + /** chainId required for offline signatures */ + chainId?:string, pubkeyType?: PubkeyType; /** default secp256k1 */ mode?: BroadcastMode | undefined; } diff --git a/src/types/distribution.ts b/src/types/distribution.ts index a13219f9..97f00028 100644 --- a/src/types/distribution.ts +++ b/src/types/distribution.ts @@ -61,27 +61,6 @@ export class MsgSetWithdrawAddress extends Msg { } } -/** - * Msg struct for delegation withdraw for all of the delegator's delegations - * @hidden - */ -export class MsgWithdrawDelegatorRewardsAll extends Msg { - value: { - delegator_addr: string; - }; - - constructor(delegatorAddr: string) { - super('irishub/distr/MsgWithdrawDelegationRewardsAll') - this.value = { - delegator_addr: delegatorAddr, - }; - } - - getSignBytes(): object { - return this; - } -} - /** * Msg struct for delegation withdraw from a single validator * @hidden @@ -198,27 +177,6 @@ export class MsgFundCommunityPool extends Msg { } } -// /** -// * Msg struct for validator withdraw -// * @hidden -// */ -// export class MsgWithdrawValidatorRewardsAll extends Msg { -// value: { -// validator_addr: string; -// }; - -// constructor(validatorAddr: string) { -// super('irishub/distr/MsgWithdrawValidatorRewardsAll') -// this.value = { -// validator_addr: validatorAddr, -// }; -// } - -// getSignBytes(): object { -// return this; -// } -// } - /** Common rewards struct */ export interface Rewards { /** Total rewards */ diff --git a/src/types/gov.ts b/src/types/gov.ts index 87f42b8c..2e147345 100644 --- a/src/types/gov.ts +++ b/src/types/gov.ts @@ -1,333 +1,460 @@ -import { Coin, Msg } from './types'; +import { Coin, Msg, TxType } from './types'; +import { TxModelCreator } from '../helper'; +import * as pbs from "./proto"; import { SdkError, CODES } from '../errors'; + /** - * Proposal Types - * @hidden + * param struct for Submit Proposal tx */ -export enum ProposalType { - Parameter = 0x01, - SoftwareUpgrade = 0x02, - SystemHalt = 0x03, - CommunityTaxUsage = 0x04, - PlainText = 0x05, - TokenAddition = 0x06, +export interface SubmitProposalTxParam { + content:{ type:string, value:any}; + initial_deposit:Coin[]; + proposer: string } /** - * Types for community tax usage + * Msg for Submit Proposal + * + * @hidden */ -export enum CommunityTaxUsageType { - Burn = 0x01, - Distribute = 0x02, - Grant = 0x03, +export class MsgSubmitProposal extends Msg { + value: SubmitProposalTxParam; + + constructor(msg:SubmitProposalTxParam) { + super(TxType.MsgSubmitProposal); + this.value = msg; + } + + static getModelClass():any{ + return pbs.gov_tx_pb.MsgSubmitProposal; + } + + getModel():any{ + let msg = new ((this.constructor as any).getModelClass())(); + let contentMsg:any; + switch (this.value.content.type){ + case ProposalType.Text_Proposal: + contentMsg = new pbs.gov_gov_pb.TextProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + break; + case ProposalType.Community_Pool_Spend_Proposal: + contentMsg = new pbs.distribution_distribution_pb.CommunityPoolSpendProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + contentMsg.setRecipient(this.value.content.value.recipient); + this.value.content.value.amount.forEach((item:Coin)=>{ + contentMsg.addAmount(TxModelCreator.createCoinModel(item.denom, item.amount)); + }); + break; + case ProposalType.Parameter_Change_Proposal: + contentMsg = new pbs.params_params_pb.ParameterChangeProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + this.value.content.value.changes.forEach((item:ParamChange)=>{ + let paramChangeMsg = new pbs.params_params_pb.ParamChange(); + paramChangeMsg.setSubspace(item.subspace); + paramChangeMsg.setKey(item.key); + paramChangeMsg.setValue(item.value); + contentMsg.addChanges(paramChangeMsg); + }); + break; + case ProposalType.Software_Upgrade_Proposal: + let planMSg = new pbs.upgrade_upgrade_pb.Plan(); + planMSg.setName(this.value.content.value.plan.name); + if (this.value.content.value.plan.time) { + let timestampMsg = new pbs.google_protobuf_timestamp_pb.Timestamp(); + timestampMsg.setSeconds(parseInt(String(this.value.content.value.plan.time.seconds))); + timestampMsg.setNanos(parseInt(String(this.value.content.value.plan.time.nanos))); + planMSg.setTime(timestampMsg); + } + if (this.value.content.value.plan.height) { + planMSg.setHeight(this.value.content.value.plan.height); + } + if (this.value.content.value.plan.info) { + planMSg.setInfo(this.value.content.value.plan.info); + } + // if (this.value.content.value.plan.upgraded_client_state) { + // planMSg.setUpgradedClientState(...); + // } + + contentMsg = new pbs.upgrade_upgrade_pb.SoftwareUpgradeProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + contentMsg.setPlan(planMSg); + + break; + case ProposalType.Cancel_Software_Upgrade_Proposal: + contentMsg = new pbs.upgrade_upgrade_pb.CancelSoftwareUpgradeProposal(); + contentMsg.setTitle(this.value.content.value.title); + contentMsg.setDescription(this.value.content.value.description); + break; + } + + if (!contentMsg) { + throw new SdkError("Proposal type not supported"); + } + + msg.setContent(TxModelCreator.createAnyModel(this.value.content.type, contentMsg.serializeBinary())); + + + this.value.initial_deposit.forEach((item)=>{ + msg.addInitialDeposit(TxModelCreator.createCoinModel(item.denom, item.amount)); + }); + msg.setProposer(this.value.proposer); + + + return msg; + } + + validate() { + if (!this.value.content) { + throw new SdkError("content is empty"); + } + if (!(this.value.initial_deposit && this.value.initial_deposit.length)) { + throw new SdkError("initial_deposit is empty"); + } + if (!this.value.proposer) { + throw new SdkError("proposer is empty"); + } + } } + /** - * Vote options + * param struct for Vote tx */ -export enum VoteOption { - Empty = 0x00, - Yes = 0x01, - Abstain = 0x02, - No = 0x03, - NoWithVeto = 0x04, +export interface VoteTxParam { + proposal_id:number; + voter:string; + option: VoteOption } /** - * Basic proposal result properties + * Msg for Vote + * + * @hidden */ -export interface BasicProposalResult { - proposal_id: string; - title: string; - description: string; - proposal_type: string; - proposal_status: string; - tally_result: TallyResult; - submit_time: string; - deposit_end_time: string; - total_deposit: Coin[]; - voting_start_time: string; - voting_end_time: string; - proposer: string; -} - -/** Voting statistics of a proposal */ -export interface TallyResult { - yes: string; - abstain: string; - no: string; - no_with_veto: string; - system_voting_power: string; -} +export class MsgVote extends Msg { + value: VoteTxParam; -/** Integrated proposal result properties */ -export interface ProposalResult { - /** Basic properties */ - BasicProposal: BasicProposalResult; - /** Software upgrade properties */ - ProtocolDefinition: { - version: string; - software: string; - height: string; - threshold: string; - }; - /** Parameter change properties */ - Params: { - key: string; - value: string; - }; - /** Community tax usage properties */ - TaxUsage: { - usage: string; - dest_address: string; - percent: string; - }; - /** Token addition properties */ - f_token: { - base_token: { - id: string; - family: string; - source: string; - gateway: string; - symbol: string; - name: string; - decimal: number; - canonical_symbol: string; - min_unit_alias: string; - initial_supply: string; - max_supply: string; - mintable: boolean; - owner: string; - }; - }; -} + constructor(msg:VoteTxParam) { + super(TxType.MsgVote); + this.value = msg; + } -/** Params for querying proposals */ -export interface QueryProposalsParams { - /** Bech32 voter address */ - voter?: string; - /** Bech32 depositor address */ - depositor?: string; - /** Proposal status: passed / rejected */ - proposalStatus?: string; - /** Limit to the latest [number] of proposals. Default to all proposals */ - limit?: number; -} + static getModelClass():any{ + return pbs.gov_tx_pb.MsgVote; + } -/** Voting result */ -export interface VoteResult { - /** Bech32 voter address */ - voter: string; - /** Proposal ID */ - proposal_id: string; - /** Vote option */ - option: string; -} + getModel():any{ + let msg = new ((this.constructor as any).getModelClass())(); + msg.setProposalId(this.value.proposal_id); + msg.setVoter(this.value.voter); + msg.setOption(this.value.option); + return msg; + } -/** Parameter to change */ -export interface ChangeParameter { - /** Subspace of the parameter, e.g. `mint` is the subspace of `mint/Inflation` */ - subspace: string; - /** Key of the parameter, e.g. `Inflation` is the key of `mint/Inflation` */ - key: string; - /** New value of the parameter */ - value: string; + validate() { + if (!this.value.proposal_id) { + throw new SdkError("proposal_id is empty"); + } + if (!this.value.voter) { + throw new SdkError("proposer is empty"); + } + if (typeof this.value.option == 'undefined') { + throw new SdkError("proposer is empty"); + } + } } -/** - * Base params for submitting a proposal - * @hidden +/** + * param struct for Deposit tx */ -export interface BaseProposal { - proposal_type?: string; - title: string; - description: string; - proposer: string; - initial_deposit: Coin[]; - params?: ChangeParameter[] | null; +export interface DepositTxParam { + proposal_id:number; + depositor:string; + amount: Coin[] } -// ------------------- ParameterChangeProposal ------------------------- - -/** - * Params for submitting a ParameterChangeProposal - * @hidden - */ -export interface ParameterChangeProposal extends BaseProposal {} - /** - * Msg struct for submitting a ParameterChangeProposal + * Msg for Deposit + * * @hidden */ -export class MsgSubmitParameterChangeProposal extends Msg { - value: ParameterChangeProposal; +export class MsgDeposit extends Msg { + value: DepositTxParam; - constructor(params: ParameterChangeProposal) { - super('irishub/gov/MsgSubmitProposal'); - params.proposal_type = ProposalType[ProposalType.Parameter]; - this.value = params; + constructor(msg:DepositTxParam) { + super(TxType.MsgDeposit); + this.value = msg; } - getSignBytes(): object { - return this.value; + static getModelClass():any{ + return pbs.gov_tx_pb.MsgDeposit; } - marshal(): Msg { - return { - type: this.type, - value: { - proposal_type: ProposalType.Parameter, - title: this.value.title, - description: this.value.description, - proposer: this.value.proposer, - initial_deposit: this.value.initial_deposit, - params: this.value.params, - }, - } as Msg; + getModel():any{ + let msg = new ((this.constructor as any).getModelClass())(); + msg.setProposalId(this.value.proposal_id); + msg.setDepositor(this.value.depositor); + this.value.amount.forEach((item)=>{ + msg.addAmount(TxModelCreator.createCoinModel(item.denom, item.amount)); + }); + return msg; } -} -// ------------------- PlainTextProposal ------------------------- + validate() { + if (!this.value.proposal_id) { + throw new SdkError("proposal_id is empty"); + } + if (!this.value.depositor) { + throw new SdkError("depositor is empty"); + } + if (!(this.value.amount && this.value.amount.length)) { + throw new SdkError("amount is empty"); + } + } +} -/** - * Params for submitting a PlainTextProposal - * @hidden +/** + * ProposalStatus enumerates the valid statuses of a proposal. */ -export interface PlainTextProposal extends BaseProposal {} +export enum ProposalType { + Text_Proposal = 'cosmos.gov.v1beta1.TextProposal', + Community_Pool_Spend_Proposal = 'cosmos.distribution.v1beta1.CommunityPoolSpendProposal', + Parameter_Change_Proposal = 'cosmos.params.v1beta1.ParameterChangeProposal', + Software_Upgrade_Proposal = 'cosmos.upgrade.v1beta1.SoftwareUpgradeProposal', + Cancel_Software_Upgrade_Proposal = 'cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal', + // Client_Update_Proposal = 'ibc.core.client.v1.ClientUpdateProposal' +} /** - * Msg struct for submitting a PlainTextProposal - * @hidden + * param struct for Text Proposal */ -export class MsgSubmitPlainTextProposal extends Msg { - value: PlainTextProposal; - - constructor(params: PlainTextProposal) { - super('irishub/gov/MsgSubmitProposal'); - params.proposal_type = ProposalType[ProposalType.PlainText]; - params.params = null; // TODO: Historical issue: Proposals except `ParameterChange` must specify the `params` to be null - this.value = params; - } +export interface TextProposal { + title: string; + description: string; +} - getSignBytes(): object { - return this.value; - } +/** + * param struct for Community Pool Spend Proposal + */ +export interface CommunityPoolSpendProposal extends TextProposal { + recipient: string; + amount: Coin[]; +} - marshal(): Msg { - return { - type: this.type, - value: { - proposal_type: ProposalType.PlainText, - title: this.value.title, - description: this.value.description, - proposer: this.value.proposer, - initial_deposit: this.value.initial_deposit, - }, - } as Msg; - } +/** + * param struct for Param Change + */ +export interface ParamChange { + subspace: string; + key: string; + value: string; } -// ------------------- CommunityTaxUsageProposal ------------------------- +/** + * param struct for Parameter Change Proposal + */ +export interface ParameterChangeProposal extends TextProposal { + changes: ParamChange[]; +} -/** - * Params for submitting a CommunityTaxUsageProposal - * @hidden +/** + * param struct for Cancel Software Upgrade Proposal */ -export interface CommunityTaxUsageProposal extends BaseProposal { - usage: string; - dest_address: string; - percent: string; +export interface CancelSoftwareUpgradeProposal extends TextProposal{ + } /** - * Msg struct for submitting a CommunityTaxUsageProposal - * @hidden + * param struct for Plan specifies information about a planned upgrade and when it should occur. */ -export class MsgSubmitCommunityTaxUsageProposal extends Msg { - value: CommunityTaxUsageProposal; - - constructor(params: CommunityTaxUsageProposal) { - super('irishub/gov/MsgSubmitCommunityTaxUsageProposal') - params.proposal_type = ProposalType[ProposalType.CommunityTaxUsage]; - params.params = null; // TODO: Historical issue: Proposals except `ParameterChange` must specify the `params` to be null - this.value = params; - } +export interface SoftwareUpgradePlan { + name: string; + time?: timestamp; + height?:number; + info?:string; + // upgraded_client_state:any; //not implement +} - getSignBytes(): object { - return this.value; - } +/** + * param struct for Software Upgrade Proposal + */ +export interface SoftwareUpgradeProposal extends TextProposal{ + plan:SoftwareUpgradePlan; +} - marshal(): Msg { - return { - type: this.type, - value: { - proposal_type: ProposalType.CommunityTaxUsage, - title: this.value.title, - description: this.value.description, - proposer: this.value.proposer, - initial_deposit: this.value.initial_deposit, - }, - } as Msg; - } +/** + * Vote options + */ +export enum VoteOption { + VOTE_OPTION_UNSPECIFIED = 0, + VOTE_OPTION_YES = 1, + VOTE_OPTION_ABSTAIN = 2, + VOTE_OPTION_NO = 3, + VOTE_OPTION_NO_WITH_VETO = 4 } /** - * Msg struct for depositing to an active proposal in `depositing` period - * @hidden + * ProposalStatus enumerates the valid statuses of a proposal. */ -export class MsgDeposit extends Msg { - value: { - proposal_id: string; - depositor: string; - amount: Coin[]; - }; +export enum ProposalStatus { + PROPOSAL_STATUS_UNSPECIFIED = 0, + PROPOSAL_STATUS_DEPOSIT_PERIOD = 1, + PROPOSAL_STATUS_VOTING_PERIOD = 2, + PROPOSAL_STATUS_PASSED = 3, + PROPOSAL_STATUS_REJECTED = 4, + PROPOSAL_STATUS_FAILED = 5, +} - constructor(proposalID: string, depositor: string, amount: Coin[]) { - super('irishub/gov/MsgDeposit'); - this.value = { - proposal_id: proposalID, - depositor, - amount, - }; - } +export interface timestamp { + seconds:number; + nanos:number; +} - getSignBytes(): object { - return this.value; - } + +/************************** ClientState **************************/ +export enum HashOp { + // NO_HASH is the default if no data passed. Note this is an illegal argument some places. + NO_HASH = 0, + SHA256 = 1, + SHA512 = 2, + KECCAK = 3, + RIPEMD160 = 4, + BITCOIN = 5 // ripemd160(sha256(x)) } /** - * Msg struct for voting to an active proposal in `voting` period - * @hidden +LengthOp defines how to process the key and value of the LeafOp +to include length information. After encoding the length with the given +algorithm, the length will be prepended to the key and value bytes. +(Each one with it's own encoded length) +*/ +export enum LengthOp { + // NO_PREFIX don't include any length info + NO_PREFIX = 0, + // VAR_PROTO uses protobuf (and go-amino) varint encoding of the length + VAR_PROTO = 1, + // VAR_RLP uses rlp int encoding of the length + VAR_RLP = 2, + // FIXED32_BIG uses big-endian encoding of the length as a 32 bit integer + FIXED32_BIG = 3, + // FIXED32_LITTLE uses little-endian encoding of the length as a 32 bit integer + FIXED32_LITTLE = 4, + // FIXED64_BIG uses big-endian encoding of the length as a 64 bit integer + FIXED64_BIG = 5, + // FIXED64_LITTLE uses little-endian encoding of the length as a 64 bit integer + FIXED64_LITTLE = 6, + // REQUIRE_32_BYTES is like NONE, but will fail if the input is not exactly 32 bytes (sha256 output) + REQUIRE_32_BYTES = 7, + // REQUIRE_64_BYTES is like NONE, but will fail if the input is not exactly 64 bytes (sha512 output) + REQUIRE_64_BYTES = 8 +} + +/* +InnerSpec contains all store-specific structure info to determine if two proofs from a +given store are neighbors. + +This enables: + + isLeftMost(spec: InnerSpec, op: InnerOp) + isRightMost(spec: InnerSpec, op: InnerOp) + isLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp) +*/ +export interface InnerSpec { + // Child order is the ordering of the children node, must count from 0 + // iavl tree is [0, 1] (left then right) + // merk is [0, 2, 1] (left, right, here) + child_order:number[]; + child_size:number; + min_prefix_length:number; + max_prefix_length:number; + // empty child is the prehash image that is used when one child is nil (eg. 20 bytes of 0) + empty_child:Uint8Array; + // hash is the algorithm that must be used for each InnerOp + hash:HashOp; +} + + + +/** +LeafOp represents the raw key-value data we wish to prove, and +must be flexible to represent the internal transformation from +the original key-value pairs into the basis hash, for many existing +merkle trees. + +key and value are passed in. So that the signature of this operation is: + leafOp(key, value) -> output + +To process this, first prehash the keys and values if needed (ANY means no hash in this case): + hkey = prehashKey(key) + hvalue = prehashValue(value) + +Then combine the bytes, and hash it + output = hash(prefix || length(hkey) || hkey || length(hvalue) || hvalue) +*/ +export interface LeafOp { + hash:HashOp; + prehash_key:HashOp; + prehash_value:HashOp; + length:LengthOp; + // prefix is a fixed bytes that may optionally be included at the beginning to differentiate + // a leaf node from an inner node. + prefix:Uint8Array; +} + +/** +ProofSpec defines what the expected parameters are for a given proof type. +This can be stored in the client and used to validate any incoming proofs. + + verify(ProofSpec, Proof) -> Proof | Error + +As demonstrated in tests, if we don't fix the algorithm used to calculate the +LeafHash for a given tree, there are many possible key-value pairs that can +generate a given hash (by interpretting the preimage differently). +We need this for proper security, requires client knows a priori what +tree format server uses. But not in code, rather a configuration object. +*/ +export interface ProofSpec{ + // any field in the ExistenceProof must be the same as in this spec. + // except Prefix, which is just the first bytes of prefix (spec can be longer) + leaf_spec:LeafOp; + inner_spec:InnerSpec; + // max_depth (if > 0) is the maximum number of InnerOps allowed (mainly for fixed-depth tries) + max_depth:number; + // min_depth (if > 0) is the minimum number of InnerOps allowed (mainly for fixed-depth tries) + min_depth:number; +} + +/** + * ClientState from Tendermint tracks the current validator set, latest height, and a possible frozen height. */ -export class MsgVote extends Msg { - value: { - proposal_id: string; - voter: string; - option: string; +export interface SoftwareUpgradeProposal { + chain_id:string; + trust_level:{ + numerator:number, + denominator:number + }, + trusting_period:timestamp; + unbonding_period:timestamp; + max_clock_drift:timestamp; + frozen_height:{ + revision_number:number, + revision_height:number + }; + latest_height:{ + revision_number:number, + revision_height:number }; + proof_specs:ProofSpec[]; + upgrade_path:string[]; + allow_update_after_expiry:boolean; + allow_update_after_misbehaviour:boolean; +} + + - constructor(proposalID: string, voter: string, option: VoteOption) { - super('irishub/gov/MsgVote'); - this.value = { - proposal_id: proposalID, - voter, - option: VoteOption[option], - }; - } - getSignBytes(): object { - return this.value; - } - marshal(): Msg { - return { - type: this.type, - value: { - proposal_id: this.value.proposal_id, - voter: this.value.voter, - option: (VoteOption as any)[this.value.option], - }, - } as Msg; - } -} diff --git a/src/types/proto.ts b/src/types/proto.ts index f147da9e..30c4fa49 100644 --- a/src/types/proto.ts +++ b/src/types/proto.ts @@ -9,6 +9,7 @@ export const slashing_tx_pb = require( './proto-types/cosmos/slashing/v1beta1/tx export const staking_tx_pb = require( './proto-types/cosmos/staking/v1beta1/tx_pb'); export const tx_tx_pb = require( './proto-types/cosmos/tx/v1beta1/tx_pb'); export const vesting_tx_pb = require( './proto-types/cosmos/vesting/v1beta1/tx_pb'); + //irismod tx export const coinswap_tx_pb= require( './proto-types/irismod/coinswap/tx_pb'); export const htlc_tx_pb= require( './proto-types/irismod/htlc/tx_pb'); @@ -32,6 +33,7 @@ export const params_query_pb = require( './proto-types/cosmos/params/v1beta1/que export const slashing_query_pb = require( './proto-types/cosmos/slashing/v1beta1/query_pb'); export const staking_query_pb = require( './proto-types/cosmos/staking/v1beta1/query_pb'); export const upgrade_query_pb = require( './proto-types/cosmos/upgrade/v1beta1/query_pb'); + //irismod query export const coinswap_query_pb = require( './proto-types/irismod/coinswap/query_pb'); export const htlc_query_pb = require( './proto-types/irismod/htlc/query_pb'); @@ -50,6 +52,21 @@ export const crypto_ed25519_keys_pb = require( './proto-types/cosmos/crypto/ed25 export const crypto_sm2_keys_pb = require( './proto-types/cosmos/crypto/sm2/keys_pb'); export const base_coin_pb = require('./proto-types/cosmos/base/v1beta1/coin_pb'); export const signing_signing_pb = require('./proto-types/cosmos/tx/signing/v1beta1/signing_pb'); +export const gov_gov_pb = require( './proto-types/cosmos/gov/v1beta1/gov_pb'); +export const distribution_distribution_pb = require( './proto-types/cosmos/distribution/v1beta1/distribution_pb'); +export const params_params_pb = require( './proto-types/cosmos/params/v1beta1/params_pb'); +export const upgrade_upgrade_pb = require( './proto-types/cosmos/upgrade/v1beta1/upgrade_pb'); +export const slashing_slashing_pb = require('./proto-types/cosmos/slashing/v1beta1/slashing_pb'); + +//ibc module +export const lightclients_tendermint_tendermint_pb = require( './proto-types/ibc/lightclients/tendermint/v1/tendermint_pb'); + +//confio module +export const confio_proofs_pb = require( './proto-types/confio/proofs_pb'); + +// google module +export const google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js'); +export const google_protobuf_duration_pb = require('google-protobuf/google/protobuf/duration_pb.js'); //irimod module export const token_token_pb = require( './proto-types/irismod/token/token_pb'); diff --git a/src/types/protoTx.ts b/src/types/protoTx.ts index 7962edf4..962d862c 100644 --- a/src/types/protoTx.ts +++ b/src/types/protoTx.ts @@ -16,8 +16,8 @@ export class ProtoTx { memo:string, stdFee:types.StdFee, chain_id:string, - account_number?:string, - sequence?:string, + account_number?:number, + sequence?:number, publicKey?:string|types.Pubkey }, protoTxModel?:any) { if (!properties && !protoTxModel) { @@ -61,9 +61,9 @@ export class ProtoTx { * @param {[string]} bech32/hex or object. if string, default Secp256k1 * @param {optional [number]} sequence */ - setPubKey(pubkey:string|types.Pubkey, sequence?:string){ - sequence = sequence || this.txData.sequence; - if (!sequence) { + setPubKey(pubkey:string|types.Pubkey, sequence?:number){ + sequence = sequence ?? this.txData.sequence; + if (typeof sequence == 'undefined') { throw new SdkError("sequence is empty",CODES.InvalidSequence); } let signerInfo = TxModelCreator.createSignerInfoModel(sequence, pubkey); @@ -74,11 +74,11 @@ export class ProtoTx { * Get SignDoc for signature * @returns SignDoc protobuf.Tx.SignDoc */ - getSignDoc(account_number?:string, chain_id?:string):any{ + getSignDoc(account_number?:number, chain_id?:string):any{ if (!this.hasPubKey()) { throw new SdkError("please set pubKey",CODES.InvalidPubkey); } - if (!account_number && !this.txData.account_number) { + if ( typeof account_number == 'undefined' && typeof this.txData.account_number == 'undefined') { throw new SdkError("account_number is empty",CODES.IncorrectAccountSequence); } if (!chain_id && !this.txData.chain_id) { @@ -87,7 +87,7 @@ export class ProtoTx { let signDoc = new types.tx_tx_pb.SignDoc(); signDoc.setBodyBytes(this.body.serializeBinary()); signDoc.setAuthInfoBytes(this.authInfo.serializeBinary()); - signDoc.setAccountNumber(String(account_number || this.txData.account_number)); + signDoc.setAccountNumber(account_number??this.txData.account_number); signDoc.setChainId(chain_id || this.txData.chain_id); return signDoc; } diff --git a/src/types/tx.ts b/src/types/tx.ts index 7115c78d..d9bdda42 100644 --- a/src/types/tx.ts +++ b/src/types/tx.ts @@ -7,16 +7,18 @@ export interface ResultBroadcastTxAsync { data: string; log: string; hash: string; + codespace: string; } /** SDK Tx Result */ export interface TxResult { hash: string; height?: number; - gas_used?: number; - gas_wanted?: number; + log?:string; info?: string; - tags?: Tag[]; + gas_wanted?: number; + gas_used?: number; + events?: object[][]; } /** BroadcastTx Result */ @@ -36,6 +38,8 @@ export interface ResultTx { gas_wanted: number; info: string; tags: Tag[]; + codespace: string; + events: any[]; } /** Tx query result */ diff --git a/src/types/types.ts b/src/types/types.ts index 4767a351..f0797d34 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -70,6 +70,10 @@ export enum TxType { MsgEditToken = 'irismod.token.MsgEditToken', MsgMintToken = 'irismod.token.MsgMintToken', MsgTransferTokenOwner = 'irismod.token.MsgTransferTokenOwner', + //gov + MsgSubmitProposal = "cosmos.gov.v1beta1.MsgSubmitProposal", + MsgVote = "cosmos.gov.v1beta1.MsgVote", + MsgDeposit = "cosmos.gov.v1beta1.MsgDeposit", } /** @@ -102,6 +106,7 @@ export interface JSONRPCResponse { id: string; error: JsonRpcError; result: T; + codespace?:string; } /** @@ -111,6 +116,7 @@ export interface JsonRpcError { code: number; message: string; data: string; + codespace?:string; } /** diff --git a/test/bank.test.ts b/test/bank.test.ts index 2790d418..ce92ce46 100644 --- a/test/bank.test.ts +++ b/test/bank.test.ts @@ -11,7 +11,7 @@ describe('Bank Tests', () => { const amount: types.Coin[] = [ { denom: 'ubif', - amount: '313', + amount: '1', }, ]; diff --git a/test/gov.test.ts b/test/gov.test.ts index 550d3c6d..0a1b521a 100644 --- a/test/gov.test.ts +++ b/test/gov.test.ts @@ -5,7 +5,7 @@ describe('Gov Tests', () => { describe('Query', () => { test('query proposal', async () => { await BaseTest.getClient().gov - .queryProposal(164) + .queryProposal(29) .then(res => { console.log(JSON.stringify(res)); }) @@ -16,8 +16,7 @@ describe('Gov Tests', () => { test('query proposals', async () => { await BaseTest.getClient().gov .queryProposals({ - limit: 1, - }) + },1,100) .then(res => { console.log(JSON.stringify(res)); }) @@ -27,7 +26,7 @@ describe('Gov Tests', () => { }); test('query vote', async () => { await BaseTest.getClient().gov - .queryVote(1, 'faa1rug6dlx3rugu50ha0a35at6fwv2sss9l9amknx') + .queryVote(13, 'iaa176dd0tgn38grpc8hpxfmwl6sl8jfmkneg8mkxr') .then(res => { console.log(JSON.stringify(res)); }) @@ -37,7 +36,17 @@ describe('Gov Tests', () => { }); test('query votes', async () => { await BaseTest.getClient().gov - .queryVotes(2) + .queryVotes(13) + .then(res => { + console.log(JSON.stringify(res)); + }) + .catch(error => { + console.log(error); + }); + }); + test('query Params', async () => { + await BaseTest.getClient().gov + .queryParams('deposit') .then(res => { console.log(JSON.stringify(res)); }) @@ -47,7 +56,7 @@ describe('Gov Tests', () => { }); test('query deposit', async () => { await BaseTest.getClient().gov - .queryDeposit(260, 'faa1rug6dlx3rugu50ha0a35at6fwv2sss9l9amknx') + .queryDeposit(15, 'iaa14wmlevjxxnshdhc8vrpj0eq5q4wuujeevktx90') .then(res => { console.log(JSON.stringify(res)); }) @@ -57,7 +66,7 @@ describe('Gov Tests', () => { }); test('query deposits', async () => { await BaseTest.getClient().gov - .queryDeposits(260) + .queryDeposits(15) .then(res => { console.log(JSON.stringify(res)); }) @@ -67,7 +76,7 @@ describe('Gov Tests', () => { }); test('query tally', async () => { await BaseTest.getClient().gov - .queryTally(260) + .queryTallyResult(29) .then(res => { console.log(JSON.stringify(res)); }) @@ -79,29 +88,58 @@ describe('Gov Tests', () => { const initDeposit: types.Coin[] = [ { - denom: 'iris-atto', - amount: '1000000000000000000000', + denom: 'ubif', + amount: '100', }, ]; - describe('Submit ParameterChange Proposal', () => { + + describe('Submit PlainText Proposal', () => { + test( + 'submitPlainTextProposal', + async () => { + await BaseTest.getClient().gov + .submitProposal( + { + type:types.ProposalType.Text_Proposal, + value:{ + title:'1111', + description:'1111' + } + }, + initDeposit, + BaseTest.baseTx) + .then(res => { + console.log(JSON.stringify(res)); + }) + .catch(error => { + console.log(error); + }); + } + ); + }); + + describe('Submit Parameter Change Proposal', () => { test( 'submitParameterChangeProposal', async () => { - const params: types.ChangeParameter[] = [ - { - subspace: 'slashing', - key: 'MaxEvidenceAge', - value: '51840', - }, - ]; - await BaseTest.getClient() - .gov.submitParameterChangeProposal( - 'Title', - 'Desc', - initDeposit, - params, - BaseTest.baseTx - ) + await BaseTest.getClient().gov + .submitProposal( + { + type:types.ProposalType.Parameter_Change_Proposal, + value:{ + title:'3333', + description:'3333', + changes:[ + { + subspace: 'staking', + key: 'MaxValidators', + value: '4', + } + ] + } + }, + initDeposit, + BaseTest.baseTx) .then(res => { console.log(JSON.stringify(res)); }) @@ -112,12 +150,23 @@ describe('Gov Tests', () => { ); }); - describe('Submit PlainText Proposal', () => { + describe('Submit Community Pool Spend Proposal', () => { test( - 'submitPlainTextProposal', + 'Submit CommunityPoolSpendProposal', async () => { await BaseTest.getClient().gov - .submitPlainTextProposal('Title', 'Desc', initDeposit, BaseTest.baseTx) + .submitProposal( + { + type:types.ProposalType.Community_Pool_Spend_Proposal, + value:{ + title:'1111', + description:'1111', + recipient: 'iaa176dd0tgn38grpc8hpxfmwl6sl8jfmkneg8mkxr', + amount: [{denom: 'ubif',amount: '100'}] + } + }, + initDeposit, + BaseTest.baseTx) .then(res => { console.log(JSON.stringify(res)); }) @@ -128,20 +177,54 @@ describe('Gov Tests', () => { ); }); - describe('Submit CommunityTaxUsag Proposal', () => { + describe('Submit Software Upgrade Proposal', () => { test( - 'submitCommunityTaxUsageProposal', + 'submitSoftwareUpgradeProposal', async () => { - await BaseTest.getClient() - .gov.submitCommunityTaxUsageProposal( - 'Title', - 'Desc', - initDeposit, - types.CommunityTaxUsageType.Distribute, - 'faa1rug6dlx3rugu50ha0a35at6fwv2sss9l9amknx', - 0.5, - BaseTest.baseTx - ) + await BaseTest.getClient().gov + .submitProposal( + { + type:types.ProposalType.Software_Upgrade_Proposal, + value:{ + title:'6666', + description:'6666', + plan:{ + name:'6666', + time:{ + seconds: new Date().getTime()/1000 + 3000, + nanos:0 + }, + info:'123123', + } + } + }, + initDeposit, + BaseTest.baseTx) + .then(res => { + console.log(JSON.stringify(res)); + }) + .catch(error => { + console.log(error); + }); + } + ); + }); + + describe('Submit Cancel Software Upgrade Proposal', () => { + test( + 'submitCancelSoftwareUpgradeProposal', + async () => { + await BaseTest.getClient().gov + .submitProposal( + { + type:types.ProposalType.Cancel_Software_Upgrade_Proposal, + value:{ + title:'5555', + description:'5555' + } + }, + initDeposit, + BaseTest.baseTx) .then(res => { console.log(JSON.stringify(res)); }) @@ -158,13 +241,8 @@ describe('Gov Tests', () => { async () => { await BaseTest.getClient() .gov.deposit( - 1, - [ - { - denom: 'iris-atto', - amount: '1000000000000000000000', - }, - ], + 29, + initDeposit, BaseTest.baseTx ) .then(res => { @@ -182,7 +260,7 @@ describe('Gov Tests', () => { 'vote', async () => { await BaseTest.getClient().gov - .vote(1, types.VoteOption.Yes, BaseTest.baseTx) + .vote(29, types.VoteOption.VOTE_OPTION_YES, BaseTest.baseTx) .then(res => { console.log(JSON.stringify(res)); }) diff --git a/test/tx.test.ts b/test/tx.test.ts index 98ff5ee8..30f79d1b 100644 --- a/test/tx.test.ts +++ b/test/tx.test.ts @@ -6,8 +6,8 @@ let timeout = 9999; describe('Tx Tests', () => { const amount: types.Coin[] = [ { - denom: 'stake', - amount: '1', + denom: 'ubif', + amount: '100', }, ]; @@ -15,7 +15,7 @@ describe('Tx Tests', () => { { type:types.TxType.MsgSend, value:{ - from_address:'iaa14x8a7y88py9xkvkxzld3jxhgpjpm03whruzwzp', + from_address:'iaa176dd0tgn38grpc8hpxfmwl6sl8jfmkneg8mkxr', to_address:'iaa1eqvkfthtrr93g4p9qspp54w6dtjtrn27ar7rpw', amount } @@ -26,7 +26,7 @@ describe('Tx Tests', () => { { type:types.TxType.MsgSend, value:{ - from_address:'iaa14x8a7y88py9xkvkxzld3jxhgpjpm03whruzwzp', + from_address:'iaa176dd0tgn38grpc8hpxfmwl6sl8jfmkneg8mkxr', to_address:'iaa1eqvkfthtrr93g4p9qspp54w6dtjtrn27ar7rpw', amount } @@ -34,7 +34,7 @@ describe('Tx Tests', () => { { type:types.TxType.MsgSend, value:{ - from_address:'iaa14x8a7y88py9xkvkxzld3jxhgpjpm03whruzwzp', + from_address:'iaa176dd0tgn38grpc8hpxfmwl6sl8jfmkneg8mkxr', to_address:'iaa1eqvkfthtrr93g4p9qspp54w6dtjtrn27ar7rpw', amount } @@ -44,19 +44,18 @@ describe('Tx Tests', () => { describe('watch/cold wallet', () => { test('watch/cold wallet tx', async () => { let baseTx = {...BaseTest.baseTx}; - baseTx.account_number = '8'; - baseTx.sequence = '356'; + baseTx.account_number = 2; + baseTx.sequence = 40; + baseTx.chainId = BaseTest.getClient().config.chainId; // watch wallet let unsignedStdTx = BaseTest.getClient().tx.buildTx(msgs, baseTx); - let unsignedTxModel = unsignedStdTx.getProtoModel(); - let unsignedTxStr = Buffer.from(unsignedTxModel.serializeBinary()).toString('base64'); + let unsignedTxStr = Buffer.from(unsignedStdTx.getData()).toString('base64'); // cold wallet - let recover_unsigned_tx_model = BaseTest.getClient().protobuf.deserializeTx(unsignedTxStr, true); - let recover_unsigned_std_tx = BaseTest.getClient().tx.newStdTxFromProtoTxModel(recover_unsigned_tx_model); - let recover_signed_std_tx = await BaseTest.getClient().tx.sign(recover_unsigned_std_tx, baseTx); - let recover_signed_std_tx_str = Buffer.from(recover_signed_std_tx.getProtoModel().serializeBinary()).toString('base64'); + let recover_unsigned_std_tx = BaseTest.getClient().tx.newStdTxFromTxData(unsignedTxStr); + let recover_signed_std_tx = await BaseTest.getClient().tx.sign(recover_unsigned_std_tx, baseTx, true); + let recover_signed_std_tx_str = Buffer.from(recover_signed_std_tx.getData()).toString('base64'); // watch wallet - let signed_std_tx = BaseTest.getClient().tx.newStdTxFromProtoTxModel(BaseTest.getClient().protobuf.deserializeTx(recover_signed_std_tx_str, true)); + let signed_std_tx = BaseTest.getClient().tx.newStdTxFromTxData(recover_signed_std_tx_str); await BaseTest.getClient().tx.broadcast(signed_std_tx, baseTx.mode).then(res=>{ console.log(res); }).catch(error => { diff --git a/yarn.lock b/yarn.lock index 5deef3e9..fcadd5dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,9 +3,9 @@ "@babel/cli@^7.0.0": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.12.10.tgz#67a1015b1cd505bde1696196febf910c4c339a48" - integrity sha512-+y4ZnePpvWs1fc/LhZRTHkTesbXkyBYuOB+5CyodZqrEuETXi3zOVfpAQIdgC3lXbHLTDG9dQosxR9BhvLKDLQ== + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.12.13.tgz#ae2c6a75fa43f3db4bca0659799b0dfca3f5212b" + integrity sha512-Zto3HPeE0GRmaxobUl7NvFTo97NKe1zdAuWqTO8oka7nE0IIqZ4CFvuRZe1qf+ZMd7eHMhwqrecjwc10mjXo/g== dependencies: commander "^4.0.1" convert-source-map "^1.1.0" @@ -19,42 +19,31 @@ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents" chokidar "^3.4.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.8.6", "@babel/compat-data@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" - integrity sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g== - dependencies: - browserslist "^4.9.1" - invariant "^2.2.4" - semver "^5.5.0" - -"@babel/core@^7.0.0": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" - integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.10" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.10" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/compat-data@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.13.tgz#27e19e0ed3726ccf54067ced4109501765e7e2e8" + integrity sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg== + +"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.7.5": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.13.tgz#b73a87a3a3e7d142a66248bf6ad88b9ceb093425" + integrity sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.12.13" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helpers" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" @@ -63,467 +52,341 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" - integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.0" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.9.0" - "@babel/parser" "^7.9.0" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.10", "@babel/generator@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" - integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== - dependencies: - "@babel/types" "^7.12.11" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.9.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.4.tgz#12441e90c3b3c4159cdecf312075bf1a8ce2dbce" - integrity sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA== +"@babel/generator@^7.12.13": + version "7.12.15" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz#4617b5d0b25cc572474cc1aafee1edeaf9b5368f" + integrity sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ== dependencies: - "@babel/types" "^7.9.0" + "@babel/types" "^7.12.13" jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" - integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw== +"@babel/helper-annotate-as-pure@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" + integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.13" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" - integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" + integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== dependencies: - "@babel/helper-explode-assignable-expression" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-explode-assignable-expression" "^7.12.13" + "@babel/types" "^7.12.13" -"@babel/helper-compilation-targets@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" - integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== +"@babel/helper-compilation-targets@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz#d689cdef88810aa74e15a7a94186f26a3d773c98" + integrity sha512-dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw== dependencies: - "@babel/compat-data" "^7.8.6" - browserslist "^4.9.1" - invariant "^2.2.4" - levenary "^1.1.1" + "@babel/compat-data" "^7.12.13" + "@babel/helper-validator-option" "^7.12.11" + browserslist "^4.14.5" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.8.3": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.5.tgz#79753d44017806b481017f24b02fd4113c7106ea" - integrity sha512-IipaxGaQmW4TfWoXdqjY0TzoXQ1HRS0kPpEgvjosb3u7Uedcq297xFqDQiCcQtRRwzIMif+N1MLVI8C5a4/PAA== - dependencies: - "@babel/helper-function-name" "^7.9.5" - "@babel/helper-member-expression-to-functions" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-split-export-declaration" "^7.8.3" - -"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" - integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-regex" "^7.8.3" - regexpu-core "^4.7.0" - -"@babel/helper-define-map@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" - integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/types" "^7.8.3" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" - integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== - dependencies: - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-function-name@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" - integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA== +"@babel/helper-create-class-features-plugin@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz#0f1707c2eec1a4604f2a22a6fb209854ef2a399a" + integrity sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q== dependencies: - "@babel/helper-get-function-arity" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/types" "^7.12.11" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" -"@babel/helper-function-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" - integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== +"@babel/helper-create-regexp-features-plugin@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz#0996d370a92896c612ae41a4215544bd152579c0" + integrity sha512-XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw== dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" + "@babel/helper-annotate-as-pure" "^7.12.13" + regexpu-core "^4.7.1" -"@babel/helper-function-name@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" - integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw== +"@babel/helper-explode-assignable-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz#0e46990da9e271502f77507efa4c9918d3d8634a" + integrity sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw== dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.9.5" + "@babel/types" "^7.12.13" -"@babel/helper-get-function-arity@^7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" - integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== +"@babel/helper-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== dependencies: - "@babel/types" "^7.12.10" + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" -"@babel/helper-get-function-arity@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" - integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.13" -"@babel/helper-hoist-variables@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" - integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== +"@babel/helper-hoist-variables@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz#13aba58b7480b502362316ea02f52cca0e9796cd" + integrity sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.13" -"@babel/helper-member-expression-to-functions@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855" - integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== +"@babel/helper-member-expression-to-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz#c5715695b4f8bab32660dbdcdc2341dec7e3df40" + integrity sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ== dependencies: - "@babel/types" "^7.12.7" + "@babel/types" "^7.12.13" -"@babel/helper-member-expression-to-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" - integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== +"@babel/helper-module-imports@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" + integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== dependencies: - "@babel/types" "^7.8.3" + "@babel/types" "^7.12.13" -"@babel/helper-module-imports@^7.12.1": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" - integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== +"@babel/helper-module-transforms@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz#01afb052dcad2044289b7b20beb3fa8bd0265bea" + integrity sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA== dependencies: - "@babel/types" "^7.12.5" - -"@babel/helper-module-imports@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" - integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-module-transforms@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" - integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-simple-access" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-simple-access" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" lodash "^4.17.19" -"@babel/helper-module-transforms@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" - integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== +"@babel/helper-optimise-call-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" + integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-simple-access" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/template" "^7.8.6" - "@babel/types" "^7.9.0" - lodash "^4.17.13" + "@babel/types" "^7.12.13" -"@babel/helper-optimise-call-expression@^7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d" - integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== - dependencies: - "@babel/types" "^7.12.10" +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb" + integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA== -"@babel/helper-optimise-call-expression@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" - integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== +"@babel/helper-remap-async-to-generator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz#170365f4140e2d20e5c88f8ba23c24468c296878" + integrity sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA== dependencies: - "@babel/types" "^7.8.3" + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-wrap-function" "^7.12.13" + "@babel/types" "^7.12.13" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" - integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== - -"@babel/helper-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" - integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" - integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-wrap-function" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-replace-supers@^7.12.1": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d" - integrity sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA== +"@babel/helper-replace-supers@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz#00ec4fb6862546bd3d0aff9aac56074277173121" + integrity sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg== dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.7" - "@babel/helper-optimise-call-expression" "^7.12.10" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.11" + "@babel/helper-member-expression-to-functions" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" -"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8" - integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA== +"@babel/helper-simple-access@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4" + integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA== dependencies: - "@babel/helper-member-expression-to-functions" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/traverse" "^7.8.6" - "@babel/types" "^7.8.6" + "@babel/types" "^7.12.13" -"@babel/helper-simple-access@^7.12.1": +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" - integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== dependencies: "@babel/types" "^7.12.1" -"@babel/helper-simple-access@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" - integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== - dependencies: - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-split-export-declaration@^7.11.0", "@babel/helper-split-export-declaration@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a" - integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g== +"@babel/helper-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== dependencies: - "@babel/types" "^7.12.11" + "@babel/types" "^7.12.13" -"@babel/helper-split-export-declaration@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" - integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.12.11": +"@babel/helper-validator-identifier@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/helper-validator-identifier@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" - integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== - -"@babel/helper-validator-identifier@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" - integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== - -"@babel/helper-wrap-function@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" - integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helpers@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" - integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" +"@babel/helper-validator-option@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f" + integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw== -"@babel/helpers@^7.9.0": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" - integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== +"@babel/helper-wrap-function@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz#e3ea8cb3ee0a16911f9c1b50d9e99fe8fe30f9ff" + integrity sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw== dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" + "@babel/helper-function-name" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== +"@babel/helpers@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.13.tgz#3c75e993632e4dadc0274eae219c73eb7645ba47" + integrity sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ== dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" -"@babel/highlight@^7.8.3": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" - integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== +"@babel/highlight@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== dependencies: - "@babel/helper-validator-identifier" "^7.9.0" + "@babel/helper-validator-identifier" "^7.12.11" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" - integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== - -"@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" - integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13": + version "7.12.15" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.15.tgz#2b20de7f0b4b332d9b119dd9c33409c538b8aacf" + integrity sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA== -"@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" - integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== +"@babel/plugin-proposal-async-generator-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz#d1c6d841802ffb88c64a2413e311f7345b9e66b5" + integrity sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-remap-async-to-generator" "^7.12.13" "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-class-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" - integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== +"@babel/plugin-proposal-class-properties@^7.12.13", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz#3d2ce350367058033c93c098e348161d6dc0d8c8" + integrity sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-proposal-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" - integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== +"@babel/plugin-proposal-dynamic-import@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" - integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== +"@babel/plugin-proposal-export-namespace-from@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" + integrity sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz#ced7888a2db92a3d520a2e35eb421fdb7fcc9b5d" + integrity sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" - integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== +"@babel/plugin-proposal-logical-assignment-operators@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz#575b5d9a08d8299eeb4db6430da6e16e5cf14350" + integrity sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz#24867307285cee4e1031170efd8a7ac807deefde" + integrity sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" - integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== +"@babel/plugin-proposal-numeric-separator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db" + integrity sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.0.tgz#a28993699fc13df165995362693962ba6b061d6f" - integrity sha512-UgqBv6bjq4fDb8uku9f+wcm1J7YxJ5nT7WO/jBr0cl0PLKb7t1O6RNR1kZbjgx2LQtsDI9hwoQVmn0yhXeQyow== +"@babel/plugin-proposal-object-rest-spread@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz#f93f3116381ff94bc676fdcb29d71045cd1ec011" + integrity sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.13" -"@babel/plugin-proposal-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" - integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== +"@babel/plugin-proposal-optional-catch-binding@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz#4640520afe57728af14b4d1574ba844f263bcae5" + integrity sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" - integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== +"@babel/plugin-proposal-optional-chaining@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz#63a7d805bc8ce626f3234ee5421a2a7fb23f66d9" + integrity sha512-0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" - integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== +"@babel/plugin-proposal-private-methods@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz#ea78a12554d784ecf7fc55950b752d469d9c4a71" + integrity sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.8" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-async-generators@^7.8.0": +"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" + integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-bigint@^7.0.0": +"@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-dynamic-import@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" @@ -531,395 +394,425 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-json-strings@^7.8.0": +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" - integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": +"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": +"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0": +"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" - integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== +"@babel/plugin-syntax-top-level-await@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" + integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-typescript@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz#c1f659dda97711a569cef75275f7e15dcaa6cabc" - integrity sha512-GO1MQ/SGGGoiEXY0e0bSpHimJvxqB7lktLLIq2pv8xG7WZ8IMEle74jIe1FhprHBWjwjZtXHkycDLZXIWM5Wfg== +"@babel/plugin-syntax-typescript@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" + integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" - integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== +"@babel/plugin-transform-arrow-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz#eda5670b282952100c229f8a3bd49e0f6a72e9fe" + integrity sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" - integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== +"@babel/plugin-transform-async-to-generator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz#fed8c69eebf187a535bfa4ee97a614009b24f7ae" + integrity sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A== dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-remap-async-to-generator" "^7.12.13" -"@babel/plugin-transform-block-scoped-functions@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" - integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== +"@babel/plugin-transform-block-scoped-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" + integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-block-scoping@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" - integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== +"@babel/plugin-transform-block-scoping@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61" + integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - lodash "^4.17.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-classes@^7.9.0": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.2.tgz#8603fc3cc449e31fdbdbc257f67717536a11af8d" - integrity sha512-TC2p3bPzsfvSsqBZo0kJnuelnoK9O3welkUpqSqBQuBF6R5MN2rysopri8kNvtlGIb2jmUO7i15IooAZJjZuMQ== +"@babel/plugin-transform-classes@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz#9728edc1838b5d62fc93ad830bd523b1fcb0e1f6" + integrity sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-define-map" "^7.8.3" - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" - integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== +"@babel/plugin-transform-computed-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz#6a210647a3d67f21f699cfd2a01333803b27339d" + integrity sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-destructuring@^7.8.3": - version "7.8.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz#fadb2bc8e90ccaf5658de6f8d4d22ff6272a2f4b" - integrity sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ== +"@babel/plugin-transform-destructuring@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz#fc56c5176940c5b41735c677124d1d20cecc9aeb" + integrity sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" - integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== +"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" + integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-duplicate-keys@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" - integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== +"@babel/plugin-transform-duplicate-keys@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" + integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-exponentiation-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" - integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== +"@babel/plugin-transform-exponentiation-operator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" + integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-for-of@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" - integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== +"@babel/plugin-transform-for-of@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz#561ff6d74d9e1c8879cb12dbaf4a14cd29d15cf6" + integrity sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-function-name@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" - integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== +"@babel/plugin-transform-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" + integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" - integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== +"@babel/plugin-transform-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" + integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-member-expression-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" - integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== +"@babel/plugin-transform-member-expression-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" + integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-modules-amd@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" - integrity sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== +"@babel/plugin-transform-modules-amd@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz#43db16249b274ee2e551e2422090aa1c47692d56" + integrity sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA== dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" - integrity sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== +"@babel/plugin-transform-modules-commonjs@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz#5043b870a784a8421fa1fd9136a24f294da13e50" + integrity sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ== dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-simple-access" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-simple-access" "^7.12.13" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" - integrity sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== +"@babel/plugin-transform-modules-systemjs@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz#351937f392c7f07493fc79b2118201d50404a3c5" + integrity sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA== dependencies: - "@babel/helper-hoist-variables" "^7.8.3" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-hoist-variables" "^7.12.13" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" - integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== +"@babel/plugin-transform-modules-umd@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz#26c66f161d3456674e344b4b1255de4d530cfb37" + integrity sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w== dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" - integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" + integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" -"@babel/plugin-transform-new-target@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" - integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== +"@babel/plugin-transform-new-target@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" + integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-object-super@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" - integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== +"@babel/plugin-transform-object-super@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" + integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" -"@babel/plugin-transform-parameters@^7.8.7": - version "7.9.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.3.tgz#3028d0cc20ddc733166c6e9c8534559cee09f54a" - integrity sha512-fzrQFQhp7mIhOzmOtPiKffvCYQSK10NR8t6BBz2yPbeUHb9OLW8RZGtgDRBn8z2hGcwvKDL3vC7ojPTLNxmqEg== +"@babel/plugin-transform-parameters@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz#461e76dfb63c2dfd327b8a008a9e802818ce9853" + integrity sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA== dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-property-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" - integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== +"@babel/plugin-transform-property-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" + integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-regenerator@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" - integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== +"@babel/plugin-transform-regenerator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz#b628bcc9c85260ac1aeb05b45bde25210194a2f5" + integrity sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" - integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== +"@babel/plugin-transform-reserved-words@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" + integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-runtime@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" - integrity sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== + version "7.12.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz#4337b2507288007c2b197059301aa0af8d90c085" + integrity sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow== dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - resolve "^1.8.1" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" - integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== +"@babel/plugin-transform-shorthand-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" + integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" - integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== +"@babel/plugin-transform-spread@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz#ca0d5645abbd560719c354451b849f14df4a7949" + integrity sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" -"@babel/plugin-transform-sticky-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" - integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== +"@babel/plugin-transform-sticky-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" + integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-regex" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-template-literals@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" - integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== +"@babel/plugin-transform-template-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz#655037b07ebbddaf3b7752f55d15c2fd6f5aa865" + integrity sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg== dependencies: - "@babel/helper-annotate-as-pure" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-typeof-symbol@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" - integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== +"@babel/plugin-transform-typeof-symbol@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" + integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-transform-typescript@^7.9.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.4.tgz#4bb4dde4f10bbf2d787fce9707fb09b483e33359" - integrity sha512-yeWeUkKx2auDbSxRe8MusAG+n4m9BFY/v+lPjmQDgOFX5qnySkUY5oXzkp6FwPdsYqnKay6lorXYdC0n3bZO7w== +"@babel/plugin-transform-typescript@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.13.tgz#8bcb5dd79cb8bba690d6920e19992d9228dfed48" + integrity sha512-z1VWskPJxK9tfxoYvePWvzSJC+4pxXr8ArmRm5ofqgi+mwpKg6lvtomkIngBYMJVnKhsFYVysCQLDn//v2RHcg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-typescript" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-typescript" "^7.12.13" -"@babel/plugin-transform-unicode-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" - integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== +"@babel/plugin-transform-unicode-escapes@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" + integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/preset-env@^7.7.6": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" - integrity sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ== +"@babel/plugin-transform-unicode-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" + integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== dependencies: - "@babel/compat-data" "^7.9.0" - "@babel/helper-compilation-targets" "^7.8.7" - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-async-generator-functions" "^7.8.3" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.9.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/preset-env@^7.7.6": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.13.tgz#3aa2d09cf7d255177538dff292ac9af29ad46525" + integrity sha512-JUVlizG8SoFTz4LmVUL8++aVwzwxcvey3N0j1tRbMAXVEy95uQ/cnEkmEKHN00Bwq4voAV3imQGnQvpkLAxsrw== + dependencies: + "@babel/compat-data" "^7.12.13" + "@babel/helper-compilation-targets" "^7.12.13" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-option" "^7.12.11" + "@babel/plugin-proposal-async-generator-functions" "^7.12.13" + "@babel/plugin-proposal-class-properties" "^7.12.13" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.13" + "@babel/plugin-proposal-json-strings" "^7.12.13" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.13" + "@babel/plugin-proposal-numeric-separator" "^7.12.13" + "@babel/plugin-proposal-object-rest-spread" "^7.12.13" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" + "@babel/plugin-proposal-optional-chaining" "^7.12.13" + "@babel/plugin-proposal-private-methods" "^7.12.13" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.8.3" - "@babel/plugin-transform-async-to-generator" "^7.8.3" - "@babel/plugin-transform-block-scoped-functions" "^7.8.3" - "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.9.0" - "@babel/plugin-transform-computed-properties" "^7.8.3" - "@babel/plugin-transform-destructuring" "^7.8.3" - "@babel/plugin-transform-dotall-regex" "^7.8.3" - "@babel/plugin-transform-duplicate-keys" "^7.8.3" - "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.9.0" - "@babel/plugin-transform-function-name" "^7.8.3" - "@babel/plugin-transform-literals" "^7.8.3" - "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.9.0" - "@babel/plugin-transform-modules-commonjs" "^7.9.0" - "@babel/plugin-transform-modules-systemjs" "^7.9.0" - "@babel/plugin-transform-modules-umd" "^7.9.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.8.3" - "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.8.7" - "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.7" - "@babel/plugin-transform-reserved-words" "^7.8.3" - "@babel/plugin-transform-shorthand-properties" "^7.8.3" - "@babel/plugin-transform-spread" "^7.8.3" - "@babel/plugin-transform-sticky-regex" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/plugin-transform-typeof-symbol" "^7.8.4" - "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.12.13" + "@babel/plugin-transform-async-to-generator" "^7.12.13" + "@babel/plugin-transform-block-scoped-functions" "^7.12.13" + "@babel/plugin-transform-block-scoping" "^7.12.13" + "@babel/plugin-transform-classes" "^7.12.13" + "@babel/plugin-transform-computed-properties" "^7.12.13" + "@babel/plugin-transform-destructuring" "^7.12.13" + "@babel/plugin-transform-dotall-regex" "^7.12.13" + "@babel/plugin-transform-duplicate-keys" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.12.13" + "@babel/plugin-transform-function-name" "^7.12.13" + "@babel/plugin-transform-literals" "^7.12.13" + "@babel/plugin-transform-member-expression-literals" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.12.13" + "@babel/plugin-transform-modules-commonjs" "^7.12.13" + "@babel/plugin-transform-modules-systemjs" "^7.12.13" + "@babel/plugin-transform-modules-umd" "^7.12.13" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" + "@babel/plugin-transform-new-target" "^7.12.13" + "@babel/plugin-transform-object-super" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.12.13" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.12.13" + "@babel/plugin-transform-reserved-words" "^7.12.13" + "@babel/plugin-transform-shorthand-properties" "^7.12.13" + "@babel/plugin-transform-spread" "^7.12.13" + "@babel/plugin-transform-sticky-regex" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.12.13" + "@babel/plugin-transform-typeof-symbol" "^7.12.13" + "@babel/plugin-transform-unicode-escapes" "^7.12.13" + "@babel/plugin-transform-unicode-regex" "^7.12.13" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.9.0" - browserslist "^4.9.1" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" + "@babel/types" "^7.12.13" + core-js-compat "^3.8.0" semver "^5.5.0" "@babel/preset-modules@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" - integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" @@ -928,102 +821,54 @@ esutils "^2.0.2" "@babel/preset-typescript@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" - integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.13.tgz#c859c7c075c531d2cc34c2516b214e5d884efe5c" + integrity sha512-gYry7CeXwD2wtw5qHzrtzKaShEhOfTmKb4i0ZxeYBcBosN5VuAudsNbjX7Oj5EAfQ3K4s4HsVMQRRcqGsPvs2A== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-typescript" "^7.9.0" - -"@babel/runtime@^7.0.0": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" - integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== - dependencies: - regenerator-runtime "^0.13.4" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-option" "^7.12.11" + "@babel/plugin-transform-typescript" "^7.12.13" -"@babel/runtime@^7.8.4": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" - integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.8.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.13.tgz#0a21452352b02542db0ffb928ac2d3ca7cb6d66d" + integrity sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.10.4", "@babel/template@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" - integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.12.7" - "@babel/types" "^7.12.7" - -"@babel/template@^7.7.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" - integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.0.tgz#d3882c2830e513f4fe4cec9fe76ea1cc78747892" - integrity sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.0" - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.9.0" - "@babel/types" "^7.9.0" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5": - version "7.12.12" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" - integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w== - dependencies: - "@babel/code-frame" "^7.12.11" - "@babel/generator" "^7.12.11" - "@babel/helper-function-name" "^7.12.11" - "@babel/helper-split-export-declaration" "^7.12.11" - "@babel/parser" "^7.12.11" - "@babel/types" "^7.12.12" +"@babel/template@^7.12.13", "@babel/template@^7.3.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.13.tgz#689f0e4b4c08587ad26622832632735fb8c4e0c0" + integrity sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.12.13" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.0.tgz#00b064c3df83ad32b2dbf5ff07312b15c7f1efb5" - integrity sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng== - dependencies: - "@babel/helper-validator-identifier" "^7.9.0" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7": - version "7.12.12" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" - integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.13.tgz#8be1aa8f2c876da11a9cf650c0ecf656913ad611" + integrity sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ== dependencies: "@babel/helper-validator-identifier" "^7.12.11" lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444" - integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg== - dependencies: - "@babel/helper-validator-identifier" "^7.9.5" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1038,12 +883,13 @@ minimist "^1.2.0" "@istanbuljs/load-nyc-config@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz#10602de5570baea82f8afbfa2630b24e7a8cfe5b" - integrity sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: camelcase "^5.3.1" find-up "^4.1.0" + get-package-type "^0.1.0" js-yaml "^3.13.1" resolve-from "^5.0.0" @@ -1052,43 +898,44 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.2.6.tgz#f594847ec8aef3cf27f448abe97e76e491212e97" - integrity sha512-bGp+0PicZVCEhb+ifnW9wpKWONNdkhtJsRE7ap729hiAfTvCN6VhGx0s/l/V/skA2pnyqq+N/7xl9ZWfykDpsg== +"@jest/console@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" + integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== dependencies: - "@jest/source-map" "^25.2.6" + "@jest/types" "^25.5.0" chalk "^3.0.0" - jest-util "^25.2.6" + jest-message-util "^25.5.0" + jest-util "^25.5.0" slash "^3.0.0" -"@jest/core@^25.2.7": - version "25.2.7" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.2.7.tgz#58d697687e94ee644273d15e4eed6a20e27187cd" - integrity sha512-Nd6ELJyR+j0zlwhzkfzY70m04hAur0VnMwJXVe4VmmD/SaQ6DEyal++ERQ1sgyKIKKEqRuui6k/R0wHLez4P+g== +"@jest/core@^25.5.4": + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" + integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== dependencies: - "@jest/console" "^25.2.6" - "@jest/reporters" "^25.2.6" - "@jest/test-result" "^25.2.6" - "@jest/transform" "^25.2.6" - "@jest/types" "^25.2.6" + "@jest/console" "^25.5.0" + "@jest/reporters" "^25.5.1" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" ansi-escapes "^4.2.1" chalk "^3.0.0" exit "^0.1.2" - graceful-fs "^4.2.3" - jest-changed-files "^25.2.6" - jest-config "^25.2.7" - jest-haste-map "^25.2.6" - jest-message-util "^25.2.6" + graceful-fs "^4.2.4" + jest-changed-files "^25.5.0" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" jest-regex-util "^25.2.6" - jest-resolve "^25.2.6" - jest-resolve-dependencies "^25.2.7" - jest-runner "^25.2.7" - jest-runtime "^25.2.7" - jest-snapshot "^25.2.7" - jest-util "^25.2.6" - jest-validate "^25.2.6" - jest-watcher "^25.2.7" + jest-resolve "^25.5.1" + jest-resolve-dependencies "^25.5.4" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + jest-watcher "^25.5.0" micromatch "^4.0.2" p-each-series "^2.1.0" realpath-native "^2.0.0" @@ -1096,101 +943,112 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.2.6.tgz#8f7931e79abd81893ce88b7306f0cc4744835000" - integrity sha512-17WIw+wCb9drRNFw1hi8CHah38dXVdOk7ga9exThhGtXlZ9mK8xH4DjSB9uGDGXIWYSHmrxoyS6KJ7ywGr7bzg== +"@jest/environment@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" + integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== dependencies: - "@jest/fake-timers" "^25.2.6" - "@jest/types" "^25.2.6" - jest-mock "^25.2.6" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" -"@jest/fake-timers@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.2.6.tgz#239dbde3f56badf7d05bcf888f5d669296077cad" - integrity sha512-A6qtDIA2zg/hVgUJJYzQSHFBIp25vHdSxW/s4XmTJAYxER6eL0NQdQhe4+232uUSviKitubHGXXirt5M7blPiA== +"@jest/fake-timers@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" + integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== dependencies: - "@jest/types" "^25.2.6" - jest-message-util "^25.2.6" - jest-mock "^25.2.6" - jest-util "^25.2.6" + "@jest/types" "^25.5.0" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" lolex "^5.0.0" -"@jest/reporters@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.2.6.tgz#6d87e40fb15adb69e22bb83aa02a4d88b2253b5f" - integrity sha512-DRMyjaxcd6ZKctiXNcuVObnPwB1eUs7xrUVu0J2V0p5/aZJei5UM9GL3s/bmN4hRV8Mt3zXh+/9X2o0Q4ClZIA== +"@jest/globals@^25.5.2": + version "25.5.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" + integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/types" "^25.5.0" + expect "^25.5.0" + +"@jest/reporters@^25.5.1": + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" + integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^25.2.6" - "@jest/test-result" "^25.2.6" - "@jest/transform" "^25.2.6" - "@jest/types" "^25.2.6" + "@jest/console" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" chalk "^3.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.2" + graceful-fs "^4.2.4" istanbul-lib-coverage "^3.0.0" istanbul-lib-instrument "^4.0.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.0" - jest-haste-map "^25.2.6" - jest-resolve "^25.2.6" - jest-util "^25.2.6" - jest-worker "^25.2.6" + istanbul-reports "^3.0.2" + jest-haste-map "^25.5.1" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-worker "^25.5.0" slash "^3.0.0" source-map "^0.6.0" string-length "^3.1.0" terminal-link "^2.0.0" - v8-to-istanbul "^4.0.1" + v8-to-istanbul "^4.1.3" optionalDependencies: node-notifier "^6.0.0" -"@jest/source-map@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.2.6.tgz#0ef2209514c6d445ebccea1438c55647f22abb4c" - integrity sha512-VuIRZF8M2zxYFGTEhkNSvQkUKafQro4y+mwUxy5ewRqs5N/ynSFUODYp3fy1zCnbCMy1pz3k+u57uCqx8QRSQQ== +"@jest/source-map@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" + integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== dependencies: callsites "^3.0.0" - graceful-fs "^4.2.3" + graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.2.6.tgz#f6082954955313eb96f6cabf9fb14f8017826916" - integrity sha512-gmGgcF4qz/pkBzyfJuVHo2DA24kIgVQ5Pf/VpW4QbyMLSegi8z+9foSZABfIt5se6k0fFj/3p/vrQXdaOgit0w== +"@jest/test-result@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" + integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== dependencies: - "@jest/console" "^25.2.6" - "@jest/types" "^25.2.6" + "@jest/console" "^25.5.0" + "@jest/types" "^25.5.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^25.2.7": - version "25.2.7" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.2.7.tgz#e4331f7b4850e34289b9a5c8ec8a2c03b400da8f" - integrity sha512-s2uYGOXONDSTJQcZJ9A3Zkg3hwe53RlX1HjUNqjUy3HIqwgwCKJbnAKYsORPbhxXi3ARMKA7JNBi9arsTxXoYw== +"@jest/test-sequencer@^25.5.4": + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" + integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== dependencies: - "@jest/test-result" "^25.2.6" - jest-haste-map "^25.2.6" - jest-runner "^25.2.7" - jest-runtime "^25.2.7" + "@jest/test-result" "^25.5.0" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" -"@jest/transform@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.2.6.tgz#007fd946dedf12d2a9eb5d4154faf1991d5f61ff" - integrity sha512-rZnjCjZf9avPOf9q/w9RUZ9Uc29JmB53uIXNJmNz04QbDMD5cR/VjfikiMKajBsXe2vnFl5sJ4RTt+9HPicauQ== +"@jest/transform@^25.5.1": + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" + integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" babel-plugin-istanbul "^6.0.0" chalk "^3.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.3" - jest-haste-map "^25.2.6" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" jest-regex-util "^25.2.6" - jest-util "^25.2.6" + jest-util "^25.5.0" micromatch "^4.0.2" pirates "^4.0.1" realpath-native "^2.0.0" @@ -1198,10 +1056,10 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.2.6.tgz#c12f44af9bed444438091e4b59e7ed05f8659cb6" - integrity sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ== +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" @@ -1231,9 +1089,9 @@ integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@sinonjs/commons@^1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1" - integrity sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ== + version "1.8.2" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== dependencies: type-detect "4.0.8" @@ -1244,10 +1102,10 @@ dependencies: defer-to-connect "^1.0.1" -"@types/babel__core@^7.1.0": - version "7.1.7" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89" - integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw== +"@types/babel__core@^7.1.7": + version "7.1.12" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1256,36 +1114,38 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" - integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== + version "7.6.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.10" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.10.tgz#d9a99f017317d9b3d1abc2ced45d3bca68df0daf" - integrity sha512-74fNdUGrWsgIB/V9kTO5FGHPWYY6Eqn+3Z7L6Hc4e/BxjYV7puvBqp5HwsVYYfLm6iURYBNCx4Ut37OF9yitCw== + version "7.11.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== dependencies: "@babel/types" "^7.3.0" -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/graceful-fs@^4.1.2": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753" + integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg== + dependencies: + "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== "@types/istanbul-lib-report@*": version "3.0.0" @@ -1295,25 +1155,30 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" "@types/jest@^25.1.4": - version "25.2.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.1.tgz#9544cd438607955381c1bdbdb97767a249297db5" - integrity sha512-msra1bCaAeEdkSyA0CZ6gW1ukMIvZ5YoJkdXw/qhQdsuuDlFTcEUrUw8CLCPt2rVRUfXlClVvK2gvPs9IokZaA== + version "25.2.3" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" + integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== dependencies: jest-diff "^25.2.1" pretty-format "^25.2.1" +"@types/json-schema@^7.0.5": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + "@types/mathjs@^6.0.4": - version "6.0.5" - resolved "https://registry.yarnpkg.com/@types/mathjs/-/mathjs-6.0.5.tgz#c3ddcb6e283461e12a93943a5aca0588d1071c18" - integrity sha512-TqC+u57/XMwMoJB9KnvCj7sBoOBwLLS+O4kmBxy0cjkToPbKZt0jm0eYR2dbMKqvr/39ZdnoJ2qnK37qD0bp1A== + version "6.0.11" + resolved "https://registry.yarnpkg.com/@types/mathjs/-/mathjs-6.0.11.tgz#bf24c1ed875252274008d2c373bad07e0348adfb" + integrity sha512-q9B8ZreO41L38iTY76bCZEtAqzeRs4mNIOZpZ1sLSlcYgvgfFrnf8y8qfmas0tVWrsODjmQbQJFD6RJJJCqJbQ== dependencies: decimal.js "^10.0.0" @@ -1323,9 +1188,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "13.11.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.0.tgz#390ea202539c61c8fa6ba4428b57e05bc36dc47b" - integrity sha512-uM4mnmsIIPK/yeO+42F2RQhGUIs39K2RFmugcJANppXe6J1nvH87PvzPZYpza7Xhhs8Yn9yIAVdLZ84z61+0xQ== + version "14.14.25" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.25.tgz#15967a7b577ff81383f9b888aa6705d43fbbae93" + integrity sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ== "@types/node@10.12.18": version "10.12.18" @@ -1338,9 +1203,14 @@ integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== "@types/node@^10.0.3": - version "10.17.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.18.tgz#ae364d97382aacdebf583fa4e7132af2dfe56a0c" - integrity sha512-DQ2hl/Jl3g33KuAUOcMrcAOtsbzb+y/ufakzAdeK9z/H/xsvkpbETZZbPNMIiQuk24f5ZRMCcZIViAwyFIiKmg== + version "10.17.51" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.51.tgz#639538575befbcf3d3861f95c41de8e47124d674" + integrity sha512-KANw+MkL626tq90l++hGelbl67irOJzGhUJk6a1Bt8QHOeh9tztJx+L0AqttraWKinmZn7Qi5lJZJzx45Gq0dg== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/prettier@^1.19.0": version "1.19.1" @@ -1353,28 +1223,28 @@ integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== "@types/ws@^7.2.2": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.2.3.tgz#a3add56077ac6cc9396b9502c7252a1635922032" - integrity sha512-VT/GK7nvDA7lfHy40G3LKM+ICqmdIsBLBHGXcWD97MtqQEjNMX+7Gudo8YGpaSlYdTX7IFThhCE8Jx09HegymQ== + version "7.4.0" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.0.tgz#499690ea08736e05a8186113dac37769ab251a0e" + integrity sha512-Y29uQ3Uy+58bZrFLhX36hcI3Np37nqWE7ky5tjiDoy1GDZnIwVxS0CgF+s+1bXMzjKBFy+fqaRfb708iNzdinw== dependencies: "@types/node" "*" "@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== "@types/yargs@^15.0.0": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz#7e5d0f8ca25e9d5849f2ea443cf7c402decd8299" - integrity sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg== + version "15.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== dependencies: "@types/yargs-parser" "*" abab@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" - integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== acorn-globals@^4.3.2: version "4.3.4" @@ -1385,9 +1255,9 @@ acorn-globals@^4.3.2: acorn-walk "^6.0.1" acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== acorn-walk@^6.0.1: version "6.2.0" @@ -1395,24 +1265,24 @@ acorn-walk@^6.0.1: integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== acorn@^6.0.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== acorn@^7.1.0, acorn@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" - integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" - integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -1456,11 +1326,10 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" anymatch@^2.0.0: @@ -1521,14 +1390,15 @@ arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" asn1@~0.2.3: version "0.2.4" @@ -1562,11 +1432,6 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -1578,9 +1443,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" - integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== axios@^0.21.1: version "0.21.1" @@ -1589,34 +1454,34 @@ axios@^0.21.1: dependencies: follow-redirects "^1.10.0" -babel-jest@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.2.6.tgz#fe67ff4d0db3626ca8082da8881dd5e84e07ae75" - integrity sha512-MDJOAlwtIeIQiGshyX0d2PxTbV73xZMpNji40ivVTPQOm59OdRR9nYCkffqI7ugtsK4JR98HgNKbDbuVf4k5QQ== +babel-jest@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" + integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== dependencies: - "@jest/transform" "^25.2.6" - "@jest/types" "^25.2.6" - "@types/babel__core" "^7.1.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + "@types/babel__core" "^7.1.7" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.2.6" + babel-preset-jest "^25.5.0" chalk "^3.0.0" + graceful-fs "^4.2.4" slash "^3.0.0" babel-loader@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== dependencies: - find-cache-dir "^2.1.0" + find-cache-dir "^3.3.1" loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" + make-dir "^3.1.0" schema-utils "^2.6.5" -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" @@ -1631,21 +1496,39 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz#2af07632b8ac7aad7d414c1e58425d5fc8e84909" - integrity sha512-qE2xjMathybYxjiGFJg0mLFrz0qNp83aNZycWDY/SuHiZNq+vQfRQtuINqyXyue1ELd8Rd+1OhFSLjms8msMbw== +babel-plugin-jest-hoist@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" + integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" "@types/babel__traverse" "^7.0.6" -babel-preset-jest@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.2.6.tgz#5d3f7c99e2a8508d61775c9d68506d143b7f71b5" - integrity sha512-Xh2eEAwaLY9+SyMt/xmGZDnXTW/7pSaBPG0EMo7EuhvosFKVWYB6CqwYD31DaEQuoTL090oDZ0FEqygffGRaSQ== +babel-preset-current-node-syntax@^0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" + integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +babel-preset-jest@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" + integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== dependencies: - "@babel/plugin-syntax-bigint" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^25.2.6" + babel-plugin-jest-hoist "^25.5.0" + babel-preset-current-node-syntax "^0.1.2" backbone@^1.4.0: version "1.4.0" @@ -1687,9 +1570,9 @@ bcrypt-pbkdf@^1.0.0: tweetnacl "^0.14.3" bech32@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.3.tgz#bd47a8986bbb3eec34a56a097a84b8d3e9a2dfcd" - integrity sha512-yuVFUvrNcoJi0sv5phmqc6P+Fl1HjRDRNOOkHY2X/3LBy2bIGNSFx4fZ95HMaXHupuS7cZR15AsvtmCIF4UEyg== + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== big.js@^5.2.2: version "5.2.2" @@ -1714,9 +1597,9 @@ bindings@^1.3.0, bindings@^1.5.0: file-uri-to-path "1.0.0" bip32@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.5.tgz#e3808a9e97a880dbafd0f5f09ca4a1e14ee275d2" - integrity sha512-zVY4VvJV+b2fS0/dcap/5XLlpqtgwyN8oRkuGgAS1uLOeEp0Yo6Tw2yUTozTtlrMJO3G8n4g/KX/XGFHW6Pq3g== + version "2.0.6" + resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" + integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== dependencies: "@types/node" "10.12.18" bs58check "^2.1.1" @@ -1727,9 +1610,9 @@ bip32@^2.0.4: wif "^2.0.6" bip39@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.2.tgz#2baf42ff3071fc9ddd5103de92e8f80d9257ee32" - integrity sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.3.tgz#4a8b79067d6ed2e74f9199ac994a2ab61b176760" + integrity sha512-P0dKrz4g0V0BjXfx7d9QNkJ/Txcz/k+hM9TnjqjUaXtuOfAvxXSw2rJw8DX0e3ZPwnK/IgDxoRqf0bvoVCqbMg== dependencies: "@types/node" "11.11.6" create-hash "^1.1.0" @@ -1743,16 +1626,16 @@ bip66@^1.1.5: dependencies: safe-buffer "^5.0.1" -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.8, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -bn.js@^4.11.6: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9: version "4.11.9" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== + boxen@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb" @@ -1798,7 +1681,7 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1: +brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= @@ -1846,36 +1729,39 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserslist@^4.8.3, browserslist@^4.9.1: - version "4.11.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b" - integrity sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g== + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== dependencies: - caniuse-lite "^1.0.30001038" - electron-to-chromium "^1.3.390" - node-releases "^1.1.53" - pkg-up "^2.0.0" + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserslist@^4.14.5, browserslist@^4.16.1: + version "4.16.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== + dependencies: + caniuse-lite "^1.0.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" bs-logger@0.x: version "0.2.6" @@ -1950,6 +1836,14 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -1974,10 +1868,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001038: - version "1.0.30001039" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001039.tgz#b3814a1c38ffeb23567f8323500c09526a577bbe" - integrity sha512-SezbWCTT34eyFoWHgx8UWso7YtvtM7oosmFoXbCkdC6qJzRfBTeTgE9REtKtiuKXuMwWTZEvdnFNGAyVMorv8Q== +caniuse-lite@^1.0.30001181: + version "1.0.30001185" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz#3482a407d261da04393e2f0d61eefbc53be43b95" + integrity sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg== capture-exit@^2.0.0: version "2.0.0" @@ -2008,6 +1902,14 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -2052,9 +1954,9 @@ class-utils@^0.3.5: static-extend "^0.1.1" cli-boxes@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" - integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cli-cursor@^3.1.0: version "3.1.0" @@ -2063,10 +1965,10 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== cliui@^6.0.0: version "6.0.0" @@ -2126,6 +2028,11 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -2133,7 +2040,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.12.1, commander@~2.20.3: +commander@^2.12.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2197,12 +2104,12 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.6.2: - version "3.6.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" - integrity sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== +core-js-compat@^3.8.0: + version "3.8.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.3.tgz#9123fb6b9cad30f0651332dc77deba48ef9b0b3f" + integrity sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog== dependencies: - browserslist "^4.8.3" + browserslist "^4.16.1" semver "7.0.0" core-util-is@1.0.2, core-util-is@~1.0.0: @@ -2211,12 +2118,12 @@ core-util-is@1.0.2, core-util-is@~1.0.0: integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" @@ -2229,7 +2136,7 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4, create-hmac@^1.1.7: +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -2262,9 +2169,9 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: which "^1.2.9" cross-spawn@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6" - integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw== + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -2308,9 +2215,9 @@ cssom@~0.3.6: integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992" - integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== dependencies: cssom "~0.3.6" @@ -2345,11 +2252,11 @@ debug@^2.2.0, debug@^2.3.3: ms "2.0.0" debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: - ms "^2.1.1" + ms "2.1.2" decamelize-keys@^1.0.0: version "1.1.0" @@ -2365,9 +2272,9 @@ decamelize@^1.1.0, decamelize@^1.2.0: integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decimal.js@^10.0.0, decimal.js@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== decode-uri-component@^0.2.0: version "0.2.0" @@ -2401,7 +2308,7 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-properties@^1.1.2: +define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -2482,9 +2389,9 @@ domexception@^1.0.1: webidl-conversions "^4.0.2" dot-prop@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + version "4.2.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== dependencies: is-obj "^1.0.0" @@ -2520,23 +2427,23 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -electron-to-chromium@^1.3.390: - version "1.3.398" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.398.tgz#4c01e29091bf39e578ac3f66c1f157d92fa5725d" - integrity sha512-BJjxuWLKFbM5axH3vES7HKMQgAknq9PZHBkMK/rEXUQG9i1Iw5R+6hGkm6GtsQSANjSUrh/a6m32nzCNDNo/+w== +electron-to-chromium@^1.3.649: + version "1.3.657" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz#a9c307f2612681245738bb8d36d997cbb568d481" + integrity sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw== -elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" - integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== +elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" + bn.js "^4.11.9" + brorand "^1.1.0" hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emoji-regex@^7.0.1: version "7.0.3" @@ -2561,18 +2468,18 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: once "^1.4.0" enhanced-resolve@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" errno@^0.1.3: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" @@ -2583,6 +2490,11 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-latex@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/escape-latex/-/escape-latex-1.2.0.tgz#07c03818cf7dac250cce517f4fda1b001ef2bca1" @@ -2593,10 +2505,15 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escodegen@^1.11.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" - integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== dependencies: esprima "^4.0.1" estraverse "^4.2.0" @@ -2606,22 +2523,22 @@ escodegen@^1.11.1: source-map "~0.6.1" eslint-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-4.0.0.tgz#ab096ce9168fa167e4159afff66692c173fc7b79" - integrity sha512-QoaFRdh3oXt5i2uonSjO8dDnncsG05w7qvA7yYMvGDne8zAEk9R+R1rsfunp3OKVdO5mAJelf1x2Z1kYp664kA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-4.0.2.tgz#386a1e21bcb613b3cf2d252a3b708023ccfb41ec" + integrity sha512-EDpXor6lsjtTzZpLUn7KmXs02+nIjGcgees9BYjNkWra3jVq5vVa8IoCKgzT2M7dNNeoMBtaSG83Bd40N3poLw== dependencies: - fs-extra "^9.0.0" - loader-fs-cache "^1.0.3" + find-cache-dir "^3.3.1" + fs-extra "^8.1.0" loader-utils "^2.0.0" object-hash "^2.0.3" schema-utils "^2.6.5" eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - esrecurse "^4.1.0" + esrecurse "^4.3.0" estraverse "^4.1.1" eslint-utils@^1.4.3: @@ -2632,9 +2549,9 @@ eslint-utils@^1.4.3: eslint-visitor-keys "^1.1.0" eslint-visitor-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" - integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint@^6.8.0: version "6.8.0" @@ -2694,28 +2611,28 @@ esprima@^4.0.0, esprima@^4.0.1: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.2.0.tgz#a010a519c0288f2530b3404124bfb5f02e9797fe" - integrity sha512-weltsSqdeWIX9G2qQZz7KlTRJdkkOCTPgLYJUz1Hacf48R4YOwGPHO3+ORfWedqJKbq5WQmsgK90n+pFLIKt/Q== + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: - estraverse "^5.0.0" + estraverse "^5.1.0" -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - estraverse "^4.1.0" + estraverse "^5.2.0" -estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.0.0.tgz#ac81750b482c11cca26e4b07e83ed8f75fbcdc22" - integrity sha512-j3acdrMzqrxmJTNj5dbr1YbjacrYgAxVMeF0gK16E3j494mOe7xygM/ZLIguEQ0ETwAg2hlJCtHRGav+y0Ny5A== +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== esutils@^2.0.2: version "2.0.3" @@ -2723,9 +2640,9 @@ esutils@^2.0.2: integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== events@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -2800,16 +2717,16 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/expect/-/expect-25.2.7.tgz#509b79f47502835f4071ff3ecc401f2eaecca709" - integrity sha512-yA+U2Ph0MkMsJ9N8q5hs9WgWI6oJYfecdXta6LkP/alY/jZZL1MHlJ2wbLh60Ucqf3G+51ytbqV3mlGfmxkpNw== +expect@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" + integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" ansi-styles "^4.0.0" jest-get-type "^25.2.6" - jest-matcher-utils "^25.2.7" - jest-message-util "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" jest-regex-util "^25.2.6" extend-shallow@^2.0.1: @@ -2866,9 +2783,9 @@ extsprintf@^1.2.0: integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -2923,46 +2840,22 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== +find-cache-dir@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== dependencies: commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" + make-dir "^3.0.2" + pkg-dir "^4.1.0" -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -3010,9 +2903,9 @@ form-data@~2.3.2: mime-types "^2.1.12" fraction.js@^4.0.12: - version "4.0.12" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.12.tgz#0526d47c65a5fb4854df78bc77f7bec708d7b8c3" - integrity sha512-8Z1K0VTG4hzYY7kA/1sj4/r1/RWLBD3xwReT/RCrUCbzPszjNQCCsy3ktkU/eaEqX3MYa4pY37a52eiBlPMlhA== + version "4.0.13" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.13.tgz#3c1c315fa16b35c85fffa95725a36fa729c69dfe" + integrity sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA== fragment-cache@^0.2.1: version "0.2.1" @@ -3030,16 +2923,6 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3" - integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - fs-readdir-recursive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" @@ -3050,15 +2933,10 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== - -fsevents@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.1.tgz#b209ab14c61012636c8863507edf7fb68cc54e9f" - integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== +fsevents@^2.1.2, fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" @@ -3071,15 +2949,29 @@ functional-red-black-tree@^1.0.1: integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -3093,9 +2985,9 @@ get-stream@^4.0.0, get-stream@^4.1.0: pump "^3.0.0" get-stream@^5.0.0, get-stream@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" @@ -3179,10 +3071,10 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: + version "4.2.5" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.5.tgz#bc18864a6c9fc7b303f2e2abdb9155ad178fbe29" + integrity sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw== growly@^1.3.0: version "1.3.0" @@ -3229,11 +3121,11 @@ har-schema@^2.0.0: integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" has-flag@^3.0.0: @@ -3246,7 +3138,7 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0: +has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== @@ -3287,13 +3179,21 @@ has-yarn@^2.1.0: resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" @@ -3304,11 +3204,11 @@ hash.js@^1.0.0, hash.js@^1.0.3: minimalistic-assert "^1.0.1" highlight.js@^9.17.1: - version "9.18.1" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" - integrity sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg== + version "9.18.5" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" + integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== -hmac-drbg@^1.0.0: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -3366,9 +3266,9 @@ ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== import-fresh@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -3404,46 +3304,39 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ini@^1.3.4, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== inquirer@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" - integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: ansi-escapes "^4.2.1" - chalk "^3.0.0" + chalk "^4.1.0" cli-cursor "^3.1.0" - cli-width "^2.0.0" + cli-width "^3.0.0" external-editor "^3.0.3" figures "^3.0.0" - lodash "^4.17.15" + lodash "^4.17.19" mute-stream "0.0.8" run-async "^2.4.0" - rxjs "^6.5.3" + rxjs "^6.6.0" string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" interpret@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== ip-regex@^2.1.0: version "2.1.0" @@ -3495,6 +3388,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -3527,6 +3427,11 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" +is-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -3622,11 +3527,6 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3648,9 +3548,11 @@ is-windows@^1.0.2: integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-wsl@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" - integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" is-yarn-global@^0.3.0: version "0.3.0" @@ -3700,14 +3602,11 @@ istanbul-lib-coverage@^3.0.0: integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== istanbul-lib-instrument@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6" - integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg== + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== dependencies: "@babel/core" "^7.7.5" - "@babel/parser" "^7.7.5" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" "@istanbuljs/schema" "^0.1.2" istanbul-lib-coverage "^3.0.0" semver "^6.3.0" @@ -3730,7 +3629,7 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^3.0.0: +istanbul-reports@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== @@ -3743,108 +3642,110 @@ javascript-natural-sort@^0.7.1: resolved "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59" integrity sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k= -jest-changed-files@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.2.6.tgz#7d569cd6b265b1a84db3914db345d9c452f26b71" - integrity sha512-F7l2m5n55jFnJj4ItB9XbAlgO+6umgvz/mdK76BfTd2NGkvGf9x96hUXP/15a1K0k14QtVOoutwpRKl360msvg== +jest-changed-files@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" + integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" execa "^3.2.0" throat "^5.0.0" -jest-cli@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.2.7.tgz#515b61fee402c397ffa8d570532f7b039c3159f4" - integrity sha512-OOAZwY4Jkd3r5WhVM5L3JeLNFaylvHUczMLxQDVLrrVyb1Cy+DNJ6MVsb5TLh6iBklB42m5TOP+IbOgKGGOtMw== +jest-cli@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" + integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== dependencies: - "@jest/core" "^25.2.7" - "@jest/test-result" "^25.2.6" - "@jest/types" "^25.2.6" + "@jest/core" "^25.5.4" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" chalk "^3.0.0" exit "^0.1.2" + graceful-fs "^4.2.4" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^25.2.7" - jest-util "^25.2.6" - jest-validate "^25.2.6" + jest-config "^25.5.4" + jest-util "^25.5.0" + jest-validate "^25.5.0" prompts "^2.0.1" realpath-native "^2.0.0" yargs "^15.3.1" -jest-config@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.2.7.tgz#a14e5b96575987ce913dd9fc20ac8cd4b35a8c29" - integrity sha512-rIdPPXR6XUxi+7xO4CbmXXkE6YWprvlKc4kg1SrkCL2YV5m/8MkHstq9gBZJ19Qoa3iz/GP+0sTG/PcIwkFojg== +jest-config@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" + integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^25.2.7" - "@jest/types" "^25.2.6" - babel-jest "^25.2.6" + "@jest/test-sequencer" "^25.5.4" + "@jest/types" "^25.5.0" + babel-jest "^25.5.1" chalk "^3.0.0" deepmerge "^4.2.2" glob "^7.1.1" - jest-environment-jsdom "^25.2.6" - jest-environment-node "^25.2.6" + graceful-fs "^4.2.4" + jest-environment-jsdom "^25.5.0" + jest-environment-node "^25.5.0" jest-get-type "^25.2.6" - jest-jasmine2 "^25.2.7" + jest-jasmine2 "^25.5.4" jest-regex-util "^25.2.6" - jest-resolve "^25.2.6" - jest-util "^25.2.6" - jest-validate "^25.2.6" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" micromatch "^4.0.2" - pretty-format "^25.2.6" + pretty-format "^25.5.0" realpath-native "^2.0.0" -jest-diff@^25.2.1, jest-diff@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.2.6.tgz#a6d70a9ab74507715ea1092ac513d1ab81c1b5e7" - integrity sha512-KuadXImtRghTFga+/adnNrv9s61HudRMR7gVSbP35UKZdn4IK2/0N0PpGZIqtmllK9aUyye54I3nu28OYSnqOg== +jest-diff@^25.2.1, jest-diff@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== dependencies: chalk "^3.0.0" diff-sequences "^25.2.6" jest-get-type "^25.2.6" - pretty-format "^25.2.6" + pretty-format "^25.5.0" -jest-docblock@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.2.6.tgz#4b09f1e7b7d6b3f39242ef3647ac7106770f722b" - integrity sha512-VAYrljEq0upq0oERfIaaNf28gC6p9gORndhHstCYF8NWGNQJnzoaU//S475IxfWMk4UjjVmS9rJKLe5Jjjbixw== +jest-docblock@^25.3.0: + version "25.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" + integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== dependencies: detect-newline "^3.0.0" -jest-each@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.2.6.tgz#026f6dea2ccc443c35cea793265620aab1b278b6" - integrity sha512-OgQ01VINaRD6idWJOhCYwUc5EcgHBiFlJuw+ON2VgYr7HLtMFyCcuo+3mmBvuLUH4QudREZN7cDCZviknzsaJQ== +jest-each@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" + integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" chalk "^3.0.0" jest-get-type "^25.2.6" - jest-util "^25.2.6" - pretty-format "^25.2.6" - -jest-environment-jsdom@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.2.6.tgz#b7ae41c6035905b8e58d63a8f63cf8eaa00af279" - integrity sha512-/o7MZIhGmLGIEG5j7r5B5Az0umWLCHU+F5crwfbm0BzC4ybHTJZOQTFQWhohBg+kbTCNOuftMcqHlVkVduJCQQ== - dependencies: - "@jest/environment" "^25.2.6" - "@jest/fake-timers" "^25.2.6" - "@jest/types" "^25.2.6" - jest-mock "^25.2.6" - jest-util "^25.2.6" + jest-util "^25.5.0" + pretty-format "^25.5.0" + +jest-environment-jsdom@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" + integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" jsdom "^15.2.1" -jest-environment-node@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.2.6.tgz#ad4398432867113f474d94fe37b071ed04b30f3d" - integrity sha512-D1Ihj14fxZiMHGeTtU/LunhzSI+UeBvlr/rcXMTNyRMUMSz2PEhuqGbB78brBY6Dk3FhJDk7Ta+8reVaGjLWhA== - dependencies: - "@jest/environment" "^25.2.6" - "@jest/fake-timers" "^25.2.6" - "@jest/types" "^25.2.6" - jest-mock "^25.2.6" - jest-util "^25.2.6" +jest-environment-node@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" + integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" semver "^6.3.0" jest-get-type@^25.2.6: @@ -3852,18 +3753,19 @@ jest-get-type@^25.2.6: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== -jest-haste-map@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.2.6.tgz#4aa6bcfa15310afccdb9ca77af58a98add8cedb8" - integrity sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA== +jest-haste-map@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" + integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" + "@types/graceful-fs" "^4.1.2" anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.2.3" - jest-serializer "^25.2.6" - jest-util "^25.2.6" - jest-worker "^25.2.6" + graceful-fs "^4.2.4" + jest-serializer "^25.5.0" + jest-util "^25.5.0" + jest-worker "^25.5.0" micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" @@ -3871,244 +3773,253 @@ jest-haste-map@^25.2.6: optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.2.7.tgz#55ff87f8f462ef0e2f16fd19430b8be8bcebef0e" - integrity sha512-HeQxEbonp8fUvik9jF0lkU9ab1u5TQdIb7YSU9Fj7SxWtqHNDGyCpF6ZZ3r/5yuertxi+R95Ba9eA91GMQ38eA== +jest-jasmine2@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" + integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^25.2.6" - "@jest/source-map" "^25.2.6" - "@jest/test-result" "^25.2.6" - "@jest/types" "^25.2.6" + "@jest/environment" "^25.5.0" + "@jest/source-map" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" chalk "^3.0.0" co "^4.6.0" - expect "^25.2.7" + expect "^25.5.0" is-generator-fn "^2.0.0" - jest-each "^25.2.6" - jest-matcher-utils "^25.2.7" - jest-message-util "^25.2.6" - jest-runtime "^25.2.7" - jest-snapshot "^25.2.7" - jest-util "^25.2.6" - pretty-format "^25.2.6" + jest-each "^25.5.0" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + pretty-format "^25.5.0" throat "^5.0.0" -jest-leak-detector@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.2.6.tgz#68fbaf651142292b03e30641f33e15af9b8c62b1" - integrity sha512-n+aJUM+j/x1kIaPVxzerMqhAUuqTU1PL5kup46rXh+l9SP8H6LqECT/qD1GrnylE1L463/0StSPkH4fUpkuEjA== +jest-leak-detector@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" + integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== dependencies: jest-get-type "^25.2.6" - pretty-format "^25.2.6" + pretty-format "^25.5.0" -jest-matcher-utils@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.2.7.tgz#53fad3c11fc42e92e374306df543026712c957a3" - integrity sha512-jNYmKQPRyPO3ny0KY1I4f0XW4XnpJ3Nx5ovT4ik0TYDOYzuXJW40axqOyS61l/voWbVT9y9nZ1THL1DlpaBVpA== +jest-matcher-utils@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" + integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== dependencies: chalk "^3.0.0" - jest-diff "^25.2.6" + jest-diff "^25.5.0" jest-get-type "^25.2.6" - pretty-format "^25.2.6" + pretty-format "^25.5.0" -jest-message-util@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.2.6.tgz#9d5523bebec8cd9cdef75f0f3069d6ec9a2252df" - integrity sha512-Hgg5HbOssSqOuj+xU1mi7m3Ti2nwSQJQf/kxEkrz2r2rp2ZLO1pMeKkz2WiDUWgSR+APstqz0uMFcE5yc0qdcg== +jest-message-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" + integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" "@types/stack-utils" "^1.0.1" chalk "^3.0.0" + graceful-fs "^4.2.4" micromatch "^4.0.2" slash "^3.0.0" stack-utils "^1.0.1" -jest-mock@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.2.6.tgz#8df66eaa55a713d0f2a7dfb4f14507289d24dfa3" - integrity sha512-vc4nibavi2RGPdj/MyZy/azuDjZhpYZLvpfgq1fxkhbyTpKVdG7CgmRVKJ7zgLpY5kuMjTzDYA6QnRwhsCU+tA== +jest-mock@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" + integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== jest-regex-util@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== -jest-resolve-dependencies@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.7.tgz#9ca4c62d67cce031a27fa5d5705b4b5b5c029d23" - integrity sha512-IrnMzCAh11Xd2gAOJL+ThEW6QO8DyqNdvNkQcaCticDrOAr9wtKT7yT6QBFFjqKFgjjvaVKDs59WdgUhgYnHnQ== +jest-resolve-dependencies@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" + integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" jest-regex-util "^25.2.6" - jest-snapshot "^25.2.7" + jest-snapshot "^25.5.1" -jest-resolve@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.2.6.tgz#84694ead5da13c2890ac04d4a78699ba937f3896" - integrity sha512-7O61GVdcAXkLz/vNGKdF+00A80/fKEAA47AEXVNcZwj75vEjPfZbXDaWFmAQCyXj4oo9y9dC9D+CLA11t8ieGw== +jest-resolve@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" + integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" browser-resolve "^1.11.3" chalk "^3.0.0" + graceful-fs "^4.2.4" jest-pnp-resolver "^1.2.1" + read-pkg-up "^7.0.1" realpath-native "^2.0.0" - resolve "^1.15.1" + resolve "^1.17.0" + slash "^3.0.0" -jest-runner@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.2.7.tgz#3676c01dc0104caa8a0ebb8507df382c88f2a1e2" - integrity sha512-RFEr71nMrtNwcpoHzie5+fe1w3JQCGMyT2xzNwKe3f88+bK+frM2o1v24gEcPxQ2QqB3COMCe2+1EkElP+qqqQ== +jest-runner@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" + integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== dependencies: - "@jest/console" "^25.2.6" - "@jest/environment" "^25.2.6" - "@jest/test-result" "^25.2.6" - "@jest/types" "^25.2.6" + "@jest/console" "^25.5.0" + "@jest/environment" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" chalk "^3.0.0" exit "^0.1.2" - graceful-fs "^4.2.3" - jest-config "^25.2.7" - jest-docblock "^25.2.6" - jest-haste-map "^25.2.6" - jest-jasmine2 "^25.2.7" - jest-leak-detector "^25.2.6" - jest-message-util "^25.2.6" - jest-resolve "^25.2.6" - jest-runtime "^25.2.7" - jest-util "^25.2.6" - jest-worker "^25.2.6" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-docblock "^25.3.0" + jest-haste-map "^25.5.1" + jest-jasmine2 "^25.5.4" + jest-leak-detector "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + jest-runtime "^25.5.4" + jest-util "^25.5.0" + jest-worker "^25.5.0" source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.2.7.tgz#cb10e695d036671a83aec3a3803163c354043ac9" - integrity sha512-Gw3X8KxTTFylu2T/iDSNKRUQXQiPIYUY0b66GwVYa7W8wySkUljKhibQHSq0VhmCAN7vRBEQjlVQ+NFGNmQeBw== - dependencies: - "@jest/console" "^25.2.6" - "@jest/environment" "^25.2.6" - "@jest/source-map" "^25.2.6" - "@jest/test-result" "^25.2.6" - "@jest/transform" "^25.2.6" - "@jest/types" "^25.2.6" +jest-runtime@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" + integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== + dependencies: + "@jest/console" "^25.5.0" + "@jest/environment" "^25.5.0" + "@jest/globals" "^25.5.2" + "@jest/source-map" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" "@types/yargs" "^15.0.0" chalk "^3.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" - graceful-fs "^4.2.3" - jest-config "^25.2.7" - jest-haste-map "^25.2.6" - jest-message-util "^25.2.6" - jest-mock "^25.2.6" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" jest-regex-util "^25.2.6" - jest-resolve "^25.2.6" - jest-snapshot "^25.2.7" - jest-util "^25.2.6" - jest-validate "^25.2.6" + jest-resolve "^25.5.1" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" realpath-native "^2.0.0" slash "^3.0.0" strip-bom "^4.0.0" yargs "^15.3.1" -jest-serializer@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.2.6.tgz#3bb4cc14fe0d8358489dbbefbb8a4e708ce039b7" - integrity sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ== +jest-serializer@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" + integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== + dependencies: + graceful-fs "^4.2.4" -jest-snapshot@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.2.7.tgz#7eeafeef4dcbda1c47c8503d2bf5212b6430aac6" - integrity sha512-Rm8k7xpGM4tzmYhB6IeRjsOMkXaU8/FOz5XlU6oYwhy53mq6txVNqIKqN1VSiexzpC80oWVxVDfUDt71M6XPOA== +jest-snapshot@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" + integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" "@types/prettier" "^1.19.0" chalk "^3.0.0" - expect "^25.2.7" - jest-diff "^25.2.6" + expect "^25.5.0" + graceful-fs "^4.2.4" + jest-diff "^25.5.0" jest-get-type "^25.2.6" - jest-matcher-utils "^25.2.7" - jest-message-util "^25.2.6" - jest-resolve "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" make-dir "^3.0.0" natural-compare "^1.4.0" - pretty-format "^25.2.6" + pretty-format "^25.5.0" semver "^6.3.0" -jest-util@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.2.6.tgz#3c1c95cdfd653126728b0ed861a86610e30d569c" - integrity sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q== +jest-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" + integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" chalk "^3.0.0" + graceful-fs "^4.2.4" is-ci "^2.0.0" make-dir "^3.0.0" -jest-validate@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.2.6.tgz#ab3631fb97e242c42b09ca53127abe0b12e9125e" - integrity sha512-a4GN7hYbqQ3Rt9iHsNLFqQz7HDV7KiRPCwPgo5nqtTIWNZw7gnT8KchG+Riwh+UTSn8REjFCodGp50KX/fRNgQ== +jest-validate@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" + integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" camelcase "^5.3.1" chalk "^3.0.0" jest-get-type "^25.2.6" leven "^3.1.0" - pretty-format "^25.2.6" + pretty-format "^25.5.0" -jest-watcher@^25.2.7: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.2.7.tgz#01db4332d34d14c03c9ef22255125a3b07f997bc" - integrity sha512-RdHuW+f49tahWtluTnUdZ2iPliebleROI2L/J5phYrUS6DPC9RB3SuUtqYyYhGZJsbvRSuLMIlY/cICJ+PIecw== +jest-watcher@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" + integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== dependencies: - "@jest/test-result" "^25.2.6" - "@jest/types" "^25.2.6" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" ansi-escapes "^4.2.1" chalk "^3.0.0" - jest-util "^25.2.6" + jest-util "^25.5.0" string-length "^3.1.0" -jest-worker@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.2.6.tgz#d1292625326794ce187c38f51109faced3846c58" - integrity sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA== +jest-worker@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== dependencies: merge-stream "^2.0.0" supports-color "^7.0.0" jest@^25.1.0: - version "25.2.7" - resolved "https://registry.yarnpkg.com/jest/-/jest-25.2.7.tgz#3929a5f35cdd496f7756876a206b99a94e1e09ae" - integrity sha512-XV1n/CE2McCikl4tfpCY950RytHYvxdo/wvtgmn/qwA8z1s16fuvgFL/KoPrrmkqJTaPMUlLVE58pwiaTX5TdA== + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" + integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== dependencies: - "@jest/core" "^25.2.7" + "@jest/core" "^25.5.4" import-local "^3.0.2" - jest-cli "^25.2.7" + jest-cli "^25.5.4" jquery@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" - integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== + version "3.5.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" + integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -4175,6 +4086,11 @@ json-parse-better-errors@^1.0.1: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -4196,9 +4112,9 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json5@2.x, json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: minimist "^1.2.5" @@ -4216,15 +4132,6 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -4283,13 +4190,6 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -4298,6 +4198,11 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -4308,14 +4213,6 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-fs-cache@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" - integrity sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA== - dependencies: - find-cache-dir "^0.1.1" - mkdirp "^0.5.1" - loader-utils@^1.0.2, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" @@ -4342,14 +4239,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -4367,12 +4256,7 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -lodash@^4.17.19: +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -4384,13 +4268,6 @@ lolex@^5.0.0: dependencies: "@sinonjs/commons" "^1.7.0" -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -4418,9 +4295,9 @@ lru-cache@^4.0.1: yallist "^2.1.2" lunr@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.8.tgz#a8b89c31f30b5a044b97d2d28e2da191b6ba2072" - integrity sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg== + version "2.3.9" + resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== make-dir@^1.0.0: version "1.3.0" @@ -4429,7 +4306,7 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" -make-dir@^2.0.0, make-dir@^2.1.0: +make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -4437,10 +4314,10 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" - integrity sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w== +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" @@ -4484,9 +4361,9 @@ marked@^0.8.0: integrity sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw== mathjs@^6.6.1: - version "6.6.2" - resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-6.6.2.tgz#9411824ca113c158194ed55f47c816bafa63ec8d" - integrity sha512-kdAUnUbIwIkvd5ahUOFeZYZ6JfTSUDpQVsEkohWN7ZE5rTJgYsuIP7BWNswbHJt8a2C2zfSWS+7rMpDMLgJQhQ== + version "6.6.5" + resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-6.6.5.tgz#6bbad1fa3ac09e8f7106ef64af8d3908f877b8e8" + integrity sha512-jvRqk7eoEHBcx/lskmy05m+8M7xDHAJcJzRJoqIsqExtlTHPDQO0Zv85g5F0rasDAXF+DLog/70hcqCJijSzPQ== dependencies: complex.js "^2.0.11" decimal.js "^10.2.0" @@ -4569,17 +4446,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.43.0: - version "1.43.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" - integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== +mime-db@1.45.0: + version "1.45.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.26" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" - integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== + version "2.1.28" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" + integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== dependencies: - mime-db "1.43.0" + mime-db "1.45.0" mimic-fn@^2.1.0: version "2.1.0" @@ -4596,7 +4473,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= @@ -4629,12 +4506,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^0.5.1, mkdirp@^0.5.3: +mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -4646,7 +4518,7 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -4657,9 +4529,9 @@ mute-stream@0.0.8: integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nan@^2.13.2, nan@^2.14.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== nanomatch@^1.2.9: version "1.2.13" @@ -4699,9 +4571,9 @@ ndjson@^1.5.0: through2 "^2.0.3" neo-async@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== nice-try@^1.0.4: version "1.0.5" @@ -4729,12 +4601,12 @@ node-notifier@^6.0.0: shellwords "^0.1.1" which "^1.3.1" -node-releases@^1.1.53: - version "1.1.53" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" - integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== +node-releases@^1.1.70: + version "1.1.70" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" + integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -4795,11 +4667,11 @@ object-copy@^0.1.0: kind-of "^3.0.3" object-hash@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" - integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.1.1.tgz#9447d0279b4fcf80cff3259bf66a1dc73afabe09" + integrity sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ== -object-keys@^1.0.11, object-keys@^1.0.12: +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -4812,14 +4684,14 @@ object-visit@^1.0.0: isobject "^3.0.0" object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" object.pick@^1.3.0: version "1.3.0" @@ -4836,9 +4708,9 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: wrappy "1" onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" @@ -4865,9 +4737,9 @@ p-cancelable@^1.0.0: integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== p-finally@^1.0.0: version "1.0.0" @@ -4886,7 +4758,7 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -4900,13 +4772,6 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -4941,14 +4806,13 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.0" browserify-aes "^1.0.0" - create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" safe-buffer "^5.1.1" @@ -4961,6 +4825,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + parse5@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" @@ -4976,13 +4850,6 @@ path-dirname@^1.0.0: resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -5026,9 +4893,9 @@ path-type@^3.0.0: pify "^3.0.0" pbkdf2@^3.0.3, pbkdf2@^3.0.9: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -5056,18 +4923,6 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -5075,34 +4930,13 @@ pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.2.0: +pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" @@ -5128,21 +4962,16 @@ prettier@^1.19.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -pretty-format@^25.2.1, pretty-format@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.2.6.tgz#542a1c418d019bbf1cca2e3620443bc1323cb8d7" - integrity sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg== +pretty-format@^25.2.1, pretty-format@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== dependencies: - "@jest/types" "^25.2.6" + "@jest/types" "^25.5.0" ansi-regex "^5.0.0" ansi-styles "^4.0.0" react-is "^16.12.0" -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -5154,12 +4983,12 @@ progress@^2.0.0, progress@^2.0.3: integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== prompts@^2.0.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== dependencies: kleur "^3.0.3" - sisteransi "^1.0.4" + sisteransi "^1.0.5" prr@~1.0.1: version "1.0.1" @@ -5258,6 +5087,15 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -5267,6 +5105,16 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -5280,7 +5128,7 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1: +readable-stream@^3.1.1, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -5333,22 +5181,21 @@ regenerate-unicode-properties@^8.2.0: regenerate "^1.4.0" regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== regenerator-transform@^0.14.2: - version "0.14.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" - integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== dependencies: "@babel/runtime" "^7.8.4" - private "^0.1.8" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -5363,10 +5210,10 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== dependencies: regenerate "^1.4.0" regenerate-unicode-properties "^8.2.0" @@ -5376,9 +5223,9 @@ regexpu-core@^4.7.0: unicode-match-property-value-ecmascript "^1.2.0" registry-auth-token@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" - integrity sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA== + version "4.2.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== dependencies: rc "^1.2.8" @@ -5390,14 +5237,14 @@ registry-url@^5.0.0: rc "^1.2.8" regjsgen@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" - integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + version "0.6.7" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.7.tgz#c00164e1e6713c2e3ee641f1701c4b7aa0a7f86c" + integrity sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ== dependencies: jsesc "~0.5.0" @@ -5416,19 +5263,19 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== dependencies: - lodash "^4.17.15" + lodash "^4.17.19" request-promise-native@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== dependencies: - request-promise-core "1.1.3" + request-promise-core "1.1.4" stealthy-require "^1.1.1" tough-cookie "^2.3.3" @@ -5495,11 +5342,12 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.8.1: - version "1.15.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" - integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: + is-core-module "^2.1.0" path-parse "^1.0.6" responselike@^1.0.2: @@ -5550,23 +5398,21 @@ rsvp@^4.8.4: integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== run-async@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8" - integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg== - dependencies: - is-promise "^2.1.0" + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== -rxjs@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== +rxjs@^6.6.0: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== dependencies: tslib "^1.9.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" @@ -5608,12 +5454,13 @@ saxes@^3.1.9: xmlchars "^2.1.1" schema-utils@^2.6.5: - version "2.6.5" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.5.tgz#c758f0a7e624263073d396e29cd40aa101152d8a" - integrity sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ== + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: - ajv "^6.12.0" - ajv-keywords "^3.4.1" + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" secp256k1@^3.7.1: version "3.8.0" @@ -5717,9 +5564,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shelljs@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" - integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== + version "0.8.4" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -5735,7 +5582,7 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -sisteransi@^1.0.4: +sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== @@ -5761,7 +5608,6 @@ slice-ansi@^2.1.0: "sm-crypto@git+https://github.com/bianjieai/sm-crypto-js.git#main": version "0.2.1" - uid def39a846c0b87fc27f6e63ee90d2149c2590a57 resolved "git+https://github.com/bianjieai/sm-crypto-js.git#def39a846c0b87fc27f6e63ee90d2149c2590a57" dependencies: bn.js "^4.11.6" @@ -5809,17 +5655,17 @@ source-map-resolve@^0.5.0: urix "^0.1.0" source-map-support@^0.5.6: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" @@ -5837,30 +5683,30 @@ source-map@^0.7.3: integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + version "3.0.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -5897,9 +5743,11 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.4.tgz#4b600971dcfc6aed0cbdf2a8268177cc916c87c8" + integrity sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w== + dependencies: + escape-string-regexp "^2.0.0" static-extend@^0.1.1: version "0.1.2" @@ -6014,9 +5862,9 @@ strip-indent@^2.0.0: integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= strip-json-comments@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" - integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: version "2.0.1" @@ -6031,9 +5879,9 @@ supports-color@^5.3.0: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" @@ -6118,9 +5966,9 @@ tiny-emitter@^2.1.0: integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== tiny-secp256k1@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.3.tgz#e93b1e1bf62e9bd1ad3ab24af27ff6127ce0e077" - integrity sha512-ZpobrhOtHP98VYEN51IYQH1YcrbFpnxFhI6ceWa3OEbJn7eHvSd8YFjGPxbedGCy7PNYU1v/+BRsdvyr5uRd4g== + version "1.1.6" + resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c" + integrity sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA== dependencies: bindings "^1.3.0" bn.js "^4.11.8" @@ -6212,9 +6060,9 @@ trim-newlines@^2.0.0: integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= ts-jest@^25.2.1: - version "25.3.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.3.1.tgz#58e2ed3506e4e4487c0b9b532846a5cade9656ba" - integrity sha512-O53FtKguoMUByalAJW+NWEv7c4tus5ckmhfa7/V0jBb2z8v5rDSLFC1Ate7wLknYPC1euuhY6eJjQq4FtOZrkg== + version "25.5.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" + integrity sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw== dependencies: bs-logger "0.x" buffer-from "1.x" @@ -6223,8 +6071,7 @@ ts-jest@^25.2.1: lodash.memoize "4.x" make-error "1.x" micromatch "4.x" - mkdirp "1.x" - resolve "1.x" + mkdirp "0.x" semver "6.x" yargs-parser "18.x" @@ -6239,10 +6086,10 @@ ts-loader@^6.2.2: micromatch "^4.0.0" semver "^6.0.0" -tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" - integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== +tslib@^1.13.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslint-config-prettier@^1.18.0: version "1.18.0" @@ -6269,9 +6116,9 @@ tslint@^5.12.0: tsutils "^2.29.0" tslint@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.1.tgz#ac03fbd17f85bfefaae348b353b25a88efe10cde" - integrity sha512-kd6AQ/IgPRpLn6g5TozqzPdGNZ0q0jtXW4//hRcj10qLYBaa3mTUU2y2MCG+RXZm8Zx+KZi0eA+YCrMyNlF4UA== + version "6.1.3" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" + integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" @@ -6284,7 +6131,7 @@ tslint@^6.1.0: mkdirp "^0.5.3" resolve "^1.3.2" semver "^5.3.0" - tslib "^1.10.0" + tslib "^1.13.0" tsutils "^2.29.0" tsutils@^2.29.0: @@ -6328,6 +6175,11 @@ type-fest@^0.3.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -6383,22 +6235,19 @@ typescript@3.7.x: integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== typescript@^3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" - integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== + version "3.9.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" + integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== uglify-js@^3.1.4: - version "3.8.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.8.1.tgz#43bb15ce6f545eaa0a64c49fd29375ea09fa0f93" - integrity sha512-W7KxyzeaQmZvUFbGj4+YFshhVrMBGSg2IbcYAjGWGvx8DHvJMclbTDMpffdxFUGPBHjIytk7KJUR/KUXstUGDw== - dependencies: - commander "~2.20.3" - source-map "~0.6.1" + version "3.12.7" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.12.7.tgz#be4f06142a67bd91ef868b4e111dc241e151bff3" + integrity sha512-SIZhkoh+U/wjW+BHGhVwE9nt8tWJspncloBcFapkpGRwNPqcH8pzX36BXe3TPBjzHWPMUZotpCigak/udWNr1Q== underscore@>=1.8.3, underscore@^1.9.1: - version "1.10.2" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.10.2.tgz#73d6aa3668f3188e4adb0f1943bd12cfd7efaaaf" - integrity sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg== + version "1.12.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.0.tgz#4814940551fc80587cef7840d1ebb0f16453be97" + integrity sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ== unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" @@ -6445,11 +6294,6 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -6482,9 +6326,9 @@ update-notifier@^3.0.0: xdg-basedir "^3.0.0" uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -6516,14 +6360,14 @@ uuid@^3.3.2: integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + version "2.2.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== -v8-to-istanbul@^4.0.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz#22fe35709a64955f49a08a7c7c959f6520ad6f20" - integrity sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng== +v8-to-istanbul@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" + integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" @@ -6679,9 +6523,9 @@ write@1.0.3: mkdirp "^0.5.1" ws@^7.0.0: - version "7.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" - integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== + version "7.4.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" + integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== xdg-basedir@^3.0.0: version "3.0.0" @@ -6704,19 +6548,19 @@ xtend@~4.0.1: integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yargs-parser@18.x, yargs-parser@^18.1.1: - version "18.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.2.tgz#2f482bea2136dbde0861683abea7756d30b504f1" - integrity sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ== +yargs-parser@18.x, yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -6729,9 +6573,9 @@ yargs-parser@^10.0.0: camelcase "^4.1.0" yargs@^15.3.1: - version "15.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" - integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" decamelize "^1.2.0" @@ -6743,4 +6587,4 @@ yargs@^15.3.1: string-width "^4.2.0" which-module "^2.0.0" y18n "^4.0.0" - yargs-parser "^18.1.1" + yargs-parser "^18.1.2"