added protos and fixed esm build scripts

wip


v0.0.104-beta.2

v0.0.104-beta.3

v0.0.104-beta.4

v0.0.104-beta.5

v0.0.104-beta.6

v0.0.104-beta.7

wip


wip
This commit is contained in:
Conner Gallagher 2022-05-27 14:07:44 -06:00
parent 9151cfede1
commit 945e0cbdd7
17 changed files with 4927 additions and 5045 deletions

View File

@ -99,7 +99,7 @@
"@solana/spl-token": "^0.1.8",
"@solana/web3.js": "^1.42.0",
"@switchboard-xyz/sbv2-utils": "^0.1.16",
"@switchboard-xyz/switchboard-v2": "^0.0.103",
"@switchboard-xyz/switchboard-v2": "^0.0.105",
"assert": "^2.0.0",
"big.js": "^6.1.1",
"bs58": "^5.0.0",

View File

@ -36,7 +36,7 @@
"@saberhq/token-utils": "^1.12.68",
"@solana/spl-token": "^0.1.8",
"@solana/web3.js": "^1.42.0",
"@switchboard-xyz/switchboard-v2": "^0.0.103",
"@switchboard-xyz/switchboard-v2": "^0.0.105",
"big.js": "^6.1.1",
"chalk": "4",
"decimal.js": "^10.3.1",

View File

@ -1,6 +1,6 @@
{
"name": "@switchboard-xyz/switchboard-v2",
"version": "0.0.103",
"version": "0.0.106",
"license": "MIT",
"author": "mitch@switchboard.xyz",
"description": "API wrapper for intergating with the Switchboardv2 program",
@ -19,20 +19,17 @@
"lib",
"src"
],
"main": "lib/cjs/index.js",
"module": "lib/esm/index.js",
"exports": {
".": {
"require": "./lib/cjs/index.js",
"import": "./lib/esm/index.js"
}
},
"module": "./lib/esm/index.js",
"main": "./lib/cjs/index.js",
"types": "./lib/cjs/index.d.ts",
"scripts": {
"docgen": "yarn build && npx typedoc",
"build:protos": "pbjs -t static-module -o src/protos.js ../protos/*.proto && pbts -o src/protos.d.ts src/protos.js",
"build:cjs": "shx rm -rf lib/cjs && tsc -p tsconfig.cjs.json && shx echo '{\"type\": \"commonjs\"}' > lib/cjs/package.json",
"build:esm": "shx rm -rf lib/esm && tsc -p tsconfig.esm.json && shx echo '{\"type\": \"module\"}' > lib/esm/package.json",
"build": "shx rm -rf lib && yarn build:cjs && yarn build:esm && shx rm lib/*.tsbuildinfo",
"build:protos": "pbjs -t static-module -o src/protos/index.js ../protos/*.proto && pbts -o src/protos/index.d.ts src/protos/index.js",
"build:cjs:protos": "shx mkdir -p lib/cjs/protos; pbjs -t static-module -w commonjs -o lib/cjs/protos/index.js ../protos/*.proto && pbts -o lib/cjs/protos/index.d.ts lib/cjs/protos/index.js",
"build:esm:protos": "shx mkdir -p lib/esm/protos; pbjs -t static-module -o lib/esm/protos/index.js ../protos/*.proto && pbts -o lib/esm/protos/index.d.ts lib/esm/protos/index.js",
"build:cjs": "shx rm -rf lib/cjs && tsc -p tsconfig.cjs.json && shx echo '{\"type\": \"commonjs\"}' > lib/cjs/package.json && yarn build:cjs:protos",
"build:esm": "shx rm -rf lib/esm && tsc -p tsconfig.esm.json && shx echo '{\"type\": \"module\"}' > lib/esm/package.json && yarn build:esm:protos",
"build": "shx rm -rf lib && yarn build:protos && yarn build:cjs && yarn build:esm && shx rm lib/*.tsbuildinfo",
"test": "mocha --extension ts --require ts-node/register -t 1000000 tests/",
"lint": "eslint --fix-dry-run --ext .ts src/**/*.ts",
"prepublish": "yarn build"

View File

@ -1,2 +1,3 @@
export { OracleJob } from "./protos";
export * from "./sbv2";
// eslint-disable-next-line import/extensions
export { IOracleJob, OracleJob } from "./protos/index.js";
export * from "./sbv2.js";

File diff suppressed because it is too large Load Diff

4302
libraries/ts/src/protos/index.d.ts vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -8774,6 +8774,403 @@
return PancakeswapExchangeRateTask;
})();
OracleJob.CacheTask = (function() {
/**
* Properties of a CacheTask.
* @memberof OracleJob
* @interface ICacheTask
* @property {string|null} [name] CacheTask name
* @property {OracleJob.CacheTask.Method|null} [method] CacheTask method
*/
/**
* Constructs a new CacheTask.
* @memberof OracleJob
* @classdesc Represents a CacheTask.
* @implements ICacheTask
* @constructor
* @param {OracleJob.ICacheTask=} [properties] Properties to set
*/
function CacheTask(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* CacheTask name.
* @member {string} name
* @memberof OracleJob.CacheTask
* @instance
*/
CacheTask.prototype.name = "";
/**
* CacheTask method.
* @member {OracleJob.CacheTask.Method} method
* @memberof OracleJob.CacheTask
* @instance
*/
CacheTask.prototype.method = 0;
/**
* Creates a new CacheTask instance using the specified properties.
* @function create
* @memberof OracleJob.CacheTask
* @static
* @param {OracleJob.ICacheTask=} [properties] Properties to set
* @returns {OracleJob.CacheTask} CacheTask instance
*/
CacheTask.create = function create(properties) {
return new CacheTask(properties);
};
/**
* Encodes the specified CacheTask message. Does not implicitly {@link OracleJob.CacheTask.verify|verify} messages.
* @function encode
* @memberof OracleJob.CacheTask
* @static
* @param {OracleJob.ICacheTask} message CacheTask message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
CacheTask.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
if (message.name != null && Object.hasOwnProperty.call(message, "name"))
writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
if (message.method != null && Object.hasOwnProperty.call(message, "method"))
writer.uint32(/* id 2, wireType 0 =*/16).int32(message.method);
return writer;
};
/**
* Encodes the specified CacheTask message, length delimited. Does not implicitly {@link OracleJob.CacheTask.verify|verify} messages.
* @function encodeDelimited
* @memberof OracleJob.CacheTask
* @static
* @param {OracleJob.ICacheTask} message CacheTask message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
CacheTask.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a CacheTask message from the specified reader or buffer.
* @function decode
* @memberof OracleJob.CacheTask
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {OracleJob.CacheTask} CacheTask
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
CacheTask.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.OracleJob.CacheTask();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.name = reader.string();
break;
case 2:
message.method = reader.int32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a CacheTask message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof OracleJob.CacheTask
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {OracleJob.CacheTask} CacheTask
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
CacheTask.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a CacheTask message.
* @function verify
* @memberof OracleJob.CacheTask
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
CacheTask.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
if (message.name != null && message.hasOwnProperty("name"))
if (!$util.isString(message.name))
return "name: string expected";
if (message.method != null && message.hasOwnProperty("method"))
switch (message.method) {
default:
return "method: enum value expected";
case 0:
case 1:
break;
}
return null;
};
/**
* Creates a CacheTask message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof OracleJob.CacheTask
* @static
* @param {Object.<string,*>} object Plain object
* @returns {OracleJob.CacheTask} CacheTask
*/
CacheTask.fromObject = function fromObject(object) {
if (object instanceof $root.OracleJob.CacheTask)
return object;
var message = new $root.OracleJob.CacheTask();
if (object.name != null)
message.name = String(object.name);
switch (object.method) {
case "METHOD_GET":
case 0:
message.method = 0;
break;
case "METHOD_SET":
case 1:
message.method = 1;
break;
}
return message;
};
/**
* Creates a plain object from a CacheTask message. Also converts values to other types if specified.
* @function toObject
* @memberof OracleJob.CacheTask
* @static
* @param {OracleJob.CacheTask} message CacheTask
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
CacheTask.toObject = function toObject(message, options) {
if (!options)
options = {};
var object = {};
if (options.defaults) {
object.name = "";
object.method = options.enums === String ? "METHOD_GET" : 0;
}
if (message.name != null && message.hasOwnProperty("name"))
object.name = message.name;
if (message.method != null && message.hasOwnProperty("method"))
object.method = options.enums === String ? $root.OracleJob.CacheTask.Method[message.method] : message.method;
return object;
};
/**
* Converts this CacheTask to JSON.
* @function toJSON
* @memberof OracleJob.CacheTask
* @instance
* @returns {Object.<string,*>} JSON object
*/
CacheTask.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
/**
* Method enum.
* @name OracleJob.CacheTask.Method
* @enum {number}
* @property {number} METHOD_GET=0 METHOD_GET value
* @property {number} METHOD_SET=1 METHOD_SET value
*/
CacheTask.Method = (function() {
var valuesById = {}, values = Object.create(valuesById);
values[valuesById[0] = "METHOD_GET"] = 0;
values[valuesById[1] = "METHOD_SET"] = 1;
return values;
})();
return CacheTask;
})();
OracleJob.SysclockOffsetTask = (function() {
/**
* Properties of a SysclockOffsetTask.
* @memberof OracleJob
* @interface ISysclockOffsetTask
*/
/**
* Constructs a new SysclockOffsetTask.
* @memberof OracleJob
* @classdesc Represents a SysclockOffsetTask.
* @implements ISysclockOffsetTask
* @constructor
* @param {OracleJob.ISysclockOffsetTask=} [properties] Properties to set
*/
function SysclockOffsetTask(properties) {
if (properties)
for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
if (properties[keys[i]] != null)
this[keys[i]] = properties[keys[i]];
}
/**
* Creates a new SysclockOffsetTask instance using the specified properties.
* @function create
* @memberof OracleJob.SysclockOffsetTask
* @static
* @param {OracleJob.ISysclockOffsetTask=} [properties] Properties to set
* @returns {OracleJob.SysclockOffsetTask} SysclockOffsetTask instance
*/
SysclockOffsetTask.create = function create(properties) {
return new SysclockOffsetTask(properties);
};
/**
* Encodes the specified SysclockOffsetTask message. Does not implicitly {@link OracleJob.SysclockOffsetTask.verify|verify} messages.
* @function encode
* @memberof OracleJob.SysclockOffsetTask
* @static
* @param {OracleJob.ISysclockOffsetTask} message SysclockOffsetTask message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
SysclockOffsetTask.encode = function encode(message, writer) {
if (!writer)
writer = $Writer.create();
return writer;
};
/**
* Encodes the specified SysclockOffsetTask message, length delimited. Does not implicitly {@link OracleJob.SysclockOffsetTask.verify|verify} messages.
* @function encodeDelimited
* @memberof OracleJob.SysclockOffsetTask
* @static
* @param {OracleJob.ISysclockOffsetTask} message SysclockOffsetTask message or plain object to encode
* @param {$protobuf.Writer} [writer] Writer to encode to
* @returns {$protobuf.Writer} Writer
*/
SysclockOffsetTask.encodeDelimited = function encodeDelimited(message, writer) {
return this.encode(message, writer).ldelim();
};
/**
* Decodes a SysclockOffsetTask message from the specified reader or buffer.
* @function decode
* @memberof OracleJob.SysclockOffsetTask
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @param {number} [length] Message length if known beforehand
* @returns {OracleJob.SysclockOffsetTask} SysclockOffsetTask
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
SysclockOffsetTask.decode = function decode(reader, length) {
if (!(reader instanceof $Reader))
reader = $Reader.create(reader);
var end = length === undefined ? reader.len : reader.pos + length, message = new $root.OracleJob.SysclockOffsetTask();
while (reader.pos < end) {
var tag = reader.uint32();
switch (tag >>> 3) {
default:
reader.skipType(tag & 7);
break;
}
}
return message;
};
/**
* Decodes a SysclockOffsetTask message from the specified reader or buffer, length delimited.
* @function decodeDelimited
* @memberof OracleJob.SysclockOffsetTask
* @static
* @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
* @returns {OracleJob.SysclockOffsetTask} SysclockOffsetTask
* @throws {Error} If the payload is not a reader or valid buffer
* @throws {$protobuf.util.ProtocolError} If required fields are missing
*/
SysclockOffsetTask.decodeDelimited = function decodeDelimited(reader) {
if (!(reader instanceof $Reader))
reader = new $Reader(reader);
return this.decode(reader, reader.uint32());
};
/**
* Verifies a SysclockOffsetTask message.
* @function verify
* @memberof OracleJob.SysclockOffsetTask
* @static
* @param {Object.<string,*>} message Plain object to verify
* @returns {string|null} `null` if valid, otherwise the reason why it is not
*/
SysclockOffsetTask.verify = function verify(message) {
if (typeof message !== "object" || message === null)
return "object expected";
return null;
};
/**
* Creates a SysclockOffsetTask message from a plain object. Also converts values to their respective internal types.
* @function fromObject
* @memberof OracleJob.SysclockOffsetTask
* @static
* @param {Object.<string,*>} object Plain object
* @returns {OracleJob.SysclockOffsetTask} SysclockOffsetTask
*/
SysclockOffsetTask.fromObject = function fromObject(object) {
if (object instanceof $root.OracleJob.SysclockOffsetTask)
return object;
return new $root.OracleJob.SysclockOffsetTask();
};
/**
* Creates a plain object from a SysclockOffsetTask message. Also converts values to other types if specified.
* @function toObject
* @memberof OracleJob.SysclockOffsetTask
* @static
* @param {OracleJob.SysclockOffsetTask} message SysclockOffsetTask
* @param {$protobuf.IConversionOptions} [options] Conversion options
* @returns {Object.<string,*>} Plain object
*/
SysclockOffsetTask.toObject = function toObject() {
return {};
};
/**
* Converts this SysclockOffsetTask to JSON.
* @function toJSON
* @memberof OracleJob.SysclockOffsetTask
* @instance
* @returns {Object.<string,*>} JSON object
*/
SysclockOffsetTask.prototype.toJSON = function toJSON() {
return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
};
return SysclockOffsetTask;
})();
OracleJob.Task = (function() {
/**
@ -8812,6 +9209,8 @@
* @property {OracleJob.IUniswapExchangeRateTask|null} [uniswapExchangeRateTask] Task uniswapExchangeRateTask
* @property {OracleJob.ISushiswapExchangeRateTask|null} [sushiswapExchangeRateTask] Task sushiswapExchangeRateTask
* @property {OracleJob.IPancakeswapExchangeRateTask|null} [pancakeswapExchangeRateTask] Task pancakeswapExchangeRateTask
* @property {OracleJob.ICacheTask|null} [cacheTask] Task cacheTask
* @property {OracleJob.ISysclockOffsetTask|null} [sysclockOffsetTask] Task sysclockOffsetTask
*/
/**
@ -9085,17 +9484,33 @@
*/
Task.prototype.pancakeswapExchangeRateTask = null;
/**
* Task cacheTask.
* @member {OracleJob.ICacheTask|null|undefined} cacheTask
* @memberof OracleJob.Task
* @instance
*/
Task.prototype.cacheTask = null;
/**
* Task sysclockOffsetTask.
* @member {OracleJob.ISysclockOffsetTask|null|undefined} sysclockOffsetTask
* @memberof OracleJob.Task
* @instance
*/
Task.prototype.sysclockOffsetTask = null;
// OneOf field names bound to virtual getters and setters
var $oneOfFields;
/**
* Task Task.
* @member {"httpTask"|"jsonParseTask"|"medianTask"|"meanTask"|"websocketTask"|"divideTask"|"multiplyTask"|"lpTokenPriceTask"|"lpExchangeRateTask"|"conditionalTask"|"valueTask"|"maxTask"|"regexExtractTask"|"xstepPriceTask"|"addTask"|"subtractTask"|"twapTask"|"serumSwapTask"|"powTask"|"lendingRateTask"|"mangoPerpMarketTask"|"jupiterSwapTask"|"perpMarketTask"|"oracleTask"|"anchorFetchTask"|"defiKingdomsTask"|"tpsTask"|"splStakePoolTask"|"splTokenParseTask"|"uniswapExchangeRateTask"|"sushiswapExchangeRateTask"|"pancakeswapExchangeRateTask"|undefined} Task
* @member {"httpTask"|"jsonParseTask"|"medianTask"|"meanTask"|"websocketTask"|"divideTask"|"multiplyTask"|"lpTokenPriceTask"|"lpExchangeRateTask"|"conditionalTask"|"valueTask"|"maxTask"|"regexExtractTask"|"xstepPriceTask"|"addTask"|"subtractTask"|"twapTask"|"serumSwapTask"|"powTask"|"lendingRateTask"|"mangoPerpMarketTask"|"jupiterSwapTask"|"perpMarketTask"|"oracleTask"|"anchorFetchTask"|"defiKingdomsTask"|"tpsTask"|"splStakePoolTask"|"splTokenParseTask"|"uniswapExchangeRateTask"|"sushiswapExchangeRateTask"|"pancakeswapExchangeRateTask"|"cacheTask"|"sysclockOffsetTask"|undefined} Task
* @memberof OracleJob.Task
* @instance
*/
Object.defineProperty(Task.prototype, "Task", {
get: $util.oneOfGetter($oneOfFields = ["httpTask", "jsonParseTask", "medianTask", "meanTask", "websocketTask", "divideTask", "multiplyTask", "lpTokenPriceTask", "lpExchangeRateTask", "conditionalTask", "valueTask", "maxTask", "regexExtractTask", "xstepPriceTask", "addTask", "subtractTask", "twapTask", "serumSwapTask", "powTask", "lendingRateTask", "mangoPerpMarketTask", "jupiterSwapTask", "perpMarketTask", "oracleTask", "anchorFetchTask", "defiKingdomsTask", "tpsTask", "splStakePoolTask", "splTokenParseTask", "uniswapExchangeRateTask", "sushiswapExchangeRateTask", "pancakeswapExchangeRateTask"]),
get: $util.oneOfGetter($oneOfFields = ["httpTask", "jsonParseTask", "medianTask", "meanTask", "websocketTask", "divideTask", "multiplyTask", "lpTokenPriceTask", "lpExchangeRateTask", "conditionalTask", "valueTask", "maxTask", "regexExtractTask", "xstepPriceTask", "addTask", "subtractTask", "twapTask", "serumSwapTask", "powTask", "lendingRateTask", "mangoPerpMarketTask", "jupiterSwapTask", "perpMarketTask", "oracleTask", "anchorFetchTask", "defiKingdomsTask", "tpsTask", "splStakePoolTask", "splTokenParseTask", "uniswapExchangeRateTask", "sushiswapExchangeRateTask", "pancakeswapExchangeRateTask", "cacheTask", "sysclockOffsetTask"]),
set: $util.oneOfSetter($oneOfFields)
});
@ -9187,6 +9602,10 @@
$root.OracleJob.SushiswapExchangeRateTask.encode(message.sushiswapExchangeRateTask, writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim();
if (message.pancakeswapExchangeRateTask != null && Object.hasOwnProperty.call(message, "pancakeswapExchangeRateTask"))
$root.OracleJob.PancakeswapExchangeRateTask.encode(message.pancakeswapExchangeRateTask, writer.uint32(/* id 33, wireType 2 =*/266).fork()).ldelim();
if (message.cacheTask != null && Object.hasOwnProperty.call(message, "cacheTask"))
$root.OracleJob.CacheTask.encode(message.cacheTask, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim();
if (message.sysclockOffsetTask != null && Object.hasOwnProperty.call(message, "sysclockOffsetTask"))
$root.OracleJob.SysclockOffsetTask.encode(message.sysclockOffsetTask, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim();
return writer;
};
@ -9317,6 +9736,12 @@
case 33:
message.pancakeswapExchangeRateTask = $root.OracleJob.PancakeswapExchangeRateTask.decode(reader, reader.uint32());
break;
case 34:
message.cacheTask = $root.OracleJob.CacheTask.decode(reader, reader.uint32());
break;
case 35:
message.sysclockOffsetTask = $root.OracleJob.SysclockOffsetTask.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
@ -9671,6 +10096,26 @@
return "pancakeswapExchangeRateTask." + error;
}
}
if (message.cacheTask != null && message.hasOwnProperty("cacheTask")) {
if (properties.Task === 1)
return "Task: multiple values";
properties.Task = 1;
{
var error = $root.OracleJob.CacheTask.verify(message.cacheTask);
if (error)
return "cacheTask." + error;
}
}
if (message.sysclockOffsetTask != null && message.hasOwnProperty("sysclockOffsetTask")) {
if (properties.Task === 1)
return "Task: multiple values";
properties.Task = 1;
{
var error = $root.OracleJob.SysclockOffsetTask.verify(message.sysclockOffsetTask);
if (error)
return "sysclockOffsetTask." + error;
}
}
return null;
};
@ -9846,6 +10291,16 @@
throw TypeError(".OracleJob.Task.pancakeswapExchangeRateTask: object expected");
message.pancakeswapExchangeRateTask = $root.OracleJob.PancakeswapExchangeRateTask.fromObject(object.pancakeswapExchangeRateTask);
}
if (object.cacheTask != null) {
if (typeof object.cacheTask !== "object")
throw TypeError(".OracleJob.Task.cacheTask: object expected");
message.cacheTask = $root.OracleJob.CacheTask.fromObject(object.cacheTask);
}
if (object.sysclockOffsetTask != null) {
if (typeof object.sysclockOffsetTask !== "object")
throw TypeError(".OracleJob.Task.sysclockOffsetTask: object expected");
message.sysclockOffsetTask = $root.OracleJob.SysclockOffsetTask.fromObject(object.sysclockOffsetTask);
}
return message;
};
@ -10022,6 +10477,16 @@
if (options.oneofs)
object.Task = "pancakeswapExchangeRateTask";
}
if (message.cacheTask != null && message.hasOwnProperty("cacheTask")) {
object.cacheTask = $root.OracleJob.CacheTask.toObject(message.cacheTask, options);
if (options.oneofs)
object.Task = "cacheTask";
}
if (message.sysclockOffsetTask != null && message.hasOwnProperty("sysclockOffsetTask")) {
object.sysclockOffsetTask = $root.OracleJob.SysclockOffsetTask.toObject(message.sysclockOffsetTask, options);
if (options.oneofs)
object.Task = "sysclockOffsetTask";
}
return object;
};

View File

@ -20,9 +20,9 @@ import {
} from "@solana/web3.js";
import Big from "big.js";
import * as crypto from "crypto";
var assert = require("assert");
import { OracleJob } from "./protos";
// eslint-disable-next-line import/extensions
import { OracleJob } from "./protos/index.js";
const assert = require("assert");
/**
* Switchboard Devnet Program ID
@ -173,7 +173,7 @@ export class SwitchboardDecimal {
public toBig(): Big {
let mantissa: anchor.BN = new anchor.BN(this.mantissa, 10);
let s = 1;
let c: Array<number> = [];
const c: Array<number> = [];
const ZERO = new anchor.BN(0, 10);
const TEN = new anchor.BN(10, 10);
if (mantissa.lt(ZERO)) {
@ -239,7 +239,9 @@ export interface VaultTransferParams {
*/
export class ProgramStateAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -417,7 +419,7 @@ export class ProgramStateAccount {
this.program.programId
);
const vault = (await this.loadData()).tokenVault;
return await this.program.methods
return this.program.methods
.vaultTransfer({
stateBump,
amount: params.amount,
@ -582,14 +584,17 @@ export class SwitchboardError {
* The program containing the Switchboard IDL specifying error codes.
*/
program: anchor.Program;
/**
* Stringified name of the error type.
*/
name: string;
/**
* Numerical SwitchboardError representation.
*/
code: number;
/**
* Message describing this error in detail.
*/
@ -605,7 +610,7 @@ export class SwitchboardError {
static fromCode(program: anchor.Program, code: number): SwitchboardError {
for (const e of program.idl.errors ?? []) {
if (code === e.code) {
let r = new SwitchboardError();
const r = new SwitchboardError();
r.program = program;
r.name = e.name;
r.code = e.code;
@ -625,6 +630,7 @@ export class AggregatorHistoryRow {
* Timestamp of the aggregator result.
*/
timestamp: anchor.BN;
/**
* Aggregator value at timestamp.
*/
@ -673,7 +679,9 @@ export interface AggregatorSetUpdateIntervalParams {
*/
export class AggregatorAccount {
program: anchor.Program;
publicKey?: PublicKey;
keypair?: Keypair;
/**
@ -773,10 +781,7 @@ export class AggregatorAccount {
* aggregator info.
* @return latest feed value
*/
async getLatestValue(
aggregator?: any,
decimals: number = 20
): Promise<Big | null> {
async getLatestValue(aggregator?: any, decimals = 20): Promise<Big | null> {
aggregator = aggregator ?? (await this.loadData());
if ((aggregator.latestConfirmedRound?.numSuccess ?? 0) === 0) {
return null;
@ -947,7 +952,7 @@ export class AggregatorAccount {
throw new Error("Failed to load feed jobs.");
}
const jobs = jobAccountDatas.map((item) => {
let decoded = coder.decode("JobAccountData", item.account.data);
const decoded = coder.decode("JobAccountData", item.account.data);
return OracleJob.decodeDelimited(decoded.data);
});
return jobs;
@ -966,7 +971,7 @@ export class AggregatorAccount {
throw new Error("Failed to load feed jobs.");
}
const jobs = jobAccountDatas.map((item) => {
let decoded = coder.decode("JobAccountData", item.account.data);
const decoded = coder.decode("JobAccountData", item.account.data);
return decoded.hash;
});
return jobs;
@ -1042,7 +1047,7 @@ export class AggregatorAccount {
const program = this.program;
const authority =
params.authority ?? this.keypair ?? programWallet(this.program);
return await program.methods
return program.methods
.aggregatorSetBatchSize({
batchSize: params.batchSize,
})
@ -1061,7 +1066,7 @@ export class AggregatorAccount {
const program = this.program;
const authority =
params.authority ?? this.keypair ?? programWallet(this.program);
return await program.rpc.aggregatorSetVarianceThreshold(
return program.rpc.aggregatorSetVarianceThreshold(
{
varianceThreshold: SwitchboardDecimal.fromBig(params.threshold),
},
@ -1081,7 +1086,7 @@ export class AggregatorAccount {
const program = this.program;
const authority =
params.authority ?? this.keypair ?? programWallet(this.program);
return await program.methods
return program.methods
.aggregatorSetMinJobs({
minJobResults: params.minJobResults,
})
@ -1099,7 +1104,7 @@ export class AggregatorAccount {
const program = this.program;
const authority =
params.authority ?? this.keypair ?? programWallet(this.program);
return await program.methods
return program.methods
.aggregatorSetMinOracles({
minOracleResults: params.minOracleResults,
})
@ -1123,7 +1128,7 @@ export class AggregatorAccount {
const DISCRIMINATOR_SIZE = 8;
const size =
params.size * HISTORY_ROW_SIZE + INSERT_IDX_SIZE + DISCRIMINATOR_SIZE;
return await program.methods
return program.methods
.aggregatorSetHistoryBuffer({})
.accounts({
aggregator: this.publicKey,
@ -1151,7 +1156,7 @@ export class AggregatorAccount {
): Promise<TransactionSignature> {
const authority =
params.authority ?? this.keypair ?? programWallet(this.program);
return await this.program.methods
return this.program.methods
.aggregatorSetUpdateInterval({
newInterval: params.newInterval,
})
@ -1168,7 +1173,7 @@ export class AggregatorAccount {
): Promise<TransactionSignature> {
const authority =
params.authority ?? this.keypair ?? programWallet(this.program);
return await this.program.methods
return this.program.methods
.aggregatorSetQueue({})
.accounts({
aggregator: this.publicKey,
@ -1187,10 +1192,10 @@ export class AggregatorAccount {
async addJob(
job: JobAccount,
authority?: Keypair,
weight: number = 1
weight = 1
): Promise<TransactionSignature> {
authority = authority ?? this.keypair ?? programWallet(this.program);
return await this.program.methods
return this.program.methods
.aggregatorAddJob({
weight,
})
@ -1210,7 +1215,7 @@ export class AggregatorAccount {
*/
async lock(authority?: Keypair): Promise<TransactionSignature> {
authority = authority ?? this.keypair ?? programWallet(this.program);
return await this.program.methods
return this.program.methods
.aggregatorLock({})
.accounts({
aggregator: this.publicKey,
@ -1232,7 +1237,7 @@ export class AggregatorAccount {
): Promise<TransactionSignature> {
currentAuthority =
currentAuthority ?? this.keypair ?? programWallet(this.program);
return await this.program.methods
return this.program.methods
.aggregatorSetAuthority({})
.accounts({
aggregator: this.publicKey,
@ -1253,7 +1258,7 @@ export class AggregatorAccount {
authority?: Keypair
): Promise<TransactionSignature> {
authority = authority ?? this.keypair ?? programWallet(this.program);
return await this.program.methods
return this.program.methods
.aggregatorRemoveJob({})
.accounts({
aggregator: this.publicKey,
@ -1308,7 +1313,7 @@ export class AggregatorAccount {
);
}
return await this.program.methods
return this.program.methods
.aggregatorOpenRound({
stateBump,
leaseBump,
@ -1424,7 +1429,7 @@ export class AggregatorAccount {
historyBuffer = this.publicKey;
}
return await this.program.methods
return this.program.methods
.aggregatorSaveResult({
oracleIdx: params.oracleIdx,
error: params.error,
@ -1494,7 +1499,9 @@ export interface JobInitParams {
*/
export class JobAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -1534,7 +1541,7 @@ export class JobAccount {
* @return OracleJob
*/
async loadJob(): Promise<OracleJob> {
let job = await this.loadData();
const job = await this.loadData();
return OracleJob.decodeDelimited(job.data);
}
@ -1670,7 +1677,9 @@ export enum SwitchboardPermissionValue {
*/
export class PermissionAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -1808,7 +1817,7 @@ export class PermissionAccount {
const permission = new Map<string, null>();
permission.set(params.permission.toString(), null);
return await this.program.methods
return this.program.methods
.permissionSet({
permission: Object.fromEntries(permission),
enable: params.enable,
@ -1846,7 +1855,7 @@ export class PermissionAccount {
permission.set(params.permission.toString(), null);
console.log("authority:");
console.log(authPk);
return await this.program.methods
return this.program.methods
.permissionSet({
permission: Object.fromEntries(permission),
enable: params.enable,
@ -1864,11 +1873,9 @@ export class PermissionAccount {
): Promise<TransactionSignature> {
const payerKeypair = programWallet(this.program);
const tx = await this.setVoterWeightTx(params);
return await sendAndConfirmTransaction(
this.program.provider.connection,
tx,
[payerKeypair]
);
return sendAndConfirmTransaction(this.program.provider.connection, tx, [
payerKeypair,
]);
}
async setVoterWeightTx(
@ -1884,7 +1891,7 @@ export class PermissionAccount {
const [programStateAccount, stateBump] = ProgramStateAccount.fromSeed(
this.program
);
let psData = await programStateAccount.loadData();
const psData = await programStateAccount.loadData();
const governance = (
await getGovernance(
@ -1913,7 +1920,7 @@ export class PermissionAccount {
params.govProgram
);
return await this.program.methods
return this.program.methods
.permissionSetVoterWeight({
stateBump,
})
@ -2029,7 +2036,9 @@ export interface OracleQueueSetVrfSettingsParams {
*/
export class OracleQueueAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -2179,7 +2188,7 @@ export class OracleQueueAccount {
): Promise<TransactionSignature> {
const authority =
params.authority ?? this.keypair ?? programWallet(this.program);
return await this.program.methods
return this.program.methods
.oracleQueueSetRewards({
rewards: params.rewards,
})
@ -2194,7 +2203,7 @@ export class OracleQueueAccount {
const authority =
params.authority ?? this.keypair ?? programWallet(this.program);
return await this.program.methods
return this.program.methods
.oracleQueueVrfConfig({
unpermissionedVrfEnabled: params.unpermissionedVrf,
})
@ -2279,7 +2288,9 @@ export interface LeaseWithdrawParams {
*/
export class LeaseAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -2385,7 +2396,7 @@ export class LeaseAccount {
);
const jobWallets: Array<PublicKey> = [];
const walletBumps: Array<number> = [];
for (let idx in jobAccountDatas) {
for (const idx in jobAccountDatas) {
const jobAccountData = jobAccountDatas[idx];
const authority = jobAccountData.authority ?? PublicKey.default;
const [jobWallet, bump] = await PublicKey.findProgramAddress(
@ -2524,7 +2535,7 @@ export class LeaseAccount {
const jobAccountDatas = await aggregatorAccount.loadJobAccounts();
const jobWallets: Array<PublicKey> = [];
const walletBumps: Array<number> = [];
for (let idx in jobAccountDatas) {
for (const idx in jobAccountDatas) {
const jobAccountData = jobAccountDatas[idx];
const authority = jobAccountData.authority ?? PublicKey.default;
const [jobWallet, bump] = await PublicKey.findProgramAddress(
@ -2538,7 +2549,7 @@ export class LeaseAccount {
jobWallets.push(jobWallet);
walletBumps.push(bump);
}
return await program.methods
return program.methods
.leaseExtend({
loadAmount: params.loadAmount,
stateBump,
@ -2585,7 +2596,7 @@ export class LeaseAccount {
queueAccount,
new AggregatorAccount({ program, publicKey: aggregator })
);
return await program.methods
return program.methods
.leaseWithdraw({
amount: params.amount,
stateBump,
@ -2678,6 +2689,7 @@ export class CrankRow {
* Aggregator account pubkey
*/
pubkey: PublicKey;
/**
* Next aggregator update timestamp to order the crank by
*/
@ -2698,7 +2710,9 @@ export class CrankRow {
*/
export class CrankAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -2848,7 +2862,7 @@ export class CrankAccount {
const [programStateAccount, stateBump] = ProgramStateAccount.fromSeed(
this.program
);
return await this.program.methods
return this.program.methods
.crankPush({
stateBump,
permissionBump,
@ -2937,7 +2951,7 @@ export class CrankAccount {
mint = spl.NATIVE_MINT;
}
// const promises: Array<Promise<TransactionSignature>> = [];
return await this.program.methods
return this.program.methods
.crankPop({
stateBump,
leaseBumps: Buffer.from(leaseBumps),
@ -2972,7 +2986,7 @@ export class CrankAccount {
*/
async pop(params: CrankPopParams): Promise<TransactionSignature> {
const payerKeypair = programWallet(this.program);
return await sendAndConfirmTransaction(
return sendAndConfirmTransaction(
this.program.provider.connection,
await this.popTxn(params),
[payerKeypair]
@ -2985,8 +2999,8 @@ export class CrankAccount {
* @return Pubkey list of Aggregators and next timestamp to be popped, ordered by timestamp.
*/
async peakNextWithTime(n: number): Promise<Array<CrankRow>> {
let crank = await this.loadData();
let items = crank.pqData
const crank = await this.loadData();
const items = crank.pqData
.slice(0, crank.pqSize)
.sort((a: CrankRow, b: CrankRow) => a.nextTimestamp.sub(b.nextTimestamp))
.slice(0, n);
@ -3001,9 +3015,9 @@ export class CrankAccount {
*/
async peakNextReady(n?: number): Promise<Array<PublicKey>> {
const now = Math.floor(+new Date() / 1000);
let crank = await this.loadData();
const crank = await this.loadData();
n = n ?? crank.pqSize;
let items = crank.pqData
const items = crank.pqData
.slice(0, crank.pqSize)
.filter((row: CrankRow) => now >= row.nextTimestamp.toNumber())
.sort((a: CrankRow, b: CrankRow) => a.nextTimestamp.sub(b.nextTimestamp))
@ -3011,14 +3025,15 @@ export class CrankAccount {
.map((item: CrankRow) => item.pubkey);
return items;
}
/**
* Get an array of the next aggregator pubkeys to be popped from the crank, limited by n
* @param n The limit of pubkeys to return.
* @return Pubkey list of Aggregators next up to be popped.
*/
async peakNext(n: number): Promise<Array<PublicKey>> {
let crank = await this.loadData();
let items = crank.pqData
const crank = await this.loadData();
const items = crank.pqData
.slice(0, crank.pqSize)
.sort((a: CrankRow, b: CrankRow) => a.nextTimestamp.sub(b.nextTimestamp))
.map((item: CrankRow) => item.pubkey)
@ -3073,7 +3088,9 @@ export interface OracleWithdrawParams {
*/
export class OracleAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -3244,7 +3261,7 @@ export class OracleAccount {
assert(permissionAccount.publicKey !== undefined);
assert(queue.dataBuffer !== undefined);
return await this.program.methods
return this.program.methods
.oracleHeartbeat({
permissionBump,
})
@ -3331,7 +3348,7 @@ export class OracleAccount {
this.publicKey
);
return await this.program.methods
return this.program.methods
.oracleWithdraw({
permissionBump,
stateBump,
@ -3422,7 +3439,9 @@ export interface VrfProveParams {
*/
export class VrfAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -3622,7 +3641,7 @@ export class VrfAccount {
if (idx === vrf.buildersLen) {
throw new Error("OracleProofRequestNotFoundError");
}
return await this.program.methods
return this.program.methods
.vrfProve({
proof: params.proof,
idx,
@ -3638,7 +3657,7 @@ export class VrfAccount {
async verify(
oracle: OracleAccount,
tryCount: number = 278
tryCount = 278
): Promise<Array<TransactionSignature>> {
const skipPreflight = true;
const txs: Array<any> = [];
@ -3649,7 +3668,7 @@ export class VrfAccount {
if (idx === -1) {
throw new Error("OracleNotFoundError");
}
let counter = 0;
const counter = 0;
const remainingAccounts = vrf.callback.accounts.slice(
0,
vrf.callback.accountsLen
@ -3661,8 +3680,8 @@ export class VrfAccount {
const oracleWallet = oracleData.tokenAccount;
const oracleAuthority: PublicKey = oracleData.oracleAuthority;
let instructions = [];
let tx = new Transaction();
const instructions = [];
const tx = new Transaction();
for (let i = 0; i < tryCount; ++i) {
txs.push({
tx: await this.program.methods
@ -3703,7 +3722,7 @@ export class VrfAccount {
*/
async proveAndVerify(
params: VrfProveAndVerifyParams,
tryCount: number = 278
tryCount = 278
): Promise<Array<TransactionSignature>> {
const skipPreflight = params.skipPreflight;
const oracle = params.oracleAccount;
@ -3715,7 +3734,7 @@ export class VrfAccount {
if (idx === -1) {
throw new Error("OracleNotFoundError");
}
let counter = 0;
const counter = 0;
const remainingAccounts = vrf.callback.accounts.slice(
0,
vrf.callback.accountsLen
@ -3727,8 +3746,8 @@ export class VrfAccount {
const oracleWallet = oracleData.tokenAccount;
const oracleAuthority: PublicKey = oracleData.oracleAuthority;
let instructions = [];
let tx = new Transaction();
const instructions = [];
const tx = new Transaction();
for (let i = 0; i < tryCount; ++i) {
txs.push({
tx: await this.program.methods
@ -3773,7 +3792,9 @@ export class VrfAccount {
export class BufferRelayerAccount {
program: anchor.Program;
publicKey: PublicKey;
keypair?: Keypair;
/**
@ -3939,7 +3960,7 @@ export class BufferRelayerAccount {
tx.add(openRoundIx);
const connection = (this.program.provider as anchor.AnchorProvider)
.connection;
return await sendAndConfirmTransaction(connection, tx, [
return sendAndConfirmTransaction(connection, tx, [
programWallet(this.program),
]);
}
@ -3974,7 +3995,7 @@ export class BufferRelayerAccount {
});
const oracleData = await oracleAccount.loadData();
console.log("!!!!");
return await this.program.rpc.bufferRelayerSaveResult(
return this.program.rpc.bufferRelayerSaveResult(
{
stateBump,
permissionBump,
@ -4006,7 +4027,7 @@ export async function sendAll(
signers: Array<Keypair>,
skipPreflight: boolean
): Promise<Array<TransactionSignature>> {
let res: Array<TransactionSignature> = [];
const res: Array<TransactionSignature> = [];
try {
const opts = (provider as anchor.AnchorProvider).opts;
// TODO: maybe finalized
@ -4014,7 +4035,7 @@ export async function sendAll(
let txs = reqs.map((r: any) => {
if (r === null || r === undefined) return new Transaction();
let tx = r.tx;
const tx = r.tx;
let signers = r.signers;
if (signers === undefined) {
@ -4053,7 +4074,7 @@ export async function sendAll(
})
);
}
return Promise.all(promises);
return await Promise.all(promises);
} catch (e) {
console.log(e);
}
@ -4094,15 +4115,15 @@ export function packInstructions(
}
};
for (let ixGroup of instructions) {
let ixs = Array.isArray(ixGroup) ? ixGroup : [ixGroup];
for (const ixGroup of instructions) {
const ixs = Array.isArray(ixGroup) ? ixGroup : [ixGroup];
for (let ix of ixs) {
for (const ix of ixs) {
// add the new transaction
currentTransaction.add(ix);
}
let sigCount: number[] = [];
const sigCount: number[] = [];
encodeLength(sigCount, currentTransaction.signatures.length);
if (
@ -4129,7 +4150,7 @@ export function packInstructions(
currentTransaction.feePayer = feePayer;
currentTransaction.instructions = overflowInstructions;
let newsc: number[] = [];
const newsc: number[] = [];
encodeLength(newsc, currentTransaction.signatures.length);
if (
anchor.web3.PACKET_DATA_SIZE <=
@ -4181,7 +4202,7 @@ export function signTransactions(
signers: Keypair[]
): Transaction[] {
// Sign with all the appropriate signers
for (let transaction of transactions) {
for (const transaction of transactions) {
// Get pubkeys of signers needed
const sigsNeeded = transaction.instructions
.map((instruction) => {
@ -4191,12 +4212,12 @@ export function signTransactions(
.flat();
// Get matching signers in our supplied array
let currentSigners = signers.filter((signer) =>
const currentSigners = signers.filter((signer) =>
Boolean(sigsNeeded.find((sig) => sig.equals(signer.publicKey)))
);
// Sign all transactions
for (let signer of currentSigners) {
for (const signer of currentSigners) {
transaction.partialSign(signer);
}
}

View File

@ -1,16 +1,10 @@
{
"extends": "../../tsconfig.json",
"ts-node": {
"compilerOptions": {
"module": "commonjs",
"target": "ES2019",
"strictFunctionTypes": true,
"noImplicitReturns": true,
"noImplicitAny": true
}
},
"compilerOptions": {
"composite": true,
"moduleResolution": "node",
"target": "es2019",
"module": "ES2020",
"rootDir": "src",
"noImplicitAny": false,
"outDir": "lib/esm",
@ -19,11 +13,12 @@
"noImplicitReturns": false,
"importsNotUsedAsValues": "preserve",
"strict": false,
"allowSyntheticDefaultImports": true,
"noEmit": false,
"emitDeclarationOnly": false,
"types": ["mocha", "node", "long"],
"allowJs": true,
"checkJs": false,
// "allowJs": true,
// "checkJs": false,
"sourceMap": true,
"inlineSources": true,
"lib": ["esnext"],

View File

@ -27,7 +27,7 @@
"dependencies": {
"@project-serum/anchor": "^0.24.2",
"@solana/web3.js": "^1.33.0",
"@switchboard-xyz/switchboard-v2": "^0.0.103",
"@switchboard-xyz/switchboard-v2": "^0.0.105",
"big.js": "^6.1.1"
}
}

View File

@ -20,7 +20,7 @@
"@project-serum/anchor": "^0.24.2",
"@solana/spl-token": "^0.2.0",
"@solana/web3.js": "^1.37.1",
"@switchboard-xyz/switchboard-v2": "^0.0.103",
"@switchboard-xyz/switchboard-v2": "^0.0.105",
"@switchboard-xyz/v2-task-library": "^0.1.1",
"chalk": "^4.1.2",
"dotenv": "^16.0.0",

View File

@ -17,7 +17,7 @@
"@project-serum/anchor": "^0.24.2",
"@solana/web3.js": "1.33.0",
"@switchboard-xyz/sbv2-utils": "^0.1.16",
"@switchboard-xyz/switchboard-v2": "^0.0.103",
"@switchboard-xyz/switchboard-v2": "^0.0.105",
"dotenv": "^16.0.0",
"node-pagerduty": "^1.3.6"
},

View File

@ -14,7 +14,7 @@
"@project-serum/anchor": "^0.24.2",
"@solana/web3.js": "^1.42.0",
"@switchboard-xyz/sbv2-utils": "^0.1.16",
"@switchboard-xyz/switchboard-v2": "^0.0.103"
"@switchboard-xyz/switchboard-v2": "^0.0.105"
},
"devDependencies": {
"@types/chai": "^4.3.0",

View File

@ -15,7 +15,7 @@
"@solana/spl-token": "^0.1.8",
"@solana/web3.js": "^1.42.0",
"@switchboard-xyz/sbv2-utils": "^0.1.16",
"@switchboard-xyz/switchboard-v2": "^0.0.103",
"@switchboard-xyz/switchboard-v2": "^0.0.105",
"chalk": "^4.1.2",
"child_process": "^1.0.2",
"dotenv": "^16.0.0"

View File

@ -16,7 +16,7 @@
"@project-serum/anchor": "^0.24.2",
"@solana/web3.js": "^1.42.0",
"@switchboard-xyz/sbv2-utils": "^0.1.16",
"@switchboard-xyz/switchboard-v2": "^0.0.103"
"@switchboard-xyz/switchboard-v2": "^0.0.105"
},
"devDependencies": {
"@types/chai": "^4.3.0",

View File

@ -22,7 +22,7 @@
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
/* Language and Environment */
"target": "es2019" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
"target": "ES2015" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
"lib": [
"es2019",
"dom"
@ -38,7 +38,7 @@
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
/* Modules */
"module": "commonjs" /* Specify what module code is generated. */,
"module": "ES2020" /* Specify what module code is generated. */,
// "rootDir": "./", /* Specify the root folder within your source files. */
"moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */,
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */

260
yarn.lock
View File

@ -4376,16 +4376,6 @@
buffer-layout "^1.2.0"
dotenv "10.0.0"
"@solana/spl-token@^0.2.0":
version "0.2.0"
resolved "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.2.0.tgz"
integrity sha512-RWcn31OXtdqIxmkzQfB2R+WpsJOVS6rKuvpxJFjvik2LyODd+WN58ZP3Rpjpro03fscGAkzlFuP3r42doRJgyQ==
dependencies:
"@solana/buffer-layout" "^4.0.0"
"@solana/buffer-layout-utils" "^0.2.0"
"@solana/web3.js" "^1.32.0"
start-server-and-test "^1.14.0"
"@solana/web3.js@1.33.0":
version "1.33.0"
resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.33.0.tgz"
@ -4429,7 +4419,7 @@
tweetnacl "^1.0.0"
ws "^7.0.0"
"@solana/web3.js@^1.10.0", "@solana/web3.js@^1.17.0", "@solana/web3.js@^1.20.0", "@solana/web3.js@^1.21.0", "@solana/web3.js@^1.22.0", "@solana/web3.js@^1.24.1", "@solana/web3.js@^1.32.0", "@solana/web3.js@^1.33.0", "@solana/web3.js@^1.35.1", "@solana/web3.js@^1.36.0", "@solana/web3.js@^1.37.1":
"@solana/web3.js@^1.10.0", "@solana/web3.js@^1.17.0", "@solana/web3.js@^1.20.0", "@solana/web3.js@^1.21.0", "@solana/web3.js@^1.22.0", "@solana/web3.js@^1.24.1", "@solana/web3.js@^1.32.0", "@solana/web3.js@^1.35.1", "@solana/web3.js@^1.36.0":
version "1.37.1"
resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.37.1.tgz"
integrity sha512-1zm1blRU6ANb8bOfONibKkNKoMyzE1e0Z88MagyRLF1AmfHc+18lFvqxSQKUdazLMHcioZ28h+GfyAaeCT63iA==
@ -4678,11 +4668,6 @@
"@svgr/plugin-jsx" "^6.2.1"
"@svgr/plugin-svgo" "^6.2.0"
"@switchboard-xyz/v2-task-library@^0.1.1":
version "0.1.5"
resolved "https://registry.npmjs.org/@switchboard-xyz/v2-task-library/-/v2-task-library-0.1.5.tgz"
integrity sha512-jMjjpRdBEccU5hI0LaceWe68cxazGi6QX0CRevAWidO3n8tAKn3IXcvbD4rRWfZGuoSrhDpNN1Dq4lc/3K4syA==
"@szmarczak/http-timer@^1.1.2":
version "1.1.2"
resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz"
@ -4769,7 +4754,7 @@
dependencies:
"@types/node" "*"
"@types/chai@*", "@types/chai@^4.3.0", "@types/chai@^4.3.1":
"@types/chai@*", "@types/chai@^4.3.1":
version "4.3.1"
resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz"
integrity sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==
@ -5029,11 +5014,6 @@
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/readline-sync@^1.4.4":
version "1.4.4"
resolved "https://registry.npmjs.org/@types/readline-sync/-/readline-sync-1.4.4.tgz"
integrity sha512-cFjVIoiamX7U6zkO2VPvXyTxbFDdiRo902IarJuPVxBhpDnXhwSaVE86ip+SCuyWBbEioKCkT4C88RNTxBM1Dw==
"@types/retry@*", "@types/retry@^0.12.0", "@types/retry@^0.12.1":
version "0.12.1"
resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz"
@ -5109,7 +5089,7 @@
dependencies:
"@types/node" "*"
"@typescript-eslint/eslint-plugin@^4.31.2", "@typescript-eslint/eslint-plugin@^4.33.0":
"@typescript-eslint/eslint-plugin@^4.31.2":
version "4.33.0"
resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz"
integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==
@ -5150,7 +5130,7 @@
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
"@typescript-eslint/parser@^4.31.2", "@typescript-eslint/parser@^4.33.0":
"@typescript-eslint/parser@^4.31.2":
version "4.33.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz"
integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==
@ -5787,7 +5767,7 @@ array.prototype.flat@^1.2.5:
es-abstract "^1.19.2"
es-shim-unscopables "^1.0.0"
arrify@^1.0.0, arrify@^1.0.1:
arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
@ -5903,13 +5883,6 @@ aws4@^1.8.0:
resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
axios@^0.21.1:
version "0.21.4"
resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz"
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
dependencies:
follow-redirects "^1.14.0"
axios@^0.25.0:
version "0.25.0"
resolved "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz"
@ -6100,7 +6073,7 @@ bl@^4.0.3:
inherits "^2.0.4"
readable-stream "^3.4.0"
bluebird@3.7.2, bluebird@^3.7.1:
bluebird@^3.7.1:
version "3.7.2"
resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@ -6267,7 +6240,7 @@ buffer-equal-constant-time@1.0.1:
resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz"
integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
buffer-from@^1.0.0, buffer-from@^1.1.0:
buffer-from@^1.0.0:
version "1.1.2"
resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
@ -6545,11 +6518,6 @@ check-error@^1.0.2:
resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz"
integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
check-more-types@2.24.0:
version "2.24.0"
resolved "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz"
integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=
cheerio-select@^1.5.0:
version "1.6.0"
resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz"
@ -6596,11 +6564,6 @@ cheerio@^1.0.0-rc.10:
parse5-htmlparser2-tree-adapter "^6.0.1"
tslib "^2.2.0"
child_process@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/child_process/-/child_process-1.0.2.tgz"
integrity sha1-sffn/HPSXn/R1FWtyU4UODAYK1o=
chokidar@3.5.3, chokidar@^3.4.2, chokidar@^3.5.3:
version "3.5.3"
resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
@ -7631,13 +7594,6 @@ debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, d
dependencies:
ms "2.1.2"
debug@4.3.2:
version "4.3.2"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
dependencies:
ms "2.1.2"
debug@4.3.3:
version "4.3.3"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz"
@ -7863,11 +7819,6 @@ diff@5.0.0, diff@^5.0.0:
resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz"
integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
diff@^3.1.0:
version "3.5.0"
resolved "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz"
integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
diff@^4.0.1:
version "4.0.2"
resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"
@ -8029,7 +7980,7 @@ duplexer3@^0.1.4:
resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz"
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
duplexer@^0.1.1, duplexer@^0.1.2, duplexer@~0.1.1:
duplexer@^0.1.1, duplexer@^0.1.2:
version "0.1.2"
resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz"
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
@ -8305,15 +8256,6 @@ esdoc-inject-style-plugin@^1.0.0:
cheerio "0.22.0"
fs-extra "1.0.0"
eslint-config-airbnb-base@^14.2.1:
version "14.2.1"
resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz"
integrity sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==
dependencies:
confusing-browser-globals "^1.0.10"
object.assign "^4.1.2"
object.entries "^1.1.2"
eslint-config-airbnb-base@^15.0.0:
version "15.0.0"
resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz"
@ -8324,13 +8266,6 @@ eslint-config-airbnb-base@^15.0.0:
object.entries "^1.1.5"
semver "^6.3.0"
eslint-config-airbnb-typescript@^14.0.1:
version "14.0.2"
resolved "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-14.0.2.tgz"
integrity sha512-oaVR63DqpRUiOOeSVxIzhD3FXbqJRH+7Lt9GCMsS9SKgrRW3XpZINN2FO4JEsnaHEGkktumd0AHE9K7KQNuXSQ==
dependencies:
eslint-config-airbnb-base "^14.2.1"
eslint-config-airbnb-typescript@^17.0.0:
version "17.0.0"
resolved "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.0.0.tgz"
@ -8425,7 +8360,7 @@ eslint-plugin-es@^3.0.0:
eslint-utils "^2.0.0"
regexpp "^3.0.0"
eslint-plugin-import@^2.24.2, eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.26.0:
eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.26.0:
version "2.26.0"
resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b"
integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==
@ -8489,27 +8424,6 @@ eslint-plugin-unicorn@^36.0.0:
safe-regex "^2.1.1"
semver "^7.3.5"
eslint-plugin-unicorn@^37.0.1:
version "37.0.1"
resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-37.0.1.tgz"
integrity sha512-E1jq5u9ojnadisJcPi+hMXTGSiIzkIUMDvWsBudsCGXvKUB2aNSU2TcfyW2/jAS5A4ryBXfzxLykMxX1EdluSQ==
dependencies:
"@babel/helper-validator-identifier" "^7.14.9"
ci-info "^3.2.0"
clean-regexp "^1.0.0"
eslint-template-visitor "^2.3.2"
eslint-utils "^3.0.0"
esquery "^1.4.0"
indent-string "4"
is-builtin-module "^3.1.0"
lodash "^4.17.21"
pluralize "^8.0.0"
read-pkg-up "^7.0.1"
regexp-tree "^0.1.23"
safe-regex "^2.1.1"
semver "^7.3.5"
strip-indent "^3.0.0"
eslint-plugin-unicorn@^39.0.0:
version "39.0.0"
resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-39.0.0.tgz"
@ -8587,7 +8501,7 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0:
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@^7.28.0, eslint@^7.32.0:
eslint@^7.28.0:
version "7.32.0"
resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz"
integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
@ -8803,19 +8717,6 @@ eval@^0.1.8:
"@types/node" "*"
require-like ">= 0.1.1"
event-stream@=3.3.4:
version "3.3.4"
resolved "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz"
integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=
dependencies:
duplexer "~0.1.1"
from "~0"
map-stream "~0.1.0"
pause-stream "0.0.11"
split "0.3"
stream-combiner "~0.0.4"
through "~2.3.1"
event-target-shim@^5.0.0:
version "5.0.1"
resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz"
@ -8836,7 +8737,20 @@ events@^3.2.0:
resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
execa@5.1.1, execa@^5.0.0:
execa@^0.10.0:
version "0.10.0"
resolved "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz"
integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==
dependencies:
cross-spawn "^6.0.0"
get-stream "^3.0.0"
is-stream "^1.1.0"
npm-run-path "^2.0.0"
p-finally "^1.0.0"
signal-exit "^3.0.0"
strip-eof "^1.0.0"
execa@^5.0.0:
version "5.1.1"
resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
@ -8851,19 +8765,6 @@ execa@5.1.1, execa@^5.0.0:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
execa@^0.10.0:
version "0.10.0"
resolved "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz"
integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==
dependencies:
cross-spawn "^6.0.0"
get-stream "^3.0.0"
is-stream "^1.1.0"
npm-run-path "^2.0.0"
p-finally "^1.0.0"
signal-exit "^3.0.0"
strip-eof "^1.0.0"
express@^4.17.3:
version "4.18.0"
resolved "https://registry.npmjs.org/express/-/express-4.18.0.tgz"
@ -9226,7 +9127,7 @@ fn.name@1.x.x:
resolved "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz"
integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
follow-redirects@^1.0.0, follow-redirects@^1.14.0, follow-redirects@^1.14.7:
follow-redirects@^1.0.0, follow-redirects@^1.14.7:
version "1.14.9"
resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz"
integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
@ -9299,11 +9200,6 @@ fresh@0.5.2:
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
from@~0:
version "0.1.7"
resolved "https://registry.npmjs.org/from/-/from-0.1.7.tgz"
integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=
fromentries@^1.2.0:
version "1.3.2"
resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz"
@ -10971,7 +10867,7 @@ jmespath@0.16.0:
resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz"
integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==
joi@^17.4.0, joi@^17.6.0:
joi@^17.6.0:
version "17.6.0"
resolved "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz"
integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==
@ -11223,11 +11119,6 @@ latest-version@^5.1.0:
dependencies:
package-json "^6.3.0"
lazy-ass@1.6.0:
version "1.6.0"
resolved "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz"
integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM=
lerna@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz"
@ -11757,11 +11648,6 @@ map-obj@^4.0.0:
resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz"
integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
map-stream@~0.1.0:
version "0.1.0"
resolved "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz"
integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=
markdown-escapes@^1.0.0:
version "1.0.4"
resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz"
@ -12101,7 +11987,7 @@ mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1:
dependencies:
minimist "^1.2.6"
mocha@^9.0.3, mocha@^9.1.1, mocha@^9.1.3, mocha@^9.2.2:
mocha@^9.1.1, mocha@^9.1.3, mocha@^9.2.2:
version "9.2.2"
resolved "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz"
integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==
@ -12752,7 +12638,7 @@ object.assign@^4.1.0, object.assign@^4.1.2:
has-symbols "^1.0.1"
object-keys "^1.1.1"
object.entries@^1.1.2, object.entries@^1.1.5:
object.entries@^1.1.5:
version "1.1.5"
resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz"
integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==
@ -13237,13 +13123,6 @@ pathval@^1.1.1:
resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz"
integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
pause-stream@0.0.11:
version "0.0.11"
resolved "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz"
integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=
dependencies:
through "~2.3"
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"
@ -13648,7 +13527,7 @@ prettier-plugin-organize-imports@^2.3.4:
resolved "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-2.3.4.tgz"
integrity sha512-R8o23sf5iVL/U71h9SFUdhdOEPsi3nm42FD/oDYIZ2PQa4TNWWuWecxln6jlIQzpZTDMUeO1NicJP6lLn2TtRw==
prettier@^2.4.1, prettier@^2.5.0, prettier@^2.5.1:
prettier@^2.5.0, prettier@^2.5.1:
version "2.6.2"
resolved "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz"
integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==
@ -13808,13 +13687,6 @@ proxy-addr@~2.0.7:
forwarded "0.2.0"
ipaddr.js "1.9.1"
ps-tree@1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz"
integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==
dependencies:
event-stream "=3.3.4"
psl@^1.1.24, psl@^1.1.28:
version "1.8.0"
resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz"
@ -14775,7 +14647,7 @@ rxjs@^6.6.0:
dependencies:
tslib "^1.9.0"
rxjs@^7.1.0, rxjs@^7.5.4:
rxjs@^7.5.4:
version "7.5.5"
resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz"
integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==
@ -15218,7 +15090,7 @@ source-map-js@^1.0.2:
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
source-map-support@^0.5.6, source-map-support@~0.5.20:
source-map-support@~0.5.20:
version "0.5.21"
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
@ -15321,13 +15193,6 @@ split2@^3.0.0:
dependencies:
readable-stream "^3.0.0"
split@0.3:
version "0.3.3"
resolved "https://registry.npmjs.org/split/-/split-0.3.3.tgz"
integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=
dependencies:
through "2"
split@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz"
@ -15372,19 +15237,6 @@ stack-trace@0.0.x:
resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz"
integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
start-server-and-test@^1.14.0:
version "1.14.0"
resolved "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.14.0.tgz"
integrity sha512-on5ELuxO2K0t8EmNj9MtVlFqwBMxfWOhu4U7uZD1xccVpFlOQKR93CSe0u98iQzfNxRyaNTb/CdadbNllplTsw==
dependencies:
bluebird "3.7.2"
check-more-types "2.24.0"
debug "4.3.2"
execa "5.1.1"
lazy-ass "1.6.0"
ps-tree "1.2.0"
wait-on "6.0.0"
state-toggle@^1.0.0:
version "1.0.3"
resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz"
@ -15418,13 +15270,6 @@ stealthy-require@^1.1.0:
resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz"
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
stream-combiner@~0.0.4:
version "0.0.4"
resolved "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz"
integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=
dependencies:
duplexer "~0.1.1"
stream-shift@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz"
@ -15880,7 +15725,7 @@ through2@^4.0.0:
dependencies:
readable-stream "3"
through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@~2.3, through@~2.3.1:
through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6:
version "2.3.8"
resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
@ -16026,15 +15871,6 @@ trough@^1.0.0:
resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz"
integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
ts-mocha@^9.0.2:
version "9.0.2"
resolved "https://registry.npmjs.org/ts-mocha/-/ts-mocha-9.0.2.tgz"
integrity sha512-WyQjvnzwrrubl0JT7EC1yWmNpcsU3fOuBFfdps30zbmFBgKniSaSOyZMZx+Wq7kytUs5CY+pEbSYEbGfIKnXTw==
dependencies:
ts-node "7.0.1"
optionalDependencies:
tsconfig-paths "^3.5.0"
ts-morph@^13.0.3:
version "13.0.3"
resolved "https://registry.npmjs.org/ts-morph/-/ts-morph-13.0.3.tgz#c0c51d1273ae2edb46d76f65161eb9d763444c1d"
@ -16043,20 +15879,6 @@ ts-morph@^13.0.3:
"@ts-morph/common" "~0.12.3"
code-block-writer "^11.0.0"
ts-node@7.0.1:
version "7.0.1"
resolved "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz"
integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==
dependencies:
arrify "^1.0.0"
buffer-from "^1.1.0"
diff "^3.1.0"
make-error "^1.1.1"
minimist "^1.2.0"
mkdirp "^0.5.1"
source-map-support "^0.5.6"
yn "^2.0.0"
ts-node@^10.4.0, ts-node@^10.7.0:
version "10.7.0"
resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz"
@ -16076,7 +15898,7 @@ ts-node@^10.4.0, ts-node@^10.7.0:
v8-compile-cache-lib "^3.0.0"
yn "3.1.1"
tsconfig-paths@^3.14.1, tsconfig-paths@^3.5.0:
tsconfig-paths@^3.14.1:
version "3.14.1"
resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz"
integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==
@ -16651,17 +16473,6 @@ vscode-uri@^3.0.3:
resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.3.tgz"
integrity sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==
wait-on@6.0.0:
version "6.0.0"
resolved "https://registry.npmjs.org/wait-on/-/wait-on-6.0.0.tgz"
integrity sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==
dependencies:
axios "^0.21.1"
joi "^17.4.0"
lodash "^4.17.21"
minimist "^1.2.5"
rxjs "^7.1.0"
wait-on@^6.0.1:
version "6.0.1"
resolved "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz"
@ -17224,11 +17035,6 @@ yn@3.1.1:
resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
yn@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz"
integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"