remove unused code
This commit is contained in:
parent
a61247d344
commit
f1a7b1f7e9
240
docs/api.md
Normal file
240
docs/api.md
Normal 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": 获得的积分
|
||||
}
|
||||
]
|
||||
```
|
@ -26,7 +26,7 @@
|
||||
"deepmerge": "^4.2.2",
|
||||
"dotenv": "^16.0.3",
|
||||
"ethereumjs-util": "^7.1.5",
|
||||
"ethers": "^6.9.0",
|
||||
"ethers": "^5.6.8",
|
||||
"fast-rbac": "^1.3.0",
|
||||
"fastify": "^4.15.0",
|
||||
"fastify-file-upload": "^3.0.0",
|
||||
|
@ -7,7 +7,6 @@ import { IncomingMessage, Server, ServerResponse } from 'http'
|
||||
import { RouterMap } from 'decorators/router'
|
||||
import { mongoose } from '@typegoose/typegoose'
|
||||
import logger from 'logger/logger'
|
||||
import path from 'path'
|
||||
import { RedisClient } from 'redis/RedisClient'
|
||||
import NonceRecordSchedule from 'schedule/noncerecord.schedule'
|
||||
|
||||
@ -159,7 +158,7 @@ export class ApiServer {
|
||||
self.setErrHandler()
|
||||
self.setFormatSend()
|
||||
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) {
|
||||
logger.log(err)
|
||||
process.exit(0)
|
||||
|
@ -51,6 +51,7 @@ export default class ActivityController extends BaseController {
|
||||
return {}
|
||||
}
|
||||
|
||||
@role(ROLE_ANON)
|
||||
@router('get /api/activity/leaderboard/:activity/:page')
|
||||
async inviteCode(req) {
|
||||
let user = req.user;
|
||||
|
@ -83,7 +83,7 @@ const parseNextTask = async (
|
||||
}
|
||||
export default class TasksController extends BaseController {
|
||||
|
||||
@router('get /api/tasks/progress')
|
||||
@router('post /api/tasks/progress')
|
||||
async taskProgress(req) {
|
||||
let user = req.user;
|
||||
let activity = req.activity;
|
||||
|
@ -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)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
@ -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, 51和54号块事件数量超标
|
||||
* 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()
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
import { IDCounter } from 'models/IDCounter'
|
||||
|
||||
|
||||
export const ONE_DAY = 24 * 60 * 60 * 1000
|
||||
export const NFT_BEGIN_DAY = new Date(2023, 4, 8)
|
||||
@ -22,18 +22,4 @@ export function daysBetween(date1: Date, date2: Date) {
|
||||
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
|
||||
}
|
||||
|
||||
|
@ -3,8 +3,8 @@
|
||||
{
|
||||
"name": "web-task-svr",
|
||||
"script": "npm",
|
||||
"args": "run dev:api",
|
||||
"cwd": "/home/kingsome/code/web_task_svr",
|
||||
"args": "run prod:api",
|
||||
"cwd": "/root/code/task-svr",
|
||||
"max_memory_restart": "1024M",
|
||||
"log_date_format": "YYYY-MM-DD HH:mm Z",
|
||||
"watch": false,
|
||||
|
298
yarn.lock
298
yarn.lock
@ -2,11 +2,6 @@
|
||||
# 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":
|
||||
version "7.12.11"
|
||||
resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz"
|
||||
@ -81,9 +76,9 @@
|
||||
"@ethereumjs/common" "^2.5.0"
|
||||
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"
|
||||
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==
|
||||
dependencies:
|
||||
"@ethersproject/address" "^5.7.0"
|
||||
@ -96,7 +91,7 @@
|
||||
"@ethersproject/properties" "^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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz"
|
||||
integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==
|
||||
@ -109,7 +104,7 @@
|
||||
"@ethersproject/transactions" "^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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz"
|
||||
integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==
|
||||
@ -120,7 +115,7 @@
|
||||
"@ethersproject/logger" "^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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz"
|
||||
integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==
|
||||
@ -131,14 +126,22 @@
|
||||
"@ethersproject/logger" "^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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz"
|
||||
integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==
|
||||
dependencies:
|
||||
"@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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz"
|
||||
integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==
|
||||
@ -147,21 +150,37 @@
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
bn.js "^5.2.1"
|
||||
|
||||
"@ethersproject/bytes@^5.7.0":
|
||||
"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz"
|
||||
integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.7.0"
|
||||
|
||||
"@ethersproject/constants@^5.7.0":
|
||||
"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz"
|
||||
integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==
|
||||
dependencies:
|
||||
"@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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz"
|
||||
integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==
|
||||
@ -176,7 +195,44 @@
|
||||
"@ethersproject/properties" "^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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz"
|
||||
integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==
|
||||
@ -184,26 +240,68 @@
|
||||
"@ethersproject/bytes" "^5.7.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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz"
|
||||
integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
|
||||
|
||||
"@ethersproject/networks@^5.7.0":
|
||||
"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0":
|
||||
version "5.7.1"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz"
|
||||
integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
|
||||
dependencies:
|
||||
"@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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz"
|
||||
integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==
|
||||
dependencies:
|
||||
"@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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz"
|
||||
integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==
|
||||
@ -211,7 +309,16 @@
|
||||
"@ethersproject/bytes" "^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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz"
|
||||
integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==
|
||||
@ -223,7 +330,19 @@
|
||||
elliptic "6.5.4"
|
||||
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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz"
|
||||
integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
|
||||
@ -232,7 +351,7 @@
|
||||
"@ethersproject/constants" "^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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz"
|
||||
integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==
|
||||
@ -247,7 +366,37 @@
|
||||
"@ethersproject/rlp" "^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"
|
||||
resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz"
|
||||
integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==
|
||||
@ -258,6 +407,17 @@
|
||||
"@ethersproject/properties" "^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":
|
||||
version "3.5.0"
|
||||
resolved "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz"
|
||||
@ -367,18 +527,6 @@
|
||||
tweetnacl "^1.0.3"
|
||||
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":
|
||||
version "1.3.3"
|
||||
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"
|
||||
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":
|
||||
version "12.20.55"
|
||||
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"
|
||||
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
|
||||
|
||||
aes-js@4.0.0-beta.5:
|
||||
version "4.0.0-beta.5"
|
||||
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873"
|
||||
integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==
|
||||
aes-js@3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
|
||||
integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==
|
||||
|
||||
ajv-formats@^2.1.1:
|
||||
version "2.1.1"
|
||||
@ -944,6 +1087,11 @@ bcrypt-pbkdf@^1.0.0:
|
||||
dependencies:
|
||||
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:
|
||||
version "9.1.1"
|
||||
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"
|
||||
rlp "^2.2.4"
|
||||
|
||||
ethers@^6.9.0:
|
||||
version "6.9.0"
|
||||
resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.9.0.tgz#a4534bdcdfde306aee94ef32f3d5c70d7e33fcb9"
|
||||
integrity sha512-pmfNyQzc2mseLe91FnT2vmNaTt8dDzhxZ/xItAV7uGsF4dI4ek2ufMu3rAkgQETL/TIs0GS5A+U05g9QyWnv3Q==
|
||||
ethers@^5.6.8:
|
||||
version "5.7.2"
|
||||
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e"
|
||||
integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==
|
||||
dependencies:
|
||||
"@adraffy/ens-normalize" "1.10.0"
|
||||
"@noble/curves" "1.2.0"
|
||||
"@noble/hashes" "1.3.2"
|
||||
"@types/node" "18.15.13"
|
||||
aes-js "4.0.0-beta.5"
|
||||
tslib "2.4.0"
|
||||
ws "8.5.0"
|
||||
"@ethersproject/abi" "5.7.0"
|
||||
"@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/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:
|
||||
version "0.1.6"
|
||||
@ -3807,7 +3978,7 @@ saslprep@^1.0.0:
|
||||
dependencies:
|
||||
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"
|
||||
resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz"
|
||||
integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==
|
||||
@ -4312,11 +4483,6 @@ tsconfig@^7.0.0:
|
||||
strip-bom "^3.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:
|
||||
version "1.14.1"
|
||||
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"
|
||||
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
|
||||
|
||||
ws@8.5.0:
|
||||
version "8.5.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
|
||||
integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
|
||||
ws@7.4.6:
|
||||
version "7.4.6"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
|
||||
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
|
||||
|
||||
ws@^3.0.0:
|
||||
version "3.3.3"
|
||||
|
Loading…
x
Reference in New Issue
Block a user