├── .gitignore ├── README.md ├── package.json ├── src ├── RaydiumSwap.ts └── index.ts ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # USE AT YOUR OWN RISK! 2 | 3 | # raydium-swap 4 | 5 | This repo is an example of making a swap SOL -> PYTH, by default it does not execute any transactions, just does the simulation, edit the variable `executeSwap` in `src/index.ts` to execute the swap transaction. 6 | 7 | `yarn && RPC_URL="" WALLET_PRIVATE_KEY="" yarn start` 8 | 9 | ## Useful links 10 | 11 | - [Raydiyum Swap Program](https://github.com/raydium-io/raydium-amm) 12 | - [Soldev Course](https://www.soldev.app/course) 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "raydium-swap", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "ts-node ./src/index.ts" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@project-serum/anchor": "^0.26.0", 13 | "@solana/spl-token": "^0.3.11", 14 | "ts-node": "^10.9.2", 15 | "typescript": "^5.3.3", 16 | "@raydium-io/raydium-sdk": "^1.3.1-beta.46" 17 | }, 18 | "devDependencies": { 19 | "@types/node": "^18.11.13" 20 | } 21 | } -------------------------------------------------------------------------------- /src/RaydiumSwap.ts: -------------------------------------------------------------------------------- 1 | import { 2 | Connection, 3 | PublicKey, 4 | Keypair, 5 | Transaction, 6 | VersionedTransaction, 7 | TransactionMessage, 8 | GetProgramAccountsResponse, 9 | } from '@solana/web3.js' 10 | import { 11 | Liquidity, 12 | LiquidityPoolKeys, 13 | jsonInfo2PoolKeys, 14 | LiquidityPoolJsonInfo, 15 | TokenAccount, 16 | Token, 17 | TokenAmount, 18 | TOKEN_PROGRAM_ID, 19 | Percent, 20 | SPL_ACCOUNT_LAYOUT, 21 | LIQUIDITY_STATE_LAYOUT_V4, 22 | MARKET_STATE_LAYOUT_V3, 23 | Market, 24 | } from '@raydium-io/raydium-sdk' 25 | import { Wallet } from '@project-serum/anchor' 26 | import base58 from 'bs58' 27 | import { existsSync } from 'fs' 28 | import { readFile, writeFile } from 'fs/promises' 29 | 30 | class RaydiumSwap { 31 | static RAYDIUM_V4_PROGRAM_ID = '675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8' 32 | 33 | allPoolKeysJson: LiquidityPoolJsonInfo[] 34 | connection: Connection 35 | wallet: Wallet 36 | 37 | constructor(RPC_URL: string, WALLET_PRIVATE_KEY: string) { 38 | this.connection = new Connection(RPC_URL, { commitment: 'confirmed' }) 39 | this.wallet = new Wallet(Keypair.fromSecretKey(base58.decode(WALLET_PRIVATE_KEY))) 40 | } 41 | 42 | async loadPoolKeys() { 43 | try { 44 | if (existsSync('pools.json')) { 45 | this.allPoolKeysJson = JSON.parse((await readFile('pools.json')).toString()) 46 | return 47 | } 48 | 49 | throw new Error('no file found') 50 | } catch (error) { 51 | const liquidityJsonResp = await fetch('https://api.raydium.io/v2/sdk/liquidity/mainnet.json') 52 | if (!liquidityJsonResp.ok) return [] 53 | const liquidityJson = (await liquidityJsonResp.json()) as { official: any; unOfficial: any } 54 | const allPoolKeysJson = [...(liquidityJson?.official ?? []), ...(liquidityJson?.unOfficial ?? [])] 55 | 56 | this.allPoolKeysJson = allPoolKeysJson 57 | await writeFile('pools.json', JSON.stringify(allPoolKeysJson)) 58 | } 59 | } 60 | 61 | findPoolInfoForTokens(mintA: string, mintB: string) { 62 | const poolData = this.allPoolKeysJson.find( 63 | (i) => (i.baseMint === mintA && i.quoteMint === mintB) || (i.baseMint === mintB && i.quoteMint === mintA) 64 | ) 65 | 66 | if (!poolData) return null 67 | 68 | return jsonInfo2PoolKeys(poolData) as LiquidityPoolKeys 69 | } 70 | 71 | private async _getProgramAccounts(baseMint: string, quoteMint: string): Promise { 72 | const layout = LIQUIDITY_STATE_LAYOUT_V4 73 | 74 | return this.connection.getProgramAccounts(new PublicKey(RaydiumSwap.RAYDIUM_V4_PROGRAM_ID), { 75 | filters: [ 76 | { dataSize: layout.span }, 77 | { 78 | memcmp: { 79 | offset: layout.offsetOf('baseMint'), 80 | bytes: new PublicKey(baseMint).toBase58(), 81 | }, 82 | }, 83 | { 84 | memcmp: { 85 | offset: layout.offsetOf('quoteMint'), 86 | bytes: new PublicKey(quoteMint).toBase58(), 87 | }, 88 | }, 89 | ], 90 | }) 91 | } 92 | 93 | async getProgramAccounts(baseMint: string, quoteMint: string) { 94 | const response = await Promise.all([ 95 | this._getProgramAccounts(baseMint, quoteMint), 96 | this._getProgramAccounts(quoteMint, baseMint), 97 | ]) 98 | 99 | return response.filter((r) => r.length > 0)[0] || [] 100 | } 101 | 102 | async findRaydiumPoolInfo(baseMint: string, quoteMint: string): Promise { 103 | const layout = LIQUIDITY_STATE_LAYOUT_V4 104 | 105 | const programData = await this.getProgramAccounts(baseMint, quoteMint) 106 | 107 | const collectedPoolResults = programData 108 | .map((info) => ({ 109 | id: new PublicKey(info.pubkey), 110 | version: 4, 111 | programId: new PublicKey(RaydiumSwap.RAYDIUM_V4_PROGRAM_ID), 112 | ...layout.decode(info.account.data), 113 | })) 114 | .flat() 115 | 116 | const pool = collectedPoolResults[0] 117 | 118 | if (!pool) return null 119 | 120 | const market = await this.connection.getAccountInfo(pool.marketId).then((item) => ({ 121 | programId: item.owner, 122 | ...MARKET_STATE_LAYOUT_V3.decode(item.data), 123 | })) 124 | 125 | const authority = Liquidity.getAssociatedAuthority({ 126 | programId: new PublicKey(RaydiumSwap.RAYDIUM_V4_PROGRAM_ID), 127 | }).publicKey 128 | 129 | const marketProgramId = market.programId 130 | 131 | const poolKeys = { 132 | id: pool.id, 133 | baseMint: pool.baseMint, 134 | quoteMint: pool.quoteMint, 135 | lpMint: pool.lpMint, 136 | baseDecimals: Number.parseInt(pool.baseDecimal.toString()), 137 | quoteDecimals: Number.parseInt(pool.quoteDecimal.toString()), 138 | lpDecimals: Number.parseInt(pool.baseDecimal.toString()), 139 | version: pool.version, 140 | programId: pool.programId, 141 | openOrders: pool.openOrders, 142 | targetOrders: pool.targetOrders, 143 | baseVault: pool.baseVault, 144 | quoteVault: pool.quoteVault, 145 | marketVersion: 3, 146 | authority: authority, 147 | marketProgramId, 148 | marketId: market.ownAddress, 149 | marketAuthority: Market.getAssociatedAuthority({ 150 | programId: marketProgramId, 151 | marketId: market.ownAddress, 152 | }).publicKey, 153 | marketBaseVault: market.baseVault, 154 | marketQuoteVault: market.quoteVault, 155 | marketBids: market.bids, 156 | marketAsks: market.asks, 157 | marketEventQueue: market.eventQueue, 158 | withdrawQueue: pool.withdrawQueue, 159 | lpVault: pool.lpVault, 160 | lookupTableAccount: PublicKey.default, 161 | } as LiquidityPoolKeys 162 | 163 | return poolKeys 164 | } 165 | 166 | async getOwnerTokenAccounts() { 167 | const walletTokenAccount = await this.connection.getTokenAccountsByOwner(this.wallet.publicKey, { 168 | programId: TOKEN_PROGRAM_ID, 169 | }) 170 | 171 | return walletTokenAccount.value.map((i) => ({ 172 | pubkey: i.pubkey, 173 | programId: i.account.owner, 174 | accountInfo: SPL_ACCOUNT_LAYOUT.decode(i.account.data), 175 | })) 176 | } 177 | 178 | async getSwapTransaction( 179 | toToken: string, 180 | amount: number, 181 | poolKeys: LiquidityPoolKeys, 182 | maxLamports: number = 100000, 183 | useVersionedTransaction = true, 184 | fixedSide: 'in' | 'out' = 'in', 185 | slippage: number = 5 186 | ): Promise { 187 | const directionIn = poolKeys.quoteMint.toString() == toToken 188 | const { minAmountOut, amountIn } = await this.calcAmountOut(poolKeys, amount, slippage, directionIn) 189 | 190 | const userTokenAccounts = await this.getOwnerTokenAccounts() 191 | const swapTransaction = await Liquidity.makeSwapInstructionSimple({ 192 | connection: this.connection, 193 | makeTxVersion: useVersionedTransaction ? 0 : 1, 194 | poolKeys: { 195 | ...poolKeys, 196 | }, 197 | userKeys: { 198 | tokenAccounts: userTokenAccounts, 199 | owner: this.wallet.publicKey, 200 | }, 201 | amountIn: amountIn, 202 | amountOut: minAmountOut, 203 | fixedSide: fixedSide, 204 | config: { 205 | bypassAssociatedCheck: false, 206 | }, 207 | computeBudgetConfig: { 208 | microLamports: maxLamports, 209 | }, 210 | }) 211 | 212 | const recentBlockhashForSwap = await this.connection.getLatestBlockhash() 213 | const instructions = swapTransaction.innerTransactions[0].instructions.filter(Boolean) 214 | 215 | if (useVersionedTransaction) { 216 | const versionedTransaction = new VersionedTransaction( 217 | new TransactionMessage({ 218 | payerKey: this.wallet.publicKey, 219 | recentBlockhash: recentBlockhashForSwap.blockhash, 220 | instructions: instructions, 221 | }).compileToV0Message() 222 | ) 223 | 224 | versionedTransaction.sign([this.wallet.payer]) 225 | 226 | return versionedTransaction 227 | } 228 | 229 | const legacyTransaction = new Transaction({ 230 | blockhash: recentBlockhashForSwap.blockhash, 231 | lastValidBlockHeight: recentBlockhashForSwap.lastValidBlockHeight, 232 | feePayer: this.wallet.publicKey, 233 | }) 234 | 235 | legacyTransaction.add(...instructions) 236 | 237 | return legacyTransaction 238 | } 239 | 240 | async sendLegacyTransaction(tx: Transaction) { 241 | const txid = await this.connection.sendTransaction(tx, [this.wallet.payer], { 242 | skipPreflight: true, 243 | }) 244 | 245 | return txid 246 | } 247 | 248 | async sendVersionedTransaction(tx: VersionedTransaction) { 249 | const txid = await this.connection.sendTransaction(tx, { 250 | skipPreflight: true, 251 | }) 252 | 253 | return txid 254 | } 255 | 256 | async simulateLegacyTransaction(tx: Transaction) { 257 | const txid = await this.connection.simulateTransaction(tx, [this.wallet.payer]) 258 | 259 | return txid 260 | } 261 | 262 | async simulateVersionedTransaction(tx: VersionedTransaction) { 263 | const txid = await this.connection.simulateTransaction(tx) 264 | 265 | return txid 266 | } 267 | 268 | getTokenAccountByOwnerAndMint(mint: PublicKey) { 269 | return { 270 | programId: TOKEN_PROGRAM_ID, 271 | pubkey: PublicKey.default, 272 | accountInfo: { 273 | mint: mint, 274 | amount: 0, 275 | }, 276 | } as unknown as TokenAccount 277 | } 278 | 279 | async calcAmountOut( 280 | poolKeys: LiquidityPoolKeys, 281 | rawAmountIn: number, 282 | slippage: number = 5, 283 | swapInDirection: boolean 284 | ) { 285 | const poolInfo = await Liquidity.fetchInfo({ connection: this.connection, poolKeys }) 286 | 287 | let currencyInMint = poolKeys.baseMint 288 | let currencyInDecimals = poolInfo.baseDecimals 289 | let currencyOutMint = poolKeys.quoteMint 290 | let currencyOutDecimals = poolInfo.quoteDecimals 291 | 292 | if (!swapInDirection) { 293 | currencyInMint = poolKeys.quoteMint 294 | currencyInDecimals = poolInfo.quoteDecimals 295 | currencyOutMint = poolKeys.baseMint 296 | currencyOutDecimals = poolInfo.baseDecimals 297 | } 298 | 299 | const currencyIn = new Token(TOKEN_PROGRAM_ID, currencyInMint, currencyInDecimals) 300 | const amountIn = new TokenAmount(currencyIn, rawAmountIn.toFixed(currencyInDecimals), false) 301 | const currencyOut = new Token(TOKEN_PROGRAM_ID, currencyOutMint, currencyOutDecimals) 302 | const slippageX = new Percent(slippage, 100) // 5% slippage 303 | 304 | const { amountOut, minAmountOut, currentPrice, executionPrice, priceImpact, fee } = Liquidity.computeAmountOut({ 305 | poolKeys, 306 | poolInfo, 307 | amountIn, 308 | currencyOut, 309 | slippage: slippageX, 310 | }) 311 | 312 | return { 313 | amountIn, 314 | amountOut, 315 | minAmountOut, 316 | currentPrice, 317 | executionPrice, 318 | priceImpact, 319 | fee, 320 | } 321 | } 322 | } 323 | 324 | export default RaydiumSwap 325 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import RaydiumSwap from './RaydiumSwap' 2 | import { Transaction, VersionedTransaction, LAMPORTS_PER_SOL } from '@solana/web3.js' 3 | 4 | const swap = async () => { 5 | const executeSwap = false // Change to true to execute swap 6 | const useVersionedTransaction = true // Use versioned transaction 7 | const tokenAAmount = 0.01 // e.g. 0.01 SOL -> B_TOKEN 8 | 9 | const baseMint = 'So11111111111111111111111111111111111111112' // e.g. SOLANA mint address 10 | const quoteMint = 'HZ1JovNiVvGrGNiiYvEozEVgZ58xaU3RKwX8eACQBCt3' // e.g. PYTH mint address 11 | 12 | const raydiumSwap = new RaydiumSwap(process.env.RPC_URL, process.env.WALLET_PRIVATE_KEY) 13 | console.log(`Raydium swap initialized`) 14 | 15 | // Loading with pool keys from https://api.raydium.io/v2/sdk/liquidity/mainnet.json 16 | await raydiumSwap.loadPoolKeys() 17 | console.log(`Loaded pool keys`) 18 | 19 | // Trying to find pool info in the json we loaded earlier and by comparing baseMint and tokenBAddress 20 | let poolInfo = raydiumSwap.findPoolInfoForTokens(baseMint, quoteMint) 21 | 22 | if (!poolInfo) poolInfo = await raydiumSwap.findRaydiumPoolInfo(baseMint, quoteMint) 23 | 24 | if (!poolInfo) { 25 | throw new Error("Couldn't find the pool info") 26 | } 27 | 28 | console.log('Found pool info', poolInfo) 29 | 30 | const tx = await raydiumSwap.getSwapTransaction( 31 | quoteMint, 32 | tokenAAmount, 33 | poolInfo, 34 | 0.0005 * LAMPORTS_PER_SOL, // Prioritization fee, now set to (0.0005 SOL) 35 | useVersionedTransaction, 36 | 'in', 37 | 5 // Slippage 38 | ) 39 | 40 | if (executeSwap) { 41 | const txid = useVersionedTransaction 42 | ? await raydiumSwap.sendVersionedTransaction(tx as VersionedTransaction) 43 | : await raydiumSwap.sendLegacyTransaction(tx as Transaction) 44 | 45 | console.log(`https://solscan.io/tx/${txid}`) 46 | } else { 47 | const simRes = useVersionedTransaction 48 | ? await raydiumSwap.simulateVersionedTransaction(tx as VersionedTransaction) 49 | : await raydiumSwap.simulateLegacyTransaction(tx as Transaction) 50 | 51 | console.log(simRes) 52 | } 53 | } 54 | 55 | swap() 56 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | "lib": ["es6"], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "commonjs", /* Specify what module code is generated. */ 29 | "rootDir": "src", /* Specify the root folder within your source files. */ 30 | "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | "resolveJsonModule": true, /* Enable importing .json files. */ 39 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 40 | 41 | /* JavaScript Support */ 42 | "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 43 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 44 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 45 | 46 | /* Emit */ 47 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 48 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 49 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 50 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 51 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 52 | "outDir": "build", /* Specify an output folder for all emitted files. */ 53 | // "removeComments": true, /* Disable emitting comments. */ 54 | // "noEmit": true, /* Disable emitting files from a compilation. */ 55 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 56 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 57 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 58 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 60 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 61 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 62 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 63 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 64 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 65 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 66 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 67 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 68 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 69 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 70 | 71 | /* Interop Constraints */ 72 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 73 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 74 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 75 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 76 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 77 | 78 | /* Type Checking */ 79 | "strict": false, /* Enable all strict type-checking options. */ 80 | "noImplicitAny": false, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 81 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 82 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 83 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 84 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 85 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 86 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 87 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 88 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 89 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 90 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 91 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 92 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 93 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 94 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 95 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 96 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 97 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 98 | 99 | /* Completeness */ 100 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 101 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 102 | } 103 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/runtime@^7.17.2", "@babel/runtime@^7.23.4": 6 | version "7.23.9" 7 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" 8 | integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== 9 | dependencies: 10 | regenerator-runtime "^0.14.0" 11 | 12 | "@coral-xyz/borsh@^0.26.0": 13 | version "0.26.0" 14 | resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.26.0.tgz#d054f64536d824634969e74138f9f7c52bbbc0d5" 15 | integrity sha512-uCZ0xus0CszQPHYfWAqKS5swS1UxvePu83oOF+TWpUkedsNlg6p2p4azxZNSSqwXb9uXMFgxhuMBX9r3Xoi0vQ== 16 | dependencies: 17 | bn.js "^5.1.2" 18 | buffer-layout "^1.2.0" 19 | 20 | "@cspotcode/source-map-support@^0.8.0": 21 | version "0.8.1" 22 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" 23 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 24 | dependencies: 25 | "@jridgewell/trace-mapping" "0.3.9" 26 | 27 | "@jridgewell/resolve-uri@^3.0.3": 28 | version "3.1.1" 29 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" 30 | integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== 31 | 32 | "@jridgewell/sourcemap-codec@^1.4.10": 33 | version "1.4.15" 34 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 35 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 36 | 37 | "@jridgewell/trace-mapping@0.3.9": 38 | version "0.3.9" 39 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" 40 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 41 | dependencies: 42 | "@jridgewell/resolve-uri" "^3.0.3" 43 | "@jridgewell/sourcemap-codec" "^1.4.10" 44 | 45 | "@noble/curves@^1.2.0": 46 | version "1.3.0" 47 | resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.3.0.tgz#01be46da4fd195822dab821e72f71bf4aeec635e" 48 | integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA== 49 | dependencies: 50 | "@noble/hashes" "1.3.3" 51 | 52 | "@noble/hashes@1.3.3", "@noble/hashes@^1.3.2": 53 | version "1.3.3" 54 | resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" 55 | integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== 56 | 57 | "@project-serum/anchor@^0.26.0": 58 | version "0.26.0" 59 | resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.26.0.tgz#99e15a3923a5d10514f8185b2d3909e5699d60d5" 60 | integrity sha512-Nq+COIjE1135T7qfnOHEn7E0q39bQTgXLFk837/rgFe6Hkew9WML7eHsS+lSYD2p3OJaTiUOHTAq1lHy36oIqQ== 61 | dependencies: 62 | "@coral-xyz/borsh" "^0.26.0" 63 | "@solana/web3.js" "^1.68.0" 64 | base64-js "^1.5.1" 65 | bn.js "^5.1.2" 66 | bs58 "^4.0.1" 67 | buffer-layout "^1.2.2" 68 | camelcase "^6.3.0" 69 | cross-fetch "^3.1.5" 70 | crypto-hash "^1.3.0" 71 | eventemitter3 "^4.0.7" 72 | js-sha256 "^0.9.0" 73 | pako "^2.0.3" 74 | snake-case "^3.0.4" 75 | superstruct "^0.15.4" 76 | toml "^3.0.0" 77 | 78 | "@raydium-io/raydium-sdk@^1.3.1-beta.46": 79 | version "1.3.1-beta.47" 80 | resolved "https://registry.yarnpkg.com/@raydium-io/raydium-sdk/-/raydium-sdk-1.3.1-beta.47.tgz#297abc14b4044137c758f30bd2c5111fcaeff382" 81 | integrity sha512-vrUcFNq4lgkDHririlv83a2Sq/s438OZOYAsT56MWiVqoQLfC2u2muXMJhgp01M1OhXIqfsM5YSN/9/CrNnTvw== 82 | dependencies: 83 | "@solana/buffer-layout" "^4.0.1" 84 | "@solana/spl-token" "^0.3.9" 85 | axios "^1.6.2" 86 | big.js "^6.2.1" 87 | bn.js "^5.2.1" 88 | decimal.js "^10.4.3" 89 | decimal.js-light "^2.5.1" 90 | fecha "^4.2.3" 91 | lodash "^4.17.21" 92 | toformat "^2.0.0" 93 | 94 | "@solana/buffer-layout-utils@^0.2.0": 95 | version "0.2.0" 96 | resolved "https://registry.yarnpkg.com/@solana/buffer-layout-utils/-/buffer-layout-utils-0.2.0.tgz#b45a6cab3293a2eb7597cceb474f229889d875ca" 97 | integrity sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g== 98 | dependencies: 99 | "@solana/buffer-layout" "^4.0.0" 100 | "@solana/web3.js" "^1.32.0" 101 | bigint-buffer "^1.1.5" 102 | bignumber.js "^9.0.1" 103 | 104 | "@solana/buffer-layout@^4.0.0", "@solana/buffer-layout@^4.0.1": 105 | version "4.0.1" 106 | resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" 107 | integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== 108 | dependencies: 109 | buffer "~6.0.3" 110 | 111 | "@solana/codecs-core@2.0.0-experimental.8618508": 112 | version "2.0.0-experimental.8618508" 113 | resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-2.0.0-experimental.8618508.tgz#4f6709dd50e671267f3bea7d09209bc6471b7ad0" 114 | integrity sha512-JCz7mKjVKtfZxkuDtwMAUgA7YvJcA2BwpZaA1NOLcted4OMC4Prwa3DUe3f3181ixPYaRyptbF0Ikq2MbDkYEA== 115 | 116 | "@solana/codecs-data-structures@2.0.0-experimental.8618508": 117 | version "2.0.0-experimental.8618508" 118 | resolved "https://registry.yarnpkg.com/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-experimental.8618508.tgz#c16a704ac0f743a2e0bf73ada42d830b3402d848" 119 | integrity sha512-sLpjL9sqzaDdkloBPV61Rht1tgaKq98BCtIKRuyscIrmVPu3wu0Bavk2n/QekmUzaTsj7K1pVSniM0YqCdnEBw== 120 | dependencies: 121 | "@solana/codecs-core" "2.0.0-experimental.8618508" 122 | "@solana/codecs-numbers" "2.0.0-experimental.8618508" 123 | 124 | "@solana/codecs-numbers@2.0.0-experimental.8618508": 125 | version "2.0.0-experimental.8618508" 126 | resolved "https://registry.yarnpkg.com/@solana/codecs-numbers/-/codecs-numbers-2.0.0-experimental.8618508.tgz#d84f9ed0521b22e19125eefc7d51e217fcaeb3e4" 127 | integrity sha512-EXQKfzFr3CkKKNzKSZPOOOzchXsFe90TVONWsSnVkonO9z+nGKALE0/L9uBmIFGgdzhhU9QQVFvxBMclIDJo2Q== 128 | dependencies: 129 | "@solana/codecs-core" "2.0.0-experimental.8618508" 130 | 131 | "@solana/codecs-strings@2.0.0-experimental.8618508": 132 | version "2.0.0-experimental.8618508" 133 | resolved "https://registry.yarnpkg.com/@solana/codecs-strings/-/codecs-strings-2.0.0-experimental.8618508.tgz#72457b884d9be80b59b263bcce73892b081e9402" 134 | integrity sha512-b2yhinr1+oe+JDmnnsV0641KQqqDG8AQ16Z/x7GVWO+AWHMpRlHWVXOq8U1yhPMA4VXxl7i+D+C6ql0VGFp0GA== 135 | dependencies: 136 | "@solana/codecs-core" "2.0.0-experimental.8618508" 137 | "@solana/codecs-numbers" "2.0.0-experimental.8618508" 138 | 139 | "@solana/options@2.0.0-experimental.8618508": 140 | version "2.0.0-experimental.8618508" 141 | resolved "https://registry.yarnpkg.com/@solana/options/-/options-2.0.0-experimental.8618508.tgz#95385340e85f9e8a81b2bfba089404a61c8e9520" 142 | integrity sha512-fy/nIRAMC3QHvnKi63KEd86Xr/zFBVxNW4nEpVEU2OT0gCEKwHY4Z55YHf7XujhyuM3PNpiBKg/YYw5QlRU4vg== 143 | dependencies: 144 | "@solana/codecs-core" "2.0.0-experimental.8618508" 145 | "@solana/codecs-numbers" "2.0.0-experimental.8618508" 146 | 147 | "@solana/spl-token-metadata@^0.1.2": 148 | version "0.1.2" 149 | resolved "https://registry.yarnpkg.com/@solana/spl-token-metadata/-/spl-token-metadata-0.1.2.tgz#876e13432bd2960bd3cac16b9b0af63e69e37719" 150 | integrity sha512-hJYnAJNkDrtkE2Q41YZhCpeOGU/0JgRFXbtrtOuGGeKc3pkEUHB9DDoxZAxx+XRno13GozUleyBi0qypz4c3bw== 151 | dependencies: 152 | "@solana/codecs-core" "2.0.0-experimental.8618508" 153 | "@solana/codecs-data-structures" "2.0.0-experimental.8618508" 154 | "@solana/codecs-numbers" "2.0.0-experimental.8618508" 155 | "@solana/codecs-strings" "2.0.0-experimental.8618508" 156 | "@solana/options" "2.0.0-experimental.8618508" 157 | "@solana/spl-type-length-value" "0.1.0" 158 | 159 | "@solana/spl-token@^0.3.11", "@solana/spl-token@^0.3.9": 160 | version "0.3.11" 161 | resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.3.11.tgz#cdc10f9472b29b39c8983c92592cadd06627fb9a" 162 | integrity sha512-bvohO3rIMSVL24Pb+I4EYTJ6cL82eFpInEXD/I8K8upOGjpqHsKUoAempR/RnUlI1qSFNyFlWJfu6MNUgfbCQQ== 163 | dependencies: 164 | "@solana/buffer-layout" "^4.0.0" 165 | "@solana/buffer-layout-utils" "^0.2.0" 166 | "@solana/spl-token-metadata" "^0.1.2" 167 | buffer "^6.0.3" 168 | 169 | "@solana/spl-type-length-value@0.1.0": 170 | version "0.1.0" 171 | resolved "https://registry.yarnpkg.com/@solana/spl-type-length-value/-/spl-type-length-value-0.1.0.tgz#b5930cf6c6d8f50c7ff2a70463728a4637a2f26b" 172 | integrity sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA== 173 | dependencies: 174 | buffer "^6.0.3" 175 | 176 | "@solana/web3.js@^1.32.0", "@solana/web3.js@^1.68.0": 177 | version "1.89.1" 178 | resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.89.1.tgz#52df6820f2d088c4558aa359af40580a03d10ec9" 179 | integrity sha512-t9TTLtPQxtQB3SAf/5E8xPXfVDsC6WGOsgKY02l2cbe0HLymT7ynE8Hu48Lk5qynHCquj6nhISfEHcjMkYpu/A== 180 | dependencies: 181 | "@babel/runtime" "^7.23.4" 182 | "@noble/curves" "^1.2.0" 183 | "@noble/hashes" "^1.3.2" 184 | "@solana/buffer-layout" "^4.0.1" 185 | agentkeepalive "^4.5.0" 186 | bigint-buffer "^1.1.5" 187 | bn.js "^5.2.1" 188 | borsh "^0.7.0" 189 | bs58 "^4.0.1" 190 | buffer "6.0.3" 191 | fast-stable-stringify "^1.0.0" 192 | jayson "^4.1.0" 193 | node-fetch "^2.7.0" 194 | rpc-websockets "^7.5.1" 195 | superstruct "^0.14.2" 196 | 197 | "@tsconfig/node10@^1.0.7": 198 | version "1.0.9" 199 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" 200 | integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== 201 | 202 | "@tsconfig/node12@^1.0.7": 203 | version "1.0.11" 204 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" 205 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 206 | 207 | "@tsconfig/node14@^1.0.0": 208 | version "1.0.3" 209 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" 210 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 211 | 212 | "@tsconfig/node16@^1.0.2": 213 | version "1.0.4" 214 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" 215 | integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== 216 | 217 | "@types/connect@^3.4.33": 218 | version "3.4.38" 219 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" 220 | integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== 221 | dependencies: 222 | "@types/node" "*" 223 | 224 | "@types/node@*": 225 | version "20.11.9" 226 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.9.tgz#959d436f20ce2ee3df897c3eaa0617c98fa70efb" 227 | integrity sha512-CQXNuMoS/VcoAMISe5pm4JnEd1Br5jildbQEToEMQvutmv+EaQr90ry9raiudgpyDuqFiV9e4rnjSfLNq12M5w== 228 | dependencies: 229 | undici-types "~5.26.4" 230 | 231 | "@types/node@^12.12.54": 232 | version "12.20.55" 233 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" 234 | integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== 235 | 236 | "@types/node@^18.11.13": 237 | version "18.19.10" 238 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.10.tgz#4de314ab66faf6bc8ba691021a091ddcdf13a158" 239 | integrity sha512-IZD8kAM02AW1HRDTPOlz3npFava678pr8Ie9Vp8uRhBROXAv8MXT2pCnGZZAKYdromsNQLHQcfWQ6EOatVLtqA== 240 | dependencies: 241 | undici-types "~5.26.4" 242 | 243 | "@types/ws@^7.4.4": 244 | version "7.4.7" 245 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" 246 | integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== 247 | dependencies: 248 | "@types/node" "*" 249 | 250 | JSONStream@^1.3.5: 251 | version "1.3.5" 252 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" 253 | integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== 254 | dependencies: 255 | jsonparse "^1.2.0" 256 | through ">=2.2.7 <3" 257 | 258 | acorn-walk@^8.1.1: 259 | version "8.3.2" 260 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" 261 | integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== 262 | 263 | acorn@^8.4.1: 264 | version "8.11.3" 265 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" 266 | integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== 267 | 268 | agentkeepalive@^4.5.0: 269 | version "4.5.0" 270 | resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" 271 | integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== 272 | dependencies: 273 | humanize-ms "^1.2.1" 274 | 275 | arg@^4.1.0: 276 | version "4.1.3" 277 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 278 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 279 | 280 | asynckit@^0.4.0: 281 | version "0.4.0" 282 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 283 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 284 | 285 | axios@^1.6.2: 286 | version "1.6.7" 287 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" 288 | integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== 289 | dependencies: 290 | follow-redirects "^1.15.4" 291 | form-data "^4.0.0" 292 | proxy-from-env "^1.1.0" 293 | 294 | base-x@^3.0.2: 295 | version "3.0.9" 296 | resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" 297 | integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== 298 | dependencies: 299 | safe-buffer "^5.0.1" 300 | 301 | base64-js@^1.3.1, base64-js@^1.5.1: 302 | version "1.5.1" 303 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 304 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 305 | 306 | big.js@^6.2.1: 307 | version "6.2.1" 308 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.1.tgz#7205ce763efb17c2e41f26f121c420c6a7c2744f" 309 | integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ== 310 | 311 | bigint-buffer@^1.1.5: 312 | version "1.1.5" 313 | resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" 314 | integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== 315 | dependencies: 316 | bindings "^1.3.0" 317 | 318 | bignumber.js@^9.0.1: 319 | version "9.1.2" 320 | resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" 321 | integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== 322 | 323 | bindings@^1.3.0: 324 | version "1.5.0" 325 | resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" 326 | integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== 327 | dependencies: 328 | file-uri-to-path "1.0.0" 329 | 330 | bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: 331 | version "5.2.1" 332 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" 333 | integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== 334 | 335 | borsh@^0.7.0: 336 | version "0.7.0" 337 | resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" 338 | integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== 339 | dependencies: 340 | bn.js "^5.2.0" 341 | bs58 "^4.0.0" 342 | text-encoding-utf-8 "^1.0.2" 343 | 344 | bs58@^4.0.0, bs58@^4.0.1: 345 | version "4.0.1" 346 | resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" 347 | integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== 348 | dependencies: 349 | base-x "^3.0.2" 350 | 351 | buffer-layout@^1.2.0, buffer-layout@^1.2.2: 352 | version "1.2.2" 353 | resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5" 354 | integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== 355 | 356 | buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: 357 | version "6.0.3" 358 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" 359 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 360 | dependencies: 361 | base64-js "^1.3.1" 362 | ieee754 "^1.2.1" 363 | 364 | bufferutil@^4.0.1: 365 | version "4.0.8" 366 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" 367 | integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== 368 | dependencies: 369 | node-gyp-build "^4.3.0" 370 | 371 | camelcase@^6.3.0: 372 | version "6.3.0" 373 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 374 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 375 | 376 | combined-stream@^1.0.8: 377 | version "1.0.8" 378 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 379 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 380 | dependencies: 381 | delayed-stream "~1.0.0" 382 | 383 | commander@^2.20.3: 384 | version "2.20.3" 385 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 386 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 387 | 388 | create-require@^1.1.0: 389 | version "1.1.1" 390 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 391 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 392 | 393 | cross-fetch@^3.1.5: 394 | version "3.1.8" 395 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" 396 | integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== 397 | dependencies: 398 | node-fetch "^2.6.12" 399 | 400 | crypto-hash@^1.3.0: 401 | version "1.3.0" 402 | resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247" 403 | integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== 404 | 405 | decimal.js-light@^2.5.1: 406 | version "2.5.1" 407 | resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" 408 | integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== 409 | 410 | decimal.js@^10.4.3: 411 | version "10.4.3" 412 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" 413 | integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== 414 | 415 | delay@^5.0.0: 416 | version "5.0.0" 417 | resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" 418 | integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== 419 | 420 | delayed-stream@~1.0.0: 421 | version "1.0.0" 422 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 423 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 424 | 425 | diff@^4.0.1: 426 | version "4.0.2" 427 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 428 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 429 | 430 | dot-case@^3.0.4: 431 | version "3.0.4" 432 | resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" 433 | integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== 434 | dependencies: 435 | no-case "^3.0.4" 436 | tslib "^2.0.3" 437 | 438 | es6-promise@^4.0.3: 439 | version "4.2.8" 440 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" 441 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== 442 | 443 | es6-promisify@^5.0.0: 444 | version "5.0.0" 445 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" 446 | integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== 447 | dependencies: 448 | es6-promise "^4.0.3" 449 | 450 | eventemitter3@^4.0.7: 451 | version "4.0.7" 452 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" 453 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== 454 | 455 | eyes@^0.1.8: 456 | version "0.1.8" 457 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" 458 | integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== 459 | 460 | fast-stable-stringify@^1.0.0: 461 | version "1.0.0" 462 | resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" 463 | integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== 464 | 465 | fecha@^4.2.3: 466 | version "4.2.3" 467 | resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" 468 | integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== 469 | 470 | file-uri-to-path@1.0.0: 471 | version "1.0.0" 472 | resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" 473 | integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== 474 | 475 | follow-redirects@^1.15.4: 476 | version "1.15.5" 477 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" 478 | integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== 479 | 480 | form-data@^4.0.0: 481 | version "4.0.0" 482 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 483 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 484 | dependencies: 485 | asynckit "^0.4.0" 486 | combined-stream "^1.0.8" 487 | mime-types "^2.1.12" 488 | 489 | humanize-ms@^1.2.1: 490 | version "1.2.1" 491 | resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" 492 | integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== 493 | dependencies: 494 | ms "^2.0.0" 495 | 496 | ieee754@^1.2.1: 497 | version "1.2.1" 498 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 499 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 500 | 501 | isomorphic-ws@^4.0.1: 502 | version "4.0.1" 503 | resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" 504 | integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== 505 | 506 | jayson@^4.1.0: 507 | version "4.1.0" 508 | resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" 509 | integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== 510 | dependencies: 511 | "@types/connect" "^3.4.33" 512 | "@types/node" "^12.12.54" 513 | "@types/ws" "^7.4.4" 514 | JSONStream "^1.3.5" 515 | commander "^2.20.3" 516 | delay "^5.0.0" 517 | es6-promisify "^5.0.0" 518 | eyes "^0.1.8" 519 | isomorphic-ws "^4.0.1" 520 | json-stringify-safe "^5.0.1" 521 | uuid "^8.3.2" 522 | ws "^7.4.5" 523 | 524 | js-sha256@^0.9.0: 525 | version "0.9.0" 526 | resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" 527 | integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== 528 | 529 | json-stringify-safe@^5.0.1: 530 | version "5.0.1" 531 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 532 | integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== 533 | 534 | jsonparse@^1.2.0: 535 | version "1.3.1" 536 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 537 | integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== 538 | 539 | lodash@^4.17.21: 540 | version "4.17.21" 541 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 542 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 543 | 544 | lower-case@^2.0.2: 545 | version "2.0.2" 546 | resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" 547 | integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== 548 | dependencies: 549 | tslib "^2.0.3" 550 | 551 | make-error@^1.1.1: 552 | version "1.3.6" 553 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 554 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 555 | 556 | mime-db@1.52.0: 557 | version "1.52.0" 558 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 559 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 560 | 561 | mime-types@^2.1.12: 562 | version "2.1.35" 563 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 564 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 565 | dependencies: 566 | mime-db "1.52.0" 567 | 568 | ms@^2.0.0: 569 | version "2.1.3" 570 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 571 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 572 | 573 | no-case@^3.0.4: 574 | version "3.0.4" 575 | resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" 576 | integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== 577 | dependencies: 578 | lower-case "^2.0.2" 579 | tslib "^2.0.3" 580 | 581 | node-fetch@^2.6.12, node-fetch@^2.7.0: 582 | version "2.7.0" 583 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" 584 | integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== 585 | dependencies: 586 | whatwg-url "^5.0.0" 587 | 588 | node-gyp-build@^4.3.0: 589 | version "4.8.0" 590 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" 591 | integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== 592 | 593 | pako@^2.0.3: 594 | version "2.1.0" 595 | resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" 596 | integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== 597 | 598 | proxy-from-env@^1.1.0: 599 | version "1.1.0" 600 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" 601 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== 602 | 603 | regenerator-runtime@^0.14.0: 604 | version "0.14.1" 605 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" 606 | integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== 607 | 608 | rpc-websockets@^7.5.1: 609 | version "7.9.0" 610 | resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.9.0.tgz#a3938e16d6f134a3999fdfac422a503731bf8973" 611 | integrity sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw== 612 | dependencies: 613 | "@babel/runtime" "^7.17.2" 614 | eventemitter3 "^4.0.7" 615 | uuid "^8.3.2" 616 | ws "^8.5.0" 617 | optionalDependencies: 618 | bufferutil "^4.0.1" 619 | utf-8-validate "^5.0.2" 620 | 621 | safe-buffer@^5.0.1: 622 | version "5.2.1" 623 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 624 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 625 | 626 | snake-case@^3.0.4: 627 | version "3.0.4" 628 | resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" 629 | integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== 630 | dependencies: 631 | dot-case "^3.0.4" 632 | tslib "^2.0.3" 633 | 634 | superstruct@^0.14.2: 635 | version "0.14.2" 636 | resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" 637 | integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== 638 | 639 | superstruct@^0.15.4: 640 | version "0.15.5" 641 | resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" 642 | integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== 643 | 644 | text-encoding-utf-8@^1.0.2: 645 | version "1.0.2" 646 | resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" 647 | integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== 648 | 649 | "through@>=2.2.7 <3": 650 | version "2.3.8" 651 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 652 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 653 | 654 | toformat@^2.0.0: 655 | version "2.0.0" 656 | resolved "https://registry.yarnpkg.com/toformat/-/toformat-2.0.0.tgz#7a043fd2dfbe9021a4e36e508835ba32056739d8" 657 | integrity sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ== 658 | 659 | toml@^3.0.0: 660 | version "3.0.0" 661 | resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" 662 | integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== 663 | 664 | tr46@~0.0.3: 665 | version "0.0.3" 666 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 667 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 668 | 669 | ts-node@^10.9.2: 670 | version "10.9.2" 671 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" 672 | integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== 673 | dependencies: 674 | "@cspotcode/source-map-support" "^0.8.0" 675 | "@tsconfig/node10" "^1.0.7" 676 | "@tsconfig/node12" "^1.0.7" 677 | "@tsconfig/node14" "^1.0.0" 678 | "@tsconfig/node16" "^1.0.2" 679 | acorn "^8.4.1" 680 | acorn-walk "^8.1.1" 681 | arg "^4.1.0" 682 | create-require "^1.1.0" 683 | diff "^4.0.1" 684 | make-error "^1.1.1" 685 | v8-compile-cache-lib "^3.0.1" 686 | yn "3.1.1" 687 | 688 | tslib@^2.0.3: 689 | version "2.6.2" 690 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" 691 | integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== 692 | 693 | typescript@^5.3.3: 694 | version "5.3.3" 695 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" 696 | integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== 697 | 698 | undici-types@~5.26.4: 699 | version "5.26.5" 700 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" 701 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== 702 | 703 | utf-8-validate@^5.0.2: 704 | version "5.0.10" 705 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" 706 | integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== 707 | dependencies: 708 | node-gyp-build "^4.3.0" 709 | 710 | uuid@^8.3.2: 711 | version "8.3.2" 712 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 713 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 714 | 715 | v8-compile-cache-lib@^3.0.1: 716 | version "3.0.1" 717 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" 718 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 719 | 720 | webidl-conversions@^3.0.0: 721 | version "3.0.1" 722 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 723 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 724 | 725 | whatwg-url@^5.0.0: 726 | version "5.0.0" 727 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 728 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 729 | dependencies: 730 | tr46 "~0.0.3" 731 | webidl-conversions "^3.0.0" 732 | 733 | ws@^7.4.5: 734 | version "7.5.9" 735 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" 736 | integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== 737 | 738 | ws@^8.5.0: 739 | version "8.16.0" 740 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" 741 | integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== 742 | 743 | yn@3.1.1: 744 | version "3.1.1" 745 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 746 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 747 | --------------------------------------------------------------------------------