mirror of
https://github.com/andrei0x309/clear-wallet.git
synced 2024-12-19 00:00:45 +00:00
1.0.4.1
This commit is contained in:
parent
b376839770
commit
72857fe268
4
.gitignore
vendored
4
.gitignore
vendored
@ -30,6 +30,4 @@ npm-debug.log*
|
||||
/plugins
|
||||
/www
|
||||
/src/extension/inject.js
|
||||
README.md
|
||||
PRIVACY_POLICY.md
|
||||
LICENSE
|
||||
releases
|
||||
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 Andrei O.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
13
PRIVACY_POLICY.md
Normal file
13
PRIVACY_POLICY.md
Normal file
@ -0,0 +1,13 @@
|
||||
# 𝐏𝐫𝐢𝐯𝐚𝐜𝐲 𝐏𝐨𝐥𝐢𝐜𝐲:
|
||||
|
||||
## Privacy Points:
|
||||
|
||||
- This extension does not collect any data form your device.
|
||||
- All storage uses chrome.storage.local
|
||||
- This extension does not use external files, everything is packed into the extension.
|
||||
- This extension uses the manifest V3 which does not allow any third party scripts to be injected.
|
||||
- This extension is completely open source, the source is available on Github - [https://github.com/andrei0x309/clear-wallet](https://github.com/andrei0x309/clear-wallet).
|
||||
|
||||
### 𝐂𝐨𝐧𝐭𝐚𝐜𝐭:
|
||||
|
||||
Discord: andrei0x309#6562
|
35
README.md
Normal file
35
README.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Clear EVM wallet
|
||||
|
||||
![CLW LOGO](/public/assets/extension-icon/wallet_128.png?raw=true "CLW LOGO")
|
||||
|
||||
## Description
|
||||
|
||||
Simple EVM wallet chrome extension implementation using ethers, mv3, ionc, vue.
|
||||
|
||||
[//]: # Here is an extended article abut this repo:
|
||||
|
||||
### FAQ
|
||||
|
||||
Q: Why using Ionic?
|
||||
A: The main idea is to extend the codebase to try to aditional platforms like Desktop and Mobile, and because Ionic has a simple interface that is ready to use with no additional design work.
|
||||
|
||||
Q: Is released on Chrome webstore?
|
||||
A: Not yet but will be probably soon
|
||||
|
||||
Q: What are some features?
|
||||
A: - It assumes some knowlodege about, EVM echosystem it dosen't come with any network, you can add any EVM network you want, and lets you sleect form the templates of some more popular networks.
|
||||
- You can have the key stored with or without encryption, you can enable or disable autolock, you can force decryption for every message sign or transaction sign & send.
|
||||
- You can import, export accounts.
|
||||
- You can wipe the data
|
||||
- It only uses local chrome storage
|
||||
- Is a drop-in replacement for metamask, and currently will overwite metamask if you have both enabled
|
||||
- It will allow sites directly to get your EVM address without prompting
|
||||
- Prompts only for changing the network, sending/signing transaction, sending message.
|
||||
|
||||
Q: Is this ready to use?
|
||||
A: Currently is under some development but it has a nice set of features that I used, I developed this pretty fast in my free time, you should always backup your keys, and do your own research and only use what you are confortable to use. The software dosen't come with any gurantees and is released as it is. But I definitely recomand this to use for testnets and playing with any kind of experiments.
|
||||
|
||||
## LINKS
|
||||
|
||||
[LICENSE.md](LICENSE.md)
|
||||
[PRIVACY_POLICY.md](PRIVACY_POLICY.md)
|
11
package.json
11
package.json
@ -1,11 +1,14 @@
|
||||
{
|
||||
"name": "clear-wallet",
|
||||
"version": "0.0.1",
|
||||
"version": "1.0.5",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "tsc --out src/extension/inject.js src/extension/inject.ts && vue-tsc --noEmit && vite build",
|
||||
"preview": "vite preview"
|
||||
"preview": "vite preview",
|
||||
"release": "yarn config set version-tag-prefix clear-wallet@v && yarn config set version-git-message 'clear-wallet@v%s' && yarn version --patch && yarn postversion",
|
||||
"postversion": "git push",
|
||||
"pub": "yarn build && yarn release && ts-node ./scripts/create-release.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@capacitor/app": "^4.0.1",
|
||||
@ -39,11 +42,13 @@
|
||||
"sass": "^1.55.0",
|
||||
"stream-browserify": "^3.0.0",
|
||||
"ts-jest": "^29.0.1",
|
||||
"ts-node": "^10.9.1",
|
||||
"typescript": "^4.8.3",
|
||||
"util": "^0.12.4",
|
||||
"vite": "^3.1.3",
|
||||
"vue-tsc": "^0.40.13",
|
||||
"yarn-upgrade-all": "^0.7.1"
|
||||
"yarn-upgrade-all": "^0.7.1",
|
||||
"archiver": "^5.3.1"
|
||||
},
|
||||
"description": "An Ionic project"
|
||||
}
|
||||
|
63
release-scripts/create-release.ts
Normal file
63
release-scripts/create-release.ts
Normal file
@ -0,0 +1,63 @@
|
||||
import archiver from 'archiver';
|
||||
import fs from 'fs';
|
||||
import { spawn } from 'child_process';
|
||||
|
||||
async function ghRelease(changes) {
|
||||
const pkg = JSON.parse(fs.readFileSync('package.json').toString());
|
||||
|
||||
const archive = archiver('zip', { zlib: { level: 9 } });
|
||||
const dirPipes = ['dist'];
|
||||
|
||||
const filePipes = ['LICENSE', 'README.md', 'PRIVACY_POLICY.md'];
|
||||
const outputPath = `releases/${pkg.version}.zip`;
|
||||
const outputZip = fs.createWriteStream(outputPath);
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
let arch = archive;
|
||||
dirPipes.forEach((dir) => {
|
||||
arch = arch.directory(dir, false);
|
||||
});
|
||||
filePipes.forEach((file) => {
|
||||
arch = arch.file(file, { name: file });
|
||||
});
|
||||
arch.on('error', (err) => reject(err)).pipe(outputZip);
|
||||
|
||||
outputZip.on('close', () => resolve(true));
|
||||
arch.finalize();
|
||||
});
|
||||
|
||||
const changeLogPath = `releases/${pkg.version}.changelog.md`;
|
||||
|
||||
fs.writeFileSync(
|
||||
changeLogPath,
|
||||
`# ${pkg.version} \n
|
||||
${changes.reduce((acc, change) => {
|
||||
return acc + `- ${change}\n`;
|
||||
}, '')}`,
|
||||
);
|
||||
|
||||
console.log(
|
||||
await new Promise((resolve) => {
|
||||
const p = spawn('gh', ['release', 'create', `v${pkg.version}`, `./${outputPath}`, '-F', `./${changeLogPath}`], {
|
||||
shell: true,
|
||||
});
|
||||
// const p = spawn('pwd');
|
||||
let result = '';
|
||||
p.stdout.on('data', (data) => (result += data.toString()));
|
||||
p.stderr.on('data', (data) => (result += data.toString()));
|
||||
p.on('close', () => {
|
||||
resolve(result);
|
||||
});
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
(async () => {
|
||||
if (!process.argv[2]) {
|
||||
console.log('No changes provided');
|
||||
return;
|
||||
}
|
||||
const changes = process.argv[2].split(',');
|
||||
await ghRelease(changes);
|
||||
console.log('Release created', changes);
|
||||
})();
|
@ -20,7 +20,6 @@ export default defineComponent({
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const { param, rid } = route.query;
|
||||
console.log(route?.query,'zzzzzzzzzzzzzzz')
|
||||
|
||||
onBeforeMount( () => {
|
||||
getSettings().then((settings) => {
|
||||
|
@ -14,7 +14,19 @@ const allowedMethods = {
|
||||
'eth_sign': true,
|
||||
'net_version': true,
|
||||
'eth_sendTransaction': true,
|
||||
'wallet_switchEthereumChain': true
|
||||
'wallet_switchEthereumChain': true,
|
||||
'eth_call': true,
|
||||
'eth_getBalance': true,
|
||||
'eth_getTransactionByHash': true,
|
||||
'eth_getTransactionReceipt': true,
|
||||
'signTypedData': true,
|
||||
'eth_signTypedData': true,
|
||||
'signTypedData_v1': true,
|
||||
'eth_signTypedData_v1': true,
|
||||
'signTypedData_v3': true,
|
||||
'eth_signTypedData_V3': true,
|
||||
'signTypedData_v4': true,
|
||||
'eth_signTypedData_v4': true,
|
||||
}
|
||||
|
||||
window.addEventListener("message", (event) => {
|
||||
|
@ -50,85 +50,6 @@ return new Promise((resolve, reject) => {
|
||||
})
|
||||
}
|
||||
|
||||
// chainId
|
||||
// :
|
||||
// "0x89"
|
||||
// enable
|
||||
// :
|
||||
// ƒ ()
|
||||
// isMetaMask
|
||||
// :
|
||||
// true
|
||||
// networkVersion
|
||||
// :
|
||||
// "137"
|
||||
// request
|
||||
// :
|
||||
// ƒ ()
|
||||
// selectedAddress
|
||||
// :
|
||||
// null
|
||||
// send
|
||||
// :
|
||||
// ƒ ()
|
||||
// sendAsync
|
||||
// :
|
||||
// ƒ ()
|
||||
// _events
|
||||
// :
|
||||
// {connect: ƒ}
|
||||
// _eventsCount
|
||||
// :
|
||||
// 1
|
||||
// _handleAccountsChanged
|
||||
// :
|
||||
// ƒ ()
|
||||
// _handleChainChanged
|
||||
// :
|
||||
// ƒ ()
|
||||
// _handleConnect
|
||||
// :
|
||||
// ƒ ()
|
||||
// _handleDisconnect
|
||||
// :
|
||||
// ƒ ()
|
||||
// _handleStreamDisconnect
|
||||
// :
|
||||
// ƒ ()
|
||||
// _handleUnlockStateChanged
|
||||
// :
|
||||
// ƒ ()
|
||||
// _jsonRpcConnection
|
||||
// :
|
||||
// {events: s, stream: d, middleware: ƒ}
|
||||
// _log
|
||||
// :
|
||||
// u {name: undefined, levels: {…}, methodFactory: ƒ, getLevel: ƒ, setLevel: ƒ, …}
|
||||
// _maxListeners
|
||||
// :
|
||||
// 100
|
||||
// _metamask
|
||||
// :
|
||||
// Proxy {isUnlocked: ƒ, requestBatch: ƒ}
|
||||
// _rpcEngine
|
||||
// :
|
||||
// o {_events: {…}, _eventsCount: 0, _maxListeners: undefined, _middleware: Array(3)}
|
||||
// _rpcRequest
|
||||
// :
|
||||
// ƒ ()
|
||||
// _sendSync
|
||||
// :
|
||||
// ƒ ()
|
||||
// _sentWarnings
|
||||
// :
|
||||
// {enable: false, experimentalMethods: false, send: false, events: {…}}
|
||||
// _state
|
||||
// :
|
||||
// {accounts: Array(0), isConnected: true, isUnlocked: true, initialized: true, isPermanentlyDisconnected: false}
|
||||
// _warnOfDeprecation
|
||||
// :
|
||||
// ƒ (
|
||||
|
||||
const eth = new Proxy({
|
||||
isConnected: () => {
|
||||
return true
|
||||
@ -142,6 +63,31 @@ const eth = new Proxy({
|
||||
return sendMessage(args)
|
||||
|
||||
},
|
||||
// Deprecated
|
||||
sendAsync: (arg1: RequestArguments, arg2: any): void => {
|
||||
sendMessage(arg1 as RequestArguments).then(result => {
|
||||
if (typeof arg2 === 'function'){
|
||||
(arg2 as (r?: any) => any )(result)
|
||||
}
|
||||
})
|
||||
},
|
||||
// Deprecated
|
||||
send: (arg1: unknown, arg2: unknown): unknown => {
|
||||
if( typeof arg1 === 'string' ) {
|
||||
return sendMessage({
|
||||
method: arg1,
|
||||
params: arg2 as object
|
||||
})
|
||||
} else if (arg2 === undefined) {
|
||||
console.error('Clear Wallet: Sync calling is deprecated and not supported')
|
||||
}else {
|
||||
sendMessage(arg1 as RequestArguments).then(result => {
|
||||
if (typeof arg2 === 'function'){
|
||||
(arg2 as (r?: any) => any )(result)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
on: (eventName: string, callback: () => void) => {
|
||||
switch (eventName) {
|
||||
case 'accountsChanged':
|
||||
@ -156,12 +102,12 @@ const eth = new Proxy({
|
||||
case 'disconnect':
|
||||
listners.disconnect.add(callback)
|
||||
break;
|
||||
// Deprecated - chainIdChanged -networkChanged
|
||||
case 'chainChanged':
|
||||
case 'chainIdChanged':
|
||||
case 'networkChanged':
|
||||
listners.chainChanged.add(callback)
|
||||
break;
|
||||
|
||||
default:
|
||||
return
|
||||
}
|
||||
},
|
||||
removeListener: (eventName: string, callback: () => void) => {
|
||||
@ -175,24 +121,29 @@ const eth = new Proxy({
|
||||
case 'disconnect':
|
||||
listners.disconnect.delete(callback)
|
||||
break;
|
||||
// Deprecated - chainIdChanged -networkChanged
|
||||
case 'chainChanged':
|
||||
case 'chainIdChanged':
|
||||
case 'networkChanged':
|
||||
listners.chainChanged.delete(callback)
|
||||
break;
|
||||
default:
|
||||
return
|
||||
}
|
||||
},
|
||||
// Simulate Metamask
|
||||
// Internal Simulate Metamask
|
||||
_warnOfDeprecation: () => null,
|
||||
_state: {},
|
||||
_sentWarnings: () => null,
|
||||
_rpcRequest: () => null,
|
||||
_handleAccountsChanged: () => null,
|
||||
// Deprecated - hardcoded for now, websites should not access this directly since is deprecated for a long time
|
||||
chainId: "0x89",
|
||||
// Deprecated - hardcoded for now, websites should not access this directly since is deprecated for a long time
|
||||
networkVersion: "137",
|
||||
selectedAddress: null,
|
||||
send: () => null,
|
||||
sendAsync: async () => null,
|
||||
autoRefreshOnNetworkChange: false,
|
||||
// Internal Simulate Metamask
|
||||
_events: {},
|
||||
_eventsCount: 0,
|
||||
_handleChainChanged: () => null,
|
||||
@ -205,10 +156,15 @@ const eth = new Proxy({
|
||||
_maxListeners: 100,
|
||||
_metamask: new Proxy({}, {}),
|
||||
_rpcEngine: {}
|
||||
|
||||
|
||||
}, {
|
||||
set: () => { return false },
|
||||
set: () => { return true },
|
||||
// get: function(target, name, receiver) {
|
||||
// if (!(name in target)) {
|
||||
// console.log(`Getting non-existant property '" + ${name.toString()} + "'`);
|
||||
// return undefined;
|
||||
// }
|
||||
// console.log(target, name, receiver)
|
||||
// },
|
||||
deleteProperty: () => { return false },
|
||||
})
|
||||
|
||||
@ -218,7 +174,7 @@ const injectWallet = (win: any) => {
|
||||
return eth
|
||||
},
|
||||
set: function () {
|
||||
return
|
||||
return true
|
||||
}
|
||||
});
|
||||
// console.log('Clear wallet injected', (window as any).ethereum, win)
|
||||
|
@ -1,7 +1,10 @@
|
||||
{
|
||||
"manifest_version": 3,
|
||||
"name": "Clear Wallet EVM",
|
||||
"version": "1.0.0",
|
||||
"name": "__MSG_appName__",
|
||||
"description": "__MSG_appDesc__",
|
||||
"default_locale": "en",
|
||||
"version": "1.0.5",
|
||||
"version_name": "1.0.5",
|
||||
"icons": {
|
||||
"16": "assets/extension-icon/wallet_16.png",
|
||||
"32": "assets/extension-icon/wallet_32.png",
|
||||
|
@ -1,8 +1,7 @@
|
||||
import { getAccounts, getSelectedAccount, getSelectedNetwork, smallRandomString, getSettings, clearPk, openTab, getUrl, addToHistory } from '@/utils/platform';
|
||||
import { getSelectedAccount, getSelectedNetwork, smallRandomString, getSettings, clearPk, openTab, getUrl, addToHistory } from '@/utils/platform';
|
||||
import { userApprove, userReject, rIdWin, rIdData } from '@/extension/userRequest'
|
||||
import { signMsg, getBalance, getBlockNumber, estimateGas, sendTransaction, getGasPrice, getBlockByNumber } from '@/utils/wallet'
|
||||
import { signMsg, getBalance, getBlockNumber, estimateGas, sendTransaction, getGasPrice, getBlockByNumber, evmCall, getTxByHash, getTxReceipt, signTypedData } from '@/utils/wallet'
|
||||
import type { RequestArguments } from '@/extension/types'
|
||||
import type { Account } from '@/extension/types'
|
||||
import { rpcError } from '@/extension/rpcConstants'
|
||||
import { updatePrices } from '@/utils/gecko'
|
||||
|
||||
@ -93,6 +92,7 @@ chrome.runtime.onMessage.addListener((message: RequestArguments, sender, sendRes
|
||||
// ETH API
|
||||
switch (message.method) {
|
||||
case 'eth_call': {
|
||||
sendResponse(await evmCall(message?.params?.[0]))
|
||||
break
|
||||
}
|
||||
case 'eth_getBlockByNumber': {
|
||||
@ -105,6 +105,14 @@ chrome.runtime.onMessage.addListener((message: RequestArguments, sender, sendRes
|
||||
sendResponse(block)
|
||||
break;
|
||||
}
|
||||
case 'eth_getTransactionByHash': {
|
||||
sendResponse(await getTxByHash(message?.params?.[0] as string))
|
||||
break
|
||||
}
|
||||
case 'eth_getTransactionReceipt':{
|
||||
sendResponse(await getTxReceipt(message?.params?.[0] as string))
|
||||
break
|
||||
}
|
||||
case 'eth_gasPrice': {
|
||||
sendResponse((await getGasPrice()).toHexString())
|
||||
break;
|
||||
@ -135,13 +143,9 @@ chrome.runtime.onMessage.addListener((message: RequestArguments, sender, sendRes
|
||||
}))
|
||||
break
|
||||
}
|
||||
case 'eth_requestAccounts':
|
||||
case 'eth_accounts': {
|
||||
const accounts = await getAccounts()
|
||||
const addresses = accounts.map((a: Account) => a.address) ?? []
|
||||
sendResponse(addresses)
|
||||
break
|
||||
}
|
||||
case 'eth_requestAccounts': {
|
||||
// give only the selected address for better privacy
|
||||
const account = await getSelectedAccount()
|
||||
const address = account?.address ? [account?.address] : []
|
||||
sendResponse(address)
|
||||
@ -210,7 +214,7 @@ chrome.runtime.onMessage.addListener((message: RequestArguments, sender, sendRes
|
||||
})
|
||||
try {
|
||||
const tx = await sendTransaction({...params, ...(rIdData?.[String(gWin?.id ?? 0)] ?? {}) }, pEstimateGas, pGasPrice)
|
||||
sendResponse(tx)
|
||||
sendResponse(tx.hash)
|
||||
const buttons = {} as any
|
||||
const network = await getSelectedNetwork()
|
||||
addToHistory({
|
||||
@ -242,6 +246,11 @@ chrome.runtime.onMessage.addListener((message: RequestArguments, sender, sendRes
|
||||
...(buttons)
|
||||
} as any)
|
||||
|
||||
const settings = await getSettings()
|
||||
if(settings.encryptAfterEveryTx) {
|
||||
clearPk()
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
sendResponse({
|
||||
error: true,
|
||||
@ -271,7 +280,16 @@ chrome.runtime.onMessage.addListener((message: RequestArguments, sender, sendRes
|
||||
}
|
||||
break
|
||||
}
|
||||
case ('personal_sign' || 'eth_sign'): {
|
||||
case 'signTypedData':
|
||||
case 'eth_signTypedData':
|
||||
case 'signTypedData_v1':
|
||||
case 'eth_signTypedData_v1':
|
||||
case 'signTypedData_v3':
|
||||
case 'eth_signTypedData_v3':
|
||||
case 'signTypedData_v4':
|
||||
case 'eth_signTypedData_v4':
|
||||
case 'personal_sign':
|
||||
case 'eth_sign': {
|
||||
try {
|
||||
|
||||
const account = await getSelectedAccount()
|
||||
@ -286,11 +304,22 @@ chrome.runtime.onMessage.addListener((message: RequestArguments, sender, sendRes
|
||||
return
|
||||
}
|
||||
|
||||
const isTypedSigned = [
|
||||
'signTypedData',
|
||||
'eth_signTypedData',
|
||||
'signTypedData_v1',
|
||||
'eth_signTypedData_v1',
|
||||
'signTypedData_v3',
|
||||
'eth_signTypedData_v3',
|
||||
'signTypedData_v4',
|
||||
'eth_signTypedData_v4'].includes(message?.method);
|
||||
const signMsgData = isTypedSigned ? String(message?.params?.[1] ?? '' ) : String(message?.params?.[0] ?? '' );
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
chrome.windows.create({
|
||||
height: 450,
|
||||
width: 400,
|
||||
url: chrome.runtime.getURL(`index.html?route=sign-msg¶m=${String(message?.params?.[0] ?? '' )}&rid=${String(message?.resId ?? '')}`),
|
||||
url: chrome.runtime.getURL(`index.html?route=sign-msg¶m=${signMsgData}&rid=${String(message?.resId ?? '')}`),
|
||||
type: 'popup'
|
||||
}).then((win) => {
|
||||
userReject[String(win.id)] = reject
|
||||
@ -300,16 +329,22 @@ chrome.runtime.onMessage.addListener((message: RequestArguments, sender, sendRes
|
||||
|
||||
})
|
||||
sendResponse(
|
||||
await signMsg(String(message?.params?.[0]) ?? '' )
|
||||
isTypedSigned ?
|
||||
await signTypedData(signMsgData):
|
||||
await signMsg(signMsgData)
|
||||
)
|
||||
} catch {
|
||||
const settings = await getSettings()
|
||||
if(settings.encryptAfterEveryTx) {
|
||||
clearPk()
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
sendResponse({
|
||||
error: true,
|
||||
code: rpcError.USER_REJECTED,
|
||||
message: 'User Rejected Signature'
|
||||
})
|
||||
}
|
||||
|
||||
break
|
||||
}
|
||||
// NON Standard metamask API
|
||||
|
@ -150,7 +150,7 @@ export const clearPk = async (): Promise<void> => {
|
||||
return a
|
||||
})
|
||||
accounts = await Promise.all(accProm)
|
||||
await replaceAccounts(accounts)
|
||||
await Promise.all([replaceAccounts(accounts), saveSelectedAccount(accounts[0])])
|
||||
}
|
||||
|
||||
export const hexTostr = (hexStr: string) =>
|
||||
|
@ -7,6 +7,20 @@ export const signMsg = async (msg: string) => {
|
||||
return await wallet.signMessage( msg.startsWith('0x') ? ethers.utils.arrayify(msg): msg)
|
||||
}
|
||||
|
||||
export const signTypedData = async (msg: string) => {
|
||||
const account = await getSelectedAccount()
|
||||
const wallet = new ethers.Wallet(account.pk)
|
||||
const parsedMsg = JSON.parse(msg)
|
||||
if(parsedMsg?.primaryType) {
|
||||
if(parsedMsg.primaryType in parsedMsg.types){
|
||||
parsedMsg.types = {
|
||||
[parsedMsg.primaryType]: parsedMsg.types[parsedMsg.primaryType]
|
||||
}
|
||||
}
|
||||
}
|
||||
return await wallet._signTypedData(parsedMsg.domain, parsedMsg.types, parsedMsg.message)
|
||||
}
|
||||
|
||||
export const getBalance = async () =>{
|
||||
const account = await getSelectedAccount()
|
||||
const network = await getSelectedNetwork()
|
||||
@ -38,6 +52,23 @@ export const estimateGas = async ({to = '', from = '', data = '', value = '0x0'
|
||||
return await provider.estimateGas({to, from, data, value})
|
||||
}
|
||||
|
||||
export const evmCall = async ({to = '', from = '', data = '', value = '0x0' }: {to: string, from: string, data: string, value: string}) => {
|
||||
const network = await getSelectedNetwork()
|
||||
const provider = new ethers.providers.JsonRpcProvider(network.rpc)
|
||||
return await provider.call({to, from, data, value})
|
||||
}
|
||||
|
||||
export const getTxByHash = async (hash: string) => {
|
||||
const network = await getSelectedNetwork()
|
||||
const provider = new ethers.providers.JsonRpcProvider(network.rpc)
|
||||
return await provider.getTransaction(hash)
|
||||
}
|
||||
|
||||
export const getTxReceipt = async (hash: string) => {
|
||||
const network = await getSelectedNetwork()
|
||||
const provider = new ethers.providers.JsonRpcProvider(network.rpc)
|
||||
return await provider.getTransactionReceipt(hash)
|
||||
}
|
||||
|
||||
export const sendTransaction = async ({ data= '', gas='0x0', to='', from='', value='0x0', gasPrice='0x0'}:
|
||||
{to: string, from: string, data: string, value: string, gas: string, gasPrice: string},
|
||||
|
@ -19,7 +19,7 @@
|
||||
</ion-item>
|
||||
<ion-item v-if="item.chainId"><b style="margin-right: 0.5rem">ChainId:</b> {{ item.chainId }}</ion-item>
|
||||
<ion-item v-if="item.webiste"><b style="margin-right: 0.5rem">Website:</b> {{ item.webiste }}</ion-item>
|
||||
<ion-item v-if="item.txUrl"><b style="margin-right: 0.5rem">ViewTx:</b> <a :href="item.txUrl">LINK</a></ion-item>
|
||||
<ion-item v-if="item.txUrl"><b style="margin-right: 0.5rem">ViewTx:</b> <a href="#" @click="openTab(item.txUrl as string)">LINK</a></ion-item>
|
||||
</ion-list>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
@ -50,7 +50,7 @@
|
||||
<script lang="ts">
|
||||
import { defineComponent, Ref, ref } from "vue";
|
||||
import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar, onIonViewWillEnter, IonItem, IonList, IonToast, IonLoading, IonButton, IonIcon } from "@ionic/vue";
|
||||
import { getHistory, copyAddress, wipeHistory } from '@/utils/platform'
|
||||
import { getHistory, copyAddress, wipeHistory, openTab } from '@/utils/platform'
|
||||
import type { HistoryItem } from '@/extension/types'
|
||||
|
||||
import { copyOutline } from "ionicons/icons";
|
||||
@ -85,7 +85,8 @@ export default defineComponent({
|
||||
getToastRef,
|
||||
toastState,
|
||||
copyOutline,
|
||||
onWipeHistory
|
||||
onWipeHistory,
|
||||
openTab
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -296,7 +296,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
const changePermaLock = async () => {
|
||||
settings.s.lockOutEnabled = !settings.s.encryptAfterEveryTx
|
||||
settings.s.encryptAfterEveryTx = !settings.s.encryptAfterEveryTx
|
||||
updateKey.value++
|
||||
await saveSettings()
|
||||
defaultAccordionOpen.value = "1"
|
||||
|
@ -57,7 +57,7 @@ import {
|
||||
import { hexTostr } from "@/utils/platform";
|
||||
import { approve, walletPing } from "@/extension/userRequest";
|
||||
import { useRoute } from "vue-router";
|
||||
import { getSelectedAccount, unBlockLockout, blockLockout, clearPk, getSettings } from "@/utils/platform";
|
||||
import { getSelectedAccount, unBlockLockout, blockLockout } from "@/utils/platform";
|
||||
import UnlockModal from "@/views/UnlockModal.vue";
|
||||
|
||||
export default defineComponent({
|
||||
@ -83,7 +83,6 @@ export default defineComponent({
|
||||
const alertMsg = ref("");
|
||||
const timerReject = ref(140);
|
||||
let interval: any;
|
||||
let pSettings = getSettings()
|
||||
|
||||
const onCancel = () => {
|
||||
window.close();
|
||||
@ -126,17 +125,12 @@ export default defineComponent({
|
||||
const onSign = async () => {
|
||||
loading.value = true;
|
||||
const selectedAccount = await getSelectedAccount();
|
||||
loading.value = false;
|
||||
if ((selectedAccount.pk ?? "").length !== 66) {
|
||||
const modalResult = await openModal();
|
||||
if (modalResult) {
|
||||
unBlockLockout();
|
||||
if(!pSettings) {
|
||||
pSettings = getSettings()
|
||||
}
|
||||
const settings = await pSettings
|
||||
if(settings.encryptAfterEveryTx) {
|
||||
clearPk()
|
||||
}
|
||||
loading.value = true
|
||||
approve(rid);
|
||||
} else {
|
||||
onCancel();
|
||||
|
@ -157,7 +157,7 @@ import {
|
||||
import { ethers } from "ethers";
|
||||
import { approve, walletPing, walletSendData } from "@/extension/userRequest";
|
||||
import { useRoute } from "vue-router";
|
||||
import { getSelectedNetwork, getUrl, getPrices, numToHexStr, blockLockout, unBlockLockout, getSelectedAccount, strToHex, getSettings, clearPk } from '@/utils/platform'
|
||||
import { getSelectedNetwork, getUrl, getPrices, numToHexStr, blockLockout, unBlockLockout, getSelectedAccount, strToHex } from '@/utils/platform'
|
||||
import { getBalance, getGasPrice, estimateGas } from '@/utils/wallet'
|
||||
import type { Network } from '@/extension/types'
|
||||
import { mainNets } from "@/utils/networks";
|
||||
@ -209,7 +209,6 @@ export default defineComponent({
|
||||
const gasPriceModal = ref(false)
|
||||
const inGasPrice = ref(0)
|
||||
const inGasLimit = ref(0)
|
||||
let pSettings = getSettings()
|
||||
|
||||
let interval = 0
|
||||
const bars = ref(0)
|
||||
@ -246,13 +245,7 @@ export default defineComponent({
|
||||
const modalResult = await openModal()
|
||||
if(modalResult) {
|
||||
unBlockLockout()
|
||||
if(!pSettings) {
|
||||
pSettings = getSettings()
|
||||
}
|
||||
const settings = await pSettings
|
||||
if(settings.encryptAfterEveryTx) {
|
||||
clearPk()
|
||||
}
|
||||
loading.value = true
|
||||
approve(rid)
|
||||
}else {
|
||||
onCancel()
|
||||
|
@ -2,13 +2,13 @@
|
||||
<ion-page>
|
||||
<ion-header>
|
||||
<ion-toolbar>
|
||||
<ion-title>Contract Error</ion-title>
|
||||
<ion-title>Wallet Error</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content class="ion-padding">
|
||||
<ion-item>
|
||||
<ion-label>Transaction was aboreted before being sent</ion-label>
|
||||
<ion-label>Operation Aborted</ion-label>
|
||||
</ion-item>
|
||||
<ion-item>
|
||||
<ion-label>Error:</ion-label>
|
||||
@ -71,7 +71,6 @@ export default defineComponent({
|
||||
const route = useRoute();
|
||||
const error = decodeURIComponent((route.params?.param as string) ?? "");
|
||||
const loading = ref(true);
|
||||
const contract = (route.params?.contract as string) ?? "";
|
||||
|
||||
const onCancel = () => {
|
||||
window.close();
|
||||
@ -84,7 +83,6 @@ export default defineComponent({
|
||||
|
||||
return {
|
||||
onCancel,
|
||||
contract,
|
||||
loading,
|
||||
error,
|
||||
};
|
||||
|
298
yarn.lock
298
yarn.lock
@ -519,6 +519,13 @@
|
||||
optionalDependencies:
|
||||
"@vitejs/plugin-react" ">=1.2.0"
|
||||
|
||||
"@cspotcode/source-map-support@^0.8.0":
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
|
||||
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
|
||||
dependencies:
|
||||
"@jridgewell/trace-mapping" "0.3.9"
|
||||
|
||||
"@esbuild/android-arm@0.15.9":
|
||||
version "0.15.9"
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431"
|
||||
@ -1277,6 +1284,14 @@
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
|
||||
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
||||
|
||||
"@jridgewell/trace-mapping@0.3.9":
|
||||
version "0.3.9"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
|
||||
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
|
||||
dependencies:
|
||||
"@jridgewell/resolve-uri" "^3.0.3"
|
||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||
|
||||
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9":
|
||||
version "0.3.15"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774"
|
||||
@ -1361,6 +1376,26 @@
|
||||
resolved "https://registry.yarnpkg.com/@stencil/core/-/core-2.16.1.tgz#f6752026af72a10356d5b1f27e2db6b1ee0c730f"
|
||||
integrity sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==
|
||||
|
||||
"@tsconfig/node10@^1.0.7":
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
|
||||
integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
|
||||
|
||||
"@tsconfig/node12@^1.0.7":
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
|
||||
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
|
||||
|
||||
"@tsconfig/node14@^1.0.0":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
|
||||
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
|
||||
|
||||
"@tsconfig/node16@^1.0.2":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
|
||||
integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
|
||||
|
||||
"@types/babel__core@^7.1.14":
|
||||
version "7.1.19"
|
||||
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460"
|
||||
@ -1779,12 +1814,12 @@ acorn-jsx@^5.3.2:
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
||||
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||
|
||||
acorn-walk@^8.2.0:
|
||||
acorn-walk@^8.1.1, acorn-walk@^8.2.0:
|
||||
version "8.2.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
|
||||
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
|
||||
|
||||
acorn@^8.8.0:
|
||||
acorn@^8.4.1, acorn@^8.8.0:
|
||||
version "8.8.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
|
||||
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
|
||||
@ -1843,6 +1878,40 @@ anymatch@^3.0.3, anymatch@~3.1.2:
|
||||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
archiver-utils@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2"
|
||||
integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==
|
||||
dependencies:
|
||||
glob "^7.1.4"
|
||||
graceful-fs "^4.2.0"
|
||||
lazystream "^1.0.0"
|
||||
lodash.defaults "^4.2.0"
|
||||
lodash.difference "^4.5.0"
|
||||
lodash.flatten "^4.4.0"
|
||||
lodash.isplainobject "^4.0.6"
|
||||
lodash.union "^4.6.0"
|
||||
normalize-path "^3.0.0"
|
||||
readable-stream "^2.0.0"
|
||||
|
||||
archiver@^5.3.1:
|
||||
version "5.3.1"
|
||||
resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6"
|
||||
integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==
|
||||
dependencies:
|
||||
archiver-utils "^2.1.0"
|
||||
async "^3.2.3"
|
||||
buffer-crc32 "^0.2.1"
|
||||
readable-stream "^3.6.0"
|
||||
readdir-glob "^1.0.0"
|
||||
tar-stream "^2.2.0"
|
||||
zip-stream "^4.1.0"
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
||||
|
||||
argparse@^1.0.7:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
|
||||
@ -1865,6 +1934,11 @@ astral-regex@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
|
||||
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
|
||||
|
||||
async@^3.2.3:
|
||||
version "3.2.4"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
|
||||
integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
|
||||
|
||||
at-least-node@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
||||
@ -1940,7 +2014,7 @@ balanced-match@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
base64-js@^1.5.1:
|
||||
base64-js@^1.3.1, base64-js@^1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||
@ -1960,6 +2034,15 @@ binary-extensions@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
|
||||
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
|
||||
|
||||
bl@^4.0.3:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
|
||||
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
|
||||
dependencies:
|
||||
buffer "^5.5.0"
|
||||
inherits "^2.0.4"
|
||||
readable-stream "^3.4.0"
|
||||
|
||||
bn.js@^4.11.9:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
|
||||
@ -1990,6 +2073,13 @@ brace-expansion@^1.1.7:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
||||
brace-expansion@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
||||
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
braces@^3.0.2, braces@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
|
||||
@ -2026,7 +2116,7 @@ bser@2.1.1:
|
||||
dependencies:
|
||||
node-int64 "^0.4.0"
|
||||
|
||||
buffer-crc32@~0.2.3:
|
||||
buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3:
|
||||
version "0.2.13"
|
||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==
|
||||
@ -2036,6 +2126,14 @@ buffer-from@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
||||
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
||||
|
||||
buffer@^5.5.0:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
|
||||
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
||||
dependencies:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.1.13"
|
||||
|
||||
call-bind@^1.0.0, call-bind@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
|
||||
@ -2189,6 +2287,16 @@ commander@^9.3.0:
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c"
|
||||
integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==
|
||||
|
||||
compress-commons@^4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d"
|
||||
integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==
|
||||
dependencies:
|
||||
buffer-crc32 "^0.2.13"
|
||||
crc32-stream "^4.0.2"
|
||||
normalize-path "^3.0.0"
|
||||
readable-stream "^3.6.0"
|
||||
|
||||
concat-map@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||
@ -2216,6 +2324,29 @@ core-js@^3.25.2:
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.2.tgz#2d3670c1455432b53fa780300a6fc1bd8304932c"
|
||||
integrity sha512-YB4IAT1bjEfxTJ1XYy11hJAKskO+qmhuDBM8/guIfMz4JvdsAQAqvyb97zXX7JgSrfPLG5mRGFWJwJD39ruq2A==
|
||||
|
||||
core-util-is@~1.0.0:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
|
||||
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
||||
|
||||
crc-32@^1.2.0:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
|
||||
integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
|
||||
|
||||
crc32-stream@^4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007"
|
||||
integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==
|
||||
dependencies:
|
||||
crc-32 "^1.2.0"
|
||||
readable-stream "^3.4.0"
|
||||
|
||||
create-require@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
|
||||
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
|
||||
|
||||
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||
@ -2303,6 +2434,11 @@ diff-sequences@^29.0.0:
|
||||
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.0.0.tgz#bae49972ef3933556bcb0800b72e8579d19d9e4f"
|
||||
integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||
|
||||
dir-glob@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
|
||||
@ -2382,6 +2518,13 @@ emoji-regex@^8.0.0:
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
|
||||
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
|
||||
|
||||
end-of-stream@^1.4.1:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
||||
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
entities@^4.2.0, entities@^4.3.0, entities@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
|
||||
@ -2910,6 +3053,11 @@ for-each@^0.3.3:
|
||||
dependencies:
|
||||
is-callable "^1.1.3"
|
||||
|
||||
fs-constants@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
|
||||
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
|
||||
|
||||
fs-extra@^10.0.1:
|
||||
version "10.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
|
||||
@ -3154,6 +3302,11 @@ human-signals@^2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
|
||||
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
|
||||
|
||||
ieee754@^1.1.13:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
|
||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||
|
||||
ignore@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
|
||||
@ -3193,7 +3346,7 @@ inflight@^1.0.4:
|
||||
once "^1.3.0"
|
||||
wrappy "1"
|
||||
|
||||
inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.4:
|
||||
inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
@ -3383,6 +3536,11 @@ is-wsl@^2.2.0:
|
||||
dependencies:
|
||||
is-docker "^2.0.0"
|
||||
|
||||
isarray@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
||||
|
||||
isexe@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||
@ -3868,6 +4026,13 @@ kleur@^4.1.4:
|
||||
resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
|
||||
integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
|
||||
|
||||
lazystream@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638"
|
||||
integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==
|
||||
dependencies:
|
||||
readable-stream "^2.0.5"
|
||||
|
||||
leven@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
|
||||
@ -3900,6 +4065,26 @@ locate-path@^6.0.0:
|
||||
dependencies:
|
||||
p-locate "^5.0.0"
|
||||
|
||||
lodash.defaults@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
|
||||
integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==
|
||||
|
||||
lodash.difference@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c"
|
||||
integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==
|
||||
|
||||
lodash.flatten@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
|
||||
integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==
|
||||
|
||||
lodash.isplainobject@^4.0.6:
|
||||
version "4.0.6"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
|
||||
integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
|
||||
|
||||
lodash.memoize@4.x:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
|
||||
@ -3910,6 +4095,11 @@ lodash.merge@^4.6.2:
|
||||
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
|
||||
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
|
||||
|
||||
lodash.union@^4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"
|
||||
integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==
|
||||
|
||||
lodash@^4.17.21:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
@ -3943,7 +4133,7 @@ make-dir@^3.0.0:
|
||||
dependencies:
|
||||
semver "^6.0.0"
|
||||
|
||||
make-error@1.x:
|
||||
make-error@1.x, make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||
@ -3995,6 +4185,13 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimatch@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
|
||||
integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
minipass@^3.0.0:
|
||||
version "3.3.4"
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
|
||||
@ -4101,7 +4298,7 @@ object.assign@^4.1.4:
|
||||
has-symbols "^1.0.3"
|
||||
object-keys "^1.1.1"
|
||||
|
||||
once@^1.3.0:
|
||||
once@^1.3.0, once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
|
||||
@ -4292,6 +4489,11 @@ pretty-format@^29.0.0, pretty-format@^29.0.3:
|
||||
ansi-styles "^5.0.0"
|
||||
react-is "^18.0.0"
|
||||
|
||||
process-nextick-args@~2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
||||
|
||||
prompts@^2.0.1, prompts@^2.4.2:
|
||||
version "2.4.2"
|
||||
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
|
||||
@ -4330,7 +4532,7 @@ react-refresh@^0.14.0:
|
||||
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
|
||||
integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
|
||||
|
||||
readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.5.0:
|
||||
readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
|
||||
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
|
||||
@ -4339,6 +4541,26 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.5.0:
|
||||
string_decoder "^1.1.1"
|
||||
util-deprecate "^1.0.1"
|
||||
|
||||
readable-stream@^2.0.0, readable-stream@^2.0.5:
|
||||
version "2.3.7"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
|
||||
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
|
||||
dependencies:
|
||||
core-util-is "~1.0.0"
|
||||
inherits "~2.0.3"
|
||||
isarray "~1.0.0"
|
||||
process-nextick-args "~2.0.0"
|
||||
safe-buffer "~5.1.1"
|
||||
string_decoder "~1.1.1"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readdir-glob@^1.0.0:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.2.tgz#b185789b8e6a43491635b6953295c5c5e3fd224c"
|
||||
integrity sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==
|
||||
dependencies:
|
||||
minimatch "^5.1.0"
|
||||
|
||||
readdirp@~3.6.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
|
||||
@ -4441,7 +4663,7 @@ safe-buffer@^5.1.2, safe-buffer@~5.2.0:
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
||||
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||
|
||||
safe-buffer@~5.1.1:
|
||||
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
@ -4633,6 +4855,13 @@ string_decoder@^1.1.1:
|
||||
dependencies:
|
||||
safe-buffer "~5.2.0"
|
||||
|
||||
string_decoder@~1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
|
||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
||||
@ -4689,6 +4918,17 @@ supports-preserve-symlinks-flag@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
||||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
||||
|
||||
tar-stream@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
|
||||
integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
|
||||
dependencies:
|
||||
bl "^4.0.3"
|
||||
end-of-stream "^1.4.1"
|
||||
fs-constants "^1.0.0"
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^3.1.1"
|
||||
|
||||
tar@^6.1.11:
|
||||
version "6.1.11"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621"
|
||||
@ -4766,6 +5006,25 @@ ts-jest@^29.0.1:
|
||||
semver "7.x"
|
||||
yargs-parser "^21.0.1"
|
||||
|
||||
ts-node@^10.9.1:
|
||||
version "10.9.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
|
||||
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
|
||||
dependencies:
|
||||
"@cspotcode/source-map-support" "^0.8.0"
|
||||
"@tsconfig/node10" "^1.0.7"
|
||||
"@tsconfig/node12" "^1.0.7"
|
||||
"@tsconfig/node14" "^1.0.0"
|
||||
"@tsconfig/node16" "^1.0.2"
|
||||
acorn "^8.4.1"
|
||||
acorn-walk "^8.1.1"
|
||||
arg "^4.1.0"
|
||||
create-require "^1.1.0"
|
||||
diff "^4.0.1"
|
||||
make-error "^1.1.1"
|
||||
v8-compile-cache-lib "^3.0.1"
|
||||
yn "3.1.1"
|
||||
|
||||
tslib@^1.8.1:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
@ -4850,7 +5109,7 @@ uri-js@^4.2.2:
|
||||
dependencies:
|
||||
punycode "^2.1.0"
|
||||
|
||||
util-deprecate@^1.0.1, util-deprecate@^1.0.2:
|
||||
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
|
||||
@ -4867,6 +5126,11 @@ util@^0.12.4:
|
||||
safe-buffer "^5.1.2"
|
||||
which-typed-array "^1.1.2"
|
||||
|
||||
v8-compile-cache-lib@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
|
||||
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
|
||||
|
||||
v8-to-istanbul@^9.0.1:
|
||||
version "9.0.1"
|
||||
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
|
||||
@ -5060,7 +5324,21 @@ yauzl@^2.10.0:
|
||||
buffer-crc32 "~0.2.3"
|
||||
fd-slicer "~1.1.0"
|
||||
|
||||
yn@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
||||
|
||||
yocto-queue@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
|
||||
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
|
||||
|
||||
zip-stream@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79"
|
||||
integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==
|
||||
dependencies:
|
||||
archiver-utils "^2.1.0"
|
||||
compress-commons "^4.1.0"
|
||||
readable-stream "^3.6.0"
|
||||
|
Loading…
Reference in New Issue
Block a user