remove unused code

This commit is contained in:
CounterFire2023 2024-01-02 16:36:52 +08:00
parent a61247d344
commit f1a7b1f7e9
10 changed files with 480 additions and 379 deletions

240
docs/api.md Normal file
View File

@ -0,0 +1,240 @@
# Task相关接口
### 说明
1. 通用返回格式, errcode=0 表示无错误
2. 如无特别说明, 以下接口的 Response 格式指的是 data 字段
3. 接口名中带\*的表示, 需要验证 token, token 可以设置 header 的 Authorization: Bearer JWT_token, 或 Post body 的 token 字段, 或 Get 的 query token
```json
{
"errcode": Number,
"errmsg": String,
"data": {}
}
```
### 1. 钱包预登录
#### Request
- URL`/api/wallet/nonce?address=`
- 方法:`GET`
query param
| Name | Type | Desc |
| ------- | ------ | -------- |
| address | string | 钱包地址 |
#### Response
```json
{
"nonce": String,
"tips": String
}
```
### 2. 钱包登录
客户端在获得钱包地址后,须先调用预登录方法获取 nonce 和 tips, 然后调用钱包进行 EIP-721 签名.
登录成功后返回的 jwt 需要保存至本地存储, 再次载入后, 可解析并获取 exp 字段, 判断当前 token 是否已经过期
#### Request
- URL`/api/wallet/login`
- 方法:`POST`
- 头部:
- Content-type: application/json
- Body:
```json
{
"activity": String,
"signature": String,
"message": SiweMessage
}
```
SiweMessage说明: https://docs.login.xyz/sign-in-with-ethereum/quickstart-guide/creating-siwe-messages
#### Response
```json
{
"token": String,
}
```
### 3. 活动信息
#### Request
- URL`/api/activity/:id`
- 方法:`GET`
- 参数:
- `id`当前活动的ID
#### Response
```js
{
"_id": "TwitterConnect", // 任务id
"name": "活动名称",
"description": "活动描述",
"tasks": [ // 该活动需要完成的任务
{
"id": "任务id",
"title": "任务名",
"desc": "任务描述"
}
],
"startTime": 1702628292366, // 活动开始时间
"endTime": 1705220292366 // 活动结束时间
}
```
### 4. *用户任务进度
#### Request
- URL`/api/tasks/progress`
- 方法:`POST`
- 头部:
- Authorization: Bearer JWT_token
- Body: {}
#### Response
```js
[
{
"status": 2, // 任务状态, 0: 未开始, 1: 进行中, 2: 成功, 9: 失败
"id": "TwitterConnect", // 任务id
"timeStart": 1703150269527, // 任务开始时间
"data": { // 当前任务带的额外信息, 比如twitter的id和昵称等
"username": "zhl01",
"userid": "564269223"
},
"timeFinish": 1703150280059 // 任务结束时间
}
]
```
### 5.\* 开始某个任务
#### Request
- URL`/api/tasks/begin_task`
- 方法:`POST`
- 头部:
- Authorization: Bearer JWT_token
body:
```js
{
"task": "TwitterFollow" // 任务id
}
```
#### Response
```json
{
"status": 1, // 任务状态, 0: 未开始, 1: 进行中, 2: 成功, 9: 失败
"id": "TwitterFollow", // 任务id
"timeStart": 1703150294051 // 任务开始时间
}
```
### 6.\* 检查任务状态
#### Request
- URL`/api/tasks/check_task`
- 方法:`GET`
- 头部:
- Authorization: Bearer JWT_token
body:
```js
{
"task": "TwitterFollow" // 任务id
}
```
#### Response
```json
{
"status": 1, // 任务状态, 0: 未开始, 1: 进行中, 2: 成功, 9: 失败
"id": "TwitterFollow", // 任务id
"timeStart": 1703150294051, // 任务开始时间
"timeFinish": 1703151338598
}
```
### 6.\* 提交邀请码
#### Request
- URL`/api/activity/upload_invite_code`
- 方法:`GET`
- 头部:
- Authorization: Bearer JWT_token
body:
```js
{
"code": "邀请人的邀请码"
}
```
#### Response
> 只要不返回errcode, 即表示上传成功
```json
{}
```
### 7. 积分排行榜
#### Request
- URL`/api/activity/leaderboard/:activity/:page`
- 方法:`GET`
- 头部:
- Authorization: Bearer JWT_token
- 参数:
- `activity`当前活动的ID
- `page` (返回数据的分页序号, 0 开始)
> 默认返回50条记录, 如果要返回不同数量, query param传 limit
#### Response
```json
[
{
"rank": 1, // 排名
"address": "钱包地址",
"score": 获得的积分
}
]
```

View File

@ -26,7 +26,7 @@
"deepmerge": "^4.2.2", "deepmerge": "^4.2.2",
"dotenv": "^16.0.3", "dotenv": "^16.0.3",
"ethereumjs-util": "^7.1.5", "ethereumjs-util": "^7.1.5",
"ethers": "^6.9.0", "ethers": "^5.6.8",
"fast-rbac": "^1.3.0", "fast-rbac": "^1.3.0",
"fastify": "^4.15.0", "fastify": "^4.15.0",
"fastify-file-upload": "^3.0.0", "fastify-file-upload": "^3.0.0",

View File

@ -7,7 +7,6 @@ import { IncomingMessage, Server, ServerResponse } from 'http'
import { RouterMap } from 'decorators/router' import { RouterMap } from 'decorators/router'
import { mongoose } from '@typegoose/typegoose' import { mongoose } from '@typegoose/typegoose'
import logger from 'logger/logger' import logger from 'logger/logger'
import path from 'path'
import { RedisClient } from 'redis/RedisClient' import { RedisClient } from 'redis/RedisClient'
import NonceRecordSchedule from 'schedule/noncerecord.schedule' import NonceRecordSchedule from 'schedule/noncerecord.schedule'
@ -159,7 +158,7 @@ export class ApiServer {
self.setErrHandler() self.setErrHandler()
self.setFormatSend() self.setFormatSend()
self.initSchedules() self.initSchedules()
this.server.listen({ port: parseInt(process.env.API_PORT) }, (err: any, address: any) => { this.server.listen({ port: parseInt(process.env.API_PORT), host: process.env.API_HOST }, (err: any, address: any) => {
if (err) { if (err) {
logger.log(err) logger.log(err)
process.exit(0) process.exit(0)

View File

@ -51,6 +51,7 @@ export default class ActivityController extends BaseController {
return {} return {}
} }
@role(ROLE_ANON)
@router('get /api/activity/leaderboard/:activity/:page') @router('get /api/activity/leaderboard/:activity/:page')
async inviteCode(req) { async inviteCode(req) {
let user = req.user; let user = req.user;

View File

@ -83,7 +83,7 @@ const parseNextTask = async (
} }
export default class TasksController extends BaseController { export default class TasksController extends BaseController {
@router('get /api/tasks/progress') @router('post /api/tasks/progress')
async taskProgress(req) { async taskProgress(req) {
let user = req.user; let user = req.user;
let activity = req.activity; let activity = req.activity;

View File

@ -1,70 +0,0 @@
import { AsyncQueue, createAsyncQueue } from 'common/AsyncQueue'
import { singleton } from 'decorators/singleton'
import { DocumentType } from '@typegoose/typegoose'
import logger from 'logger/logger'
import { ClaimTaskClass } from 'models/ClaimTask'
import { addTask, getMintableCount } from 'service/ChainSvr'
const MAX_BATCH_COUNT = 20
/**
* let data = {
taskId: '1',
type: 2,
data: [
{
address: '0xd45A464a2412A2f83498d13635698a041b9dBe9b',
to: '0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1',
count: 10
},
],
}
*/
@singleton
export class ChainQueue {
private queue: AsyncQueue
constructor() {
this.queue = createAsyncQueue()
}
public addTask(task: DocumentType<ClaimTaskClass>) {
this.queue.push(async () => {
try {
if (task.totalCount === 0) {
task.status = 10
await task.save()
return
}
// datas: [{address: distributor's address, to: userAddress, count: number}]
const address = task.dAddress
const to = task.address
const batchs = Math.ceil(task.totalCount / MAX_BATCH_COUNT)
let datas: any = []
for (let i = 0; i < batchs; i++) {
datas.push({
address,
to,
type: 5,
count: Math.min(MAX_BATCH_COUNT, task.totalCount - i * MAX_BATCH_COUNT),
})
}
let reqData = {
taskId: task.id,
source: 'claim',
data: datas,
}
await addTask(reqData)
task.status = 1
await task.save()
} catch (err) {
logger.error('error add chain task: ')
logger.error(err)
}
})
}
}

View File

@ -1,221 +0,0 @@
import logger from 'logger/logger'
import { toBN } from './number.util'
import { BN } from 'ethereumjs-util'
import { RedisClient } from 'redis/RedisClient'
const ONE = toBN(1)
const TWO = toBN(2)
const queryRange = toBN(1000)
// 返回数据如果达到这个数值, 需要拆分块的区间, 重新获取
const RESULT_LIMIT_COUNT = 99
// 单个块event数量超过该值, 需要独立请求
const SPLIT_LIMIT_COUNT = 40
const blockTimeMap: Map<number, number> = new Map()
async function divQueryPassEvents({
contract,
event,
fromBlock,
toBlock,
options,
}: {
contract: any
event: string
fromBlock: BN
toBlock: BN
options?: any
}) {
const middle = fromBlock.add(toBlock).divRound(TWO)
const middlePlusOne = middle.add(ONE)
const firstHalfEvents = await getPastEvents({
contract,
event,
fromBlock,
toBlock: middle,
options,
})
const secondHalfEvents = await getPastEvents({
contract,
event,
fromBlock: middlePlusOne,
toBlock,
options,
})
return [...firstHalfEvents, ...secondHalfEvents]
}
/**
* 99, ,
* 1. , block返回数量超过设定值的,
* 2. fromBlock: 0, toBlock: 100, 5154
* 3. 0-50, 51-51, 52-53, 54-54, 54-100
* @param param0
* @returns
*/
async function splitQueryEvents({
contract,
event,
fromBlock,
toBlock,
options,
events,
}: {
contract: any
event: string
fromBlock: BN
toBlock: BN
options?: any
events: any[]
}) {
let countMap: Map<string, number> = new Map()
for (let event of events) {
countMap.inc(event.blockNumber, 1)
}
let blockArr: number[] = []
for (let [key, val] of countMap.entries()) {
if (val >= SPLIT_LIMIT_COUNT) {
blockArr.push(parseInt(key))
}
}
blockArr.sort((a, b) => a - b)
let results: any[] = []
let preBlock = fromBlock
for (let i = 0; i < blockArr.length; i++) {
const block = toBN(blockArr[i])
let subFromBlock = preBlock
let subToBlock = block
if (!preBlock.eq(block)) {
const partEvents0 = await getPastEvents({
contract,
event,
fromBlock: subFromBlock,
toBlock: subToBlock.sub(ONE),
options,
})
results = results.concat(partEvents0)
}
let partEvents1 = await getPastEvents({
contract,
event,
fromBlock: subToBlock,
toBlock: subToBlock,
options,
})
results = results.concat(partEvents1)
if (i === blockArr.length - 1) {
if (!subToBlock.eq(toBlock)) {
let partEvents2 = await getPastEvents({
contract,
event,
fromBlock: subToBlock.add(ONE),
toBlock: toBlock,
options,
})
results = results.concat(partEvents2)
}
}
preBlock = block.add(ONE)
}
return results
}
export async function getPastEvents({
contract,
event,
fromBlock,
toBlock,
options,
}: {
contract: any
event: string
fromBlock: BN
toBlock: BN
options?: any
}) {
logger.debug(`${contract.options.address}: ${event} from: ${fromBlock} to: ${toBlock}`)
let events
try {
events = await contract.getPastEvents(event, {
...options,
fromBlock,
toBlock,
})
if (events.length >= RESULT_LIMIT_COUNT) {
events = splitQueryEvents({
contract,
event,
fromBlock,
toBlock,
options,
events,
})
}
} catch (e) {
if (e.message && /query returned more than \d+ results/.test(e.message)) {
events = divQueryPassEvents({
contract,
event,
fromBlock,
toBlock,
options,
})
} else {
throw new Error(e)
}
}
return events
}
export function* getPastEventsIter({
contract,
event,
fromBlock,
toBlock,
options,
}: {
contract: any
event: string
fromBlock: number
toBlock: number
options?: any
}) {
const address = contract.options.address
const redisKey = `${address.toLowerCase()}_${event}`
logger.debug(`*getPastEventsIter: ${event} from: ${fromBlock} to: ${toBlock}`)
let from = toBN(fromBlock)
let to = toBN(fromBlock).add(queryRange)
const toBlockBN = toBN(toBlock)
while (to.lt(toBlockBN)) {
yield getPastEvents({ contract, event, fromBlock: from, toBlock: to, options })
from = to.add(ONE)
to = to.add(queryRange)
yield new RedisClient().set(redisKey, from + '')
}
yield getPastEvents({ contract, event, fromBlock: from, toBlock: toBlockBN, options })
yield new RedisClient().set(redisKey, toBlockBN.add(ONE) + '')
}
export async function processEvents(web3, iterator, processedEvent) {
for (const getPastEventPromise of iterator) {
const events = await getPastEventPromise
for (const event of events) {
if (event?.blockNumber) {
if (blockTimeMap.has(event.blockNumber)) {
event.timestamp = blockTimeMap.get(event.blockNumber)
} else {
const blockData = await web3.eth.getBlock(event.blockNumber)
event.timestamp = blockData.timestamp
blockTimeMap.set(event.blockNumber, blockData.timestamp)
}
}
await processedEvent(event)
}
}
}
export function clearTimeCache() {
blockTimeMap.clear()
}

View File

@ -1,4 +1,4 @@
import { IDCounter } from 'models/IDCounter'
export const ONE_DAY = 24 * 60 * 60 * 1000 export const ONE_DAY = 24 * 60 * 60 * 1000
export const NFT_BEGIN_DAY = new Date(2023, 4, 8) export const NFT_BEGIN_DAY = new Date(2023, 4, 8)
@ -22,18 +22,4 @@ export function daysBetween(date1: Date, date2: Date) {
return diffInDays return diffInDays
} }
/**
* nft的tokenid
* :
* 100 9999 00 0000001
* NFT类型
*/
export async function generateNftID(nfttype: number, channel: number) {
const days = daysBetween(new Date(), NFT_BEGIN_DAY)
const dayKey = (days + '').padStart(4, '0')
const channelKey = (channel + '').padStart(2, '0')
const idkey = nfttype + dayKey + channelKey
const idobj = await IDCounter.nextID(idkey)
const val = (idobj.seq + '').padStart(7, '0')
return idkey + val
}

View File

@ -3,8 +3,8 @@
{ {
"name": "web-task-svr", "name": "web-task-svr",
"script": "npm", "script": "npm",
"args": "run dev:api", "args": "run prod:api",
"cwd": "/home/kingsome/code/web_task_svr", "cwd": "/root/code/task-svr",
"max_memory_restart": "1024M", "max_memory_restart": "1024M",
"log_date_format": "YYYY-MM-DD HH:mm Z", "log_date_format": "YYYY-MM-DD HH:mm Z",
"watch": false, "watch": false,

298
yarn.lock
View File

@ -2,11 +2,6 @@
# yarn lockfile v1 # yarn lockfile v1
"@adraffy/ens-normalize@1.10.0":
version "1.10.0"
resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7"
integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==
"@babel/code-frame@7.12.11": "@babel/code-frame@7.12.11":
version "7.12.11" version "7.12.11"
resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz"
@ -81,9 +76,9 @@
"@ethereumjs/common" "^2.5.0" "@ethereumjs/common" "^2.5.0"
ethereumjs-util "^7.1.2" ethereumjs-util "^7.1.2"
"@ethersproject/abi@^5.6.3": "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449"
integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==
dependencies: dependencies:
"@ethersproject/address" "^5.7.0" "@ethersproject/address" "^5.7.0"
@ -96,7 +91,7 @@
"@ethersproject/properties" "^5.7.0" "@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0" "@ethersproject/strings" "^5.7.0"
"@ethersproject/abstract-provider@^5.7.0": "@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz"
integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==
@ -109,7 +104,7 @@
"@ethersproject/transactions" "^5.7.0" "@ethersproject/transactions" "^5.7.0"
"@ethersproject/web" "^5.7.0" "@ethersproject/web" "^5.7.0"
"@ethersproject/abstract-signer@^5.7.0": "@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz"
integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==
@ -120,7 +115,7 @@
"@ethersproject/logger" "^5.7.0" "@ethersproject/logger" "^5.7.0"
"@ethersproject/properties" "^5.7.0" "@ethersproject/properties" "^5.7.0"
"@ethersproject/address@^5.7.0": "@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz"
integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==
@ -131,14 +126,22 @@
"@ethersproject/logger" "^5.7.0" "@ethersproject/logger" "^5.7.0"
"@ethersproject/rlp" "^5.7.0" "@ethersproject/rlp" "^5.7.0"
"@ethersproject/base64@^5.7.0": "@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz"
integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==
dependencies: dependencies:
"@ethersproject/bytes" "^5.7.0" "@ethersproject/bytes" "^5.7.0"
"@ethersproject/bignumber@^5.7.0": "@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b"
integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==
dependencies:
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz"
integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==
@ -147,21 +150,37 @@
"@ethersproject/logger" "^5.7.0" "@ethersproject/logger" "^5.7.0"
bn.js "^5.2.1" bn.js "^5.2.1"
"@ethersproject/bytes@^5.7.0": "@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz"
integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==
dependencies: dependencies:
"@ethersproject/logger" "^5.7.0" "@ethersproject/logger" "^5.7.0"
"@ethersproject/constants@^5.7.0": "@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz"
integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==
dependencies: dependencies:
"@ethersproject/bignumber" "^5.7.0" "@ethersproject/bignumber" "^5.7.0"
"@ethersproject/hash@^5.7.0": "@ethersproject/contracts@5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e"
integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==
dependencies:
"@ethersproject/abi" "^5.7.0"
"@ethersproject/abstract-provider" "^5.7.0"
"@ethersproject/abstract-signer" "^5.7.0"
"@ethersproject/address" "^5.7.0"
"@ethersproject/bignumber" "^5.7.0"
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/constants" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/transactions" "^5.7.0"
"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz"
integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==
@ -176,7 +195,44 @@
"@ethersproject/properties" "^5.7.0" "@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0" "@ethersproject/strings" "^5.7.0"
"@ethersproject/keccak256@^5.7.0": "@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf"
integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==
dependencies:
"@ethersproject/abstract-signer" "^5.7.0"
"@ethersproject/basex" "^5.7.0"
"@ethersproject/bignumber" "^5.7.0"
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/pbkdf2" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/sha2" "^5.7.0"
"@ethersproject/signing-key" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
"@ethersproject/transactions" "^5.7.0"
"@ethersproject/wordlists" "^5.7.0"
"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360"
integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==
dependencies:
"@ethersproject/abstract-signer" "^5.7.0"
"@ethersproject/address" "^5.7.0"
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/hdnode" "^5.7.0"
"@ethersproject/keccak256" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/pbkdf2" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/random" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
"@ethersproject/transactions" "^5.7.0"
aes-js "3.0.0"
scrypt-js "3.0.1"
"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz"
integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==
@ -184,26 +240,68 @@
"@ethersproject/bytes" "^5.7.0" "@ethersproject/bytes" "^5.7.0"
js-sha3 "0.8.0" js-sha3 "0.8.0"
"@ethersproject/logger@^5.7.0": "@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz"
integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
"@ethersproject/networks@^5.7.0": "@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0":
version "5.7.1" version "5.7.1"
resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz"
integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
dependencies: dependencies:
"@ethersproject/logger" "^5.7.0" "@ethersproject/logger" "^5.7.0"
"@ethersproject/properties@^5.7.0": "@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102"
integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==
dependencies:
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/sha2" "^5.7.0"
"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz"
integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==
dependencies: dependencies:
"@ethersproject/logger" "^5.7.0" "@ethersproject/logger" "^5.7.0"
"@ethersproject/rlp@^5.7.0": "@ethersproject/providers@5.7.2":
version "5.7.2"
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb"
integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==
dependencies:
"@ethersproject/abstract-provider" "^5.7.0"
"@ethersproject/abstract-signer" "^5.7.0"
"@ethersproject/address" "^5.7.0"
"@ethersproject/base64" "^5.7.0"
"@ethersproject/basex" "^5.7.0"
"@ethersproject/bignumber" "^5.7.0"
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/constants" "^5.7.0"
"@ethersproject/hash" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/networks" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/random" "^5.7.0"
"@ethersproject/rlp" "^5.7.0"
"@ethersproject/sha2" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
"@ethersproject/transactions" "^5.7.0"
"@ethersproject/web" "^5.7.0"
bech32 "1.1.4"
ws "7.4.6"
"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c"
integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==
dependencies:
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz"
integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==
@ -211,7 +309,16 @@
"@ethersproject/bytes" "^5.7.0" "@ethersproject/bytes" "^5.7.0"
"@ethersproject/logger" "^5.7.0" "@ethersproject/logger" "^5.7.0"
"@ethersproject/signing-key@^5.7.0": "@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb"
integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==
dependencies:
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
hash.js "1.1.7"
"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz"
integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==
@ -223,7 +330,19 @@
elliptic "6.5.4" elliptic "6.5.4"
hash.js "1.1.7" hash.js "1.1.7"
"@ethersproject/strings@^5.7.0": "@ethersproject/solidity@5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8"
integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==
dependencies:
"@ethersproject/bignumber" "^5.7.0"
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/keccak256" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/sha2" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz"
integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
@ -232,7 +351,7 @@
"@ethersproject/constants" "^5.7.0" "@ethersproject/constants" "^5.7.0"
"@ethersproject/logger" "^5.7.0" "@ethersproject/logger" "^5.7.0"
"@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": "@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0":
version "5.7.0" version "5.7.0"
resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz"
integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==
@ -247,7 +366,37 @@
"@ethersproject/rlp" "^5.7.0" "@ethersproject/rlp" "^5.7.0"
"@ethersproject/signing-key" "^5.7.0" "@ethersproject/signing-key" "^5.7.0"
"@ethersproject/web@^5.7.0": "@ethersproject/units@5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1"
integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==
dependencies:
"@ethersproject/bignumber" "^5.7.0"
"@ethersproject/constants" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/wallet@5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d"
integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==
dependencies:
"@ethersproject/abstract-provider" "^5.7.0"
"@ethersproject/abstract-signer" "^5.7.0"
"@ethersproject/address" "^5.7.0"
"@ethersproject/bignumber" "^5.7.0"
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/hash" "^5.7.0"
"@ethersproject/hdnode" "^5.7.0"
"@ethersproject/json-wallets" "^5.7.0"
"@ethersproject/keccak256" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/random" "^5.7.0"
"@ethersproject/signing-key" "^5.7.0"
"@ethersproject/transactions" "^5.7.0"
"@ethersproject/wordlists" "^5.7.0"
"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0":
version "5.7.1" version "5.7.1"
resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz"
integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==
@ -258,6 +407,17 @@
"@ethersproject/properties" "^5.7.0" "@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0" "@ethersproject/strings" "^5.7.0"
"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5"
integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==
dependencies:
"@ethersproject/bytes" "^5.7.0"
"@ethersproject/hash" "^5.7.0"
"@ethersproject/logger" "^5.7.0"
"@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
"@fastify/ajv-compiler@^3.5.0": "@fastify/ajv-compiler@^3.5.0":
version "3.5.0" version "3.5.0"
resolved "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz" resolved "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz"
@ -367,18 +527,6 @@
tweetnacl "^1.0.3" tweetnacl "^1.0.3"
tweetnacl-util "^0.15.1" tweetnacl-util "^0.15.1"
"@noble/curves@1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35"
integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==
dependencies:
"@noble/hashes" "1.3.2"
"@noble/hashes@1.3.2":
version "1.3.2"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39"
integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==
"@noble/hashes@^1.1.2": "@noble/hashes@^1.1.2":
version "1.3.3" version "1.3.3"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699"
@ -570,11 +718,6 @@
resolved "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz" resolved "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz"
integrity sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg== integrity sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg==
"@types/node@18.15.13":
version "18.15.13"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
"@types/node@^12.12.6": "@types/node@^12.12.6":
version "12.20.55" version "12.20.55"
resolved "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz" resolved "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz"
@ -746,10 +889,10 @@ acorn@^8.4.1:
resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz"
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
aes-js@4.0.0-beta.5: aes-js@3.0.0:
version "4.0.0-beta.5" version "3.0.0"
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==
ajv-formats@^2.1.1: ajv-formats@^2.1.1:
version "2.1.1" version "2.1.1"
@ -944,6 +1087,11 @@ bcrypt-pbkdf@^1.0.0:
dependencies: dependencies:
tweetnacl "^0.14.3" tweetnacl "^0.14.3"
bech32@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
bignumber.js@^9.0.0: bignumber.js@^9.0.0:
version "9.1.1" version "9.1.1"
resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz" resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz"
@ -1869,18 +2017,41 @@ ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2, ethereum
ethereum-cryptography "^0.1.3" ethereum-cryptography "^0.1.3"
rlp "^2.2.4" rlp "^2.2.4"
ethers@^6.9.0: ethers@^5.6.8:
version "6.9.0" version "5.7.2"
resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.9.0.tgz#a4534bdcdfde306aee94ef32f3d5c70d7e33fcb9" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e"
integrity sha512-pmfNyQzc2mseLe91FnT2vmNaTt8dDzhxZ/xItAV7uGsF4dI4ek2ufMu3rAkgQETL/TIs0GS5A+U05g9QyWnv3Q== integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==
dependencies: dependencies:
"@adraffy/ens-normalize" "1.10.0" "@ethersproject/abi" "5.7.0"
"@noble/curves" "1.2.0" "@ethersproject/abstract-provider" "5.7.0"
"@noble/hashes" "1.3.2" "@ethersproject/abstract-signer" "5.7.0"
"@types/node" "18.15.13" "@ethersproject/address" "5.7.0"
aes-js "4.0.0-beta.5" "@ethersproject/base64" "5.7.0"
tslib "2.4.0" "@ethersproject/basex" "5.7.0"
ws "8.5.0" "@ethersproject/bignumber" "5.7.0"
"@ethersproject/bytes" "5.7.0"
"@ethersproject/constants" "5.7.0"
"@ethersproject/contracts" "5.7.0"
"@ethersproject/hash" "5.7.0"
"@ethersproject/hdnode" "5.7.0"
"@ethersproject/json-wallets" "5.7.0"
"@ethersproject/keccak256" "5.7.0"
"@ethersproject/logger" "5.7.0"
"@ethersproject/networks" "5.7.1"
"@ethersproject/pbkdf2" "5.7.0"
"@ethersproject/properties" "5.7.0"
"@ethersproject/providers" "5.7.2"
"@ethersproject/random" "5.7.0"
"@ethersproject/rlp" "5.7.0"
"@ethersproject/sha2" "5.7.0"
"@ethersproject/signing-key" "5.7.0"
"@ethersproject/solidity" "5.7.0"
"@ethersproject/strings" "5.7.0"
"@ethersproject/transactions" "5.7.0"
"@ethersproject/units" "5.7.0"
"@ethersproject/wallet" "5.7.0"
"@ethersproject/web" "5.7.1"
"@ethersproject/wordlists" "5.7.0"
ethjs-unit@0.1.6: ethjs-unit@0.1.6:
version "0.1.6" version "0.1.6"
@ -3807,7 +3978,7 @@ saslprep@^1.0.0:
dependencies: dependencies:
sparse-bitfield "^3.0.3" sparse-bitfield "^3.0.3"
scrypt-js@^3.0.0, scrypt-js@^3.0.1: scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz"
integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==
@ -4312,11 +4483,6 @@ tsconfig@^7.0.0:
strip-bom "^3.0.0" strip-bom "^3.0.0"
strip-json-comments "^2.0.0" strip-json-comments "^2.0.0"
tslib@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
tslib@^1.11.1, tslib@^1.13.0, tslib@^1.8.1: tslib@^1.11.1, tslib@^1.13.0, tslib@^1.8.1:
version "1.14.1" version "1.14.1"
resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
@ -4811,10 +4977,10 @@ wrappy@1:
resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
ws@8.5.0: ws@7.4.6:
version "8.5.0" version "7.4.6"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
ws@^3.0.0: ws@^3.0.0:
version "3.3.3" version "3.3.3"